@unifold/connect-react-native 0.1.55 → 0.1.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +7 -2
- package/dist/index.d.ts +7 -2
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -121,5 +121,5 @@ This page will update automatically.`}),F>0&&jsxRuntime.jsxs(reactNative.Text,{s
|
|
|
121
121
|
check();
|
|
122
122
|
})();
|
|
123
123
|
true;
|
|
124
|
-
`}function Du({externalUserId:e,publishableKey:t,recipientAddress:r="",destinationChainType:o,destinationChainId:n,destinationTokenAddress:i,destinationTokenSymbol:s,enabled:a=true,user:l,prefilledEmail:c,preloadedWallets:p,onBack:g,onClose:k,onDepositSuccess:d,onDepositError:f,onExecutionsChange:S}){let{colors:h,fonts:w,components:v}=z(),I=v.input.borderRadius,x=v.input.borderWidth,P=v.button.borderRadius,m=v.card.borderRadius,u=l?.email?.trim(),T=u&&Iu.test(u)?u:null,b=`${t}:${e}`,A=_k,[O,F]=ta.useState("loading"),[B,W]=ta.useState(""),[N,Z]=ta.useState(""),[je,Y]=ta.useState(false),[rt,oe]=ta.useState([]),[ce,ae]=ta.useState(null),[te,ke]=ta.useState(null),[j,Ie]=ta.useState(""),[pt,Ge]=ta.useState(""),[Se,qe]=ta.useState(null),[ot,Ye]=ta.useState(false),[dt,st]=ta.useState(0),[Me,be]=ta.useState(""),[we,ze]=ta.useState(""),[ut,ht]=ta.useState(null),[xt,lr]=ta.useState(null),[Ue,me]=ta.useState(null),[Je,Qe]=ta.useState(null),[Ve,he]=ta.useState(false),[Ne,vt]=ta.useState(p??[]),[Vt,Ht]=ta.useState(null),[lt,er]=ta.useState(false),[Xe,yt]=ta.useState(false),[gt,De]=ta.useState(false),[at,X]=ta.useState(null),[Pe,_]=ta.useState(null),[C,M]=ta.useState(false),[q,J]=ta.useState(""),[K,_e]=ta.useState(""),[et,L]=ta.useState(null),[U,kt]=ta.useState(false),Le=N.length===10?`+1${N}`:"",Fe=Iu.test(B),bt=/^\+1\d{10}$/.test(Le),nt=ut??vk,ee=ta.useRef(true),vr=zo(O),ft=zo(we),tr=zo(B),Mt=zo(xt),qr=zo(Ue),Mr=zo(Je),li=zo(Ne),on=zo(Vt),yo=zo(Xe),Bo=zo(Pe),nn=zo(at),ko=zo(lt),na=zo(Ve),bo=zo(Le),Lt=zo(Fe),Qr=zo(bt),ne=zo(U),ue=ta.useRef(null),zt=ta.useRef(null),ur=ta.useRef(null),Go=ta.useRef(null),sn=ta.useRef(null),D=ta.useRef(null),$=ta.useRef(null),Te=ta.useRef(null),Ae=ta.useRef(null),He=ta.useRef(null),Ze=ta.useRef(null),Rt=ta.useRef(null),Tr=ta.useRef(null),Bt=ta.useRef(null),Kr=ta.useRef(null);ta.useEffect(()=>(ee.current=true,wn(),()=>{ee.current=false,wo();}),[]),ta.useEffect(()=>{let R=null;if(O==="emailInput"?R=Rt:O==="phoneInput"?R=Tr:O==="emailOtp"||O==="phoneOtp"?R=Bt:O==="limitUpgradeForm"&&(R=Kr),!R)return;let E=setTimeout(()=>R?.current?.focus(),300);return ()=>clearTimeout(E)},[O]);function wo(){ur.current&&clearTimeout(ur.current),ur.current=null,Go.current&&(Go.current.cancelled=true),Go.current=null,Bi(),D.current&&(D.current.cancelled=true),D.current=null,$.current&&clearInterval($.current),$.current=null,Ae.current&&clearTimeout(Ae.current),Ae.current=null,Ze.current&&clearTimeout(Ze.current),Ze.current=null;}function eo(){let R,E=on.current;if(E){let Q=E.destination_token_metadata?.chain_type;R=Q&&Wk.includes(Q)?Q:o;}else R=o;if(R)return li.current.find(Q=>Q.chain_type===R)}async function wn(){if(!a){F("disabled");return}p&&p.length>0?(vt(p),li.current=p):await Rr(),Te.current=Ln(),Yo(),await Eo();}async function Rr(){try{let R=await Zo({external_user_id:e,destination_chain_type:o??"ethereum",destination_chain_id:n,destination_token_address:i,recipient_address:r},t);if(!ee.current)return;vt(R.data),li.current=R.data;}catch{}}async function Ln(){if(!i||!n||!o)return;let R="US",E;try{let Q=await aa();R=(Q.alpha2||"US").toUpperCase(),E=Q.state&&Q.state.length>0?Q.state:void 0;}catch{}for(let Q=0;Q<My;Q++)try{let ge=await yc({token_address:i,chain_id:n,chain_type:o,country_code:R,subdivision_code:E},t);if(!ee.current)return;Ht(ge),on.current=ge;return}catch{if(!ee.current)return;Q<My-1&&await rd(Ek);}}async function Yo(){try{let R=await Rh(t);if(!ee.current)return;oe(R.agreements??[]);}catch{}}async function Eo(){let R=await Us.get(b),E=c&&Iu.test(c)?c:null;if(T){W(T),tr.current=T,Y(true);let Et=R&&R.email.toLowerCase()===T.toLowerCase()?om(R.phone):"";Z(Et);}else if(R){W(R.email),tr.current=R.email;let Et=om(R.phone);Z(Et),Y(true);}else Y(false),E&&(W(E),tr.current=E);if(!R){F(T?"phoneInput":"emailInput");return}if(T&&R.email.toLowerCase()!==T.toLowerCase()){bo.current="",Qr.current=false,F("phoneInput");return}let Q=om(R.phone),ge=Q.length===10?`+1${Q}`:"";if(bo.current=ge,Qr.current=/^\+1\d{10}$/.test(ge),Us.isOnrampTokenFresh(R)&&R.onrampToken&&R.onrampTokenExpiresAtMs!=null){let Et={token:R.onrampToken,token_type:"Bearer",expires_in:Math.max(0,Math.floor((R.onrampTokenExpiresAtMs-Date.now())/1e3))};lr(Et),Mt.current=Et;}let pr=Us.isPhoneVerificationFresh(R),cr=/^\+1\d{10}$/.test(ge)&&R.phone===ge&≺if(cr)try{let Et=await Sc(ge,t);Cn(Et);let Gr=fs(Et);if(Gr){ia(Gr,Et.upgradeStatus);return}}catch{}if(Mt.current!=null&&cr){F("amount");return}Iu.test(tr.current)&&/^\+1\d{10}$/.test(ge)?await xd():F("phoneInput");}function Cn(R){let E=null;for(let Q of R.limits){if(!Q.currency)continue;let ge=parseFloat(Q.remaining);Number.isFinite(ge)&&(E=E==null?ge:Math.min(E,ge));}E!=null&&ee.current&&ht(Math.max(0,E));}function fs(R){if(!R.limitReached)return null;switch(R.upgradeStatus){case zk:return "limitUpgradeIntro";case rm:return "limitUpgradeForm";case Uk:return "limitUpgradeSubmitting";case zy:return null;case void 0:return R.limitUpgradeOptions&&R.limitUpgradeOptions.length>0?"limitUpgradeIntro":"guestLimitReached";default:return "guestLimitReached"}}function Bn(){if(!Qr.current){F("guestLimitReached");return}(async()=>{try{let R=await Sc(bo.current,t);if(!ee.current)return;Cn(R);let E=fs(R);E?ia(E,R.upgradeStatus):Mt.current!=null?F("amount"):await xd();}catch{ee.current&&F("guestLimitReached");}})();}function ia(R,E){me(null),qr.current=null,Qe(null),Mr.current=null,er(false),ko.current=false,L(R==="limitUpgradeForm"&&E===rm?se.upgradeVerifyFailed:null),F(R),R==="limitUpgradeSubmitting"&&oh();}async function vp(){!Lt.current||!Qr.current||await xd();}async function xd(){F("submittingSession"),be("");try{let R=await Ih({email:tr.current,phone:bo.current,terms_accepted:!0,email_already_verified:!0},t),E=R.client_secret;if(!E)throw new Error("Missing required field: client_secret");await Fp();let Q=Md(R.email)?"phone":"email";if(await zd(R.id,Q,E,t),!ee.current)return;ae(R),ke(E),Rp(),F(Q==="phone"?"phoneOtp":"emailOtp");}catch(R){if(!ee.current)return;be(Bl(R)),F("phoneInput");}}async function Iw(){let R=ce,E=te;if(!(!R||!E||j.length!==Ru||ot)){qe(null),Ye(true);try{let Q=await Zp(R.id,"email",E,j,t);if(Md(Q.email)){if(await Fp({emailVerifiedAt:Q.email.verified_at}),await zd(Q.id,"phone",E,t),!ee.current)return;ae(Q),Ie(""),Rp(),Ye(!1),F("phoneOtp");}else {if(!ee.current)return;qe(se.incorrectCode),Ie(""),Ye(!1);}}catch(Q){if(!ee.current)return;qe(Bl(Q)),Ie(""),Ye(false);}}}async function Pw(){let R=ce,E=te;if(!(!R||!E||pt.length!==Ru||ot)){qe(null),Ye(true);try{let Q=await Zp(R.id,"phone",E,pt,t);if(Md(Q.phone)&&Q.status==="verified"){let ge=await Ph(Q.id,E,t);if(await Fp({emailVerifiedAt:Q.email.verified_at,phoneVerifiedAt:Q.phone.verified_at,onrampToken:ge.token,onrampTokenExpiresAtMs:Date.now()+ge.expires_in*1e3}),!ee.current)return;ae(Q),lr(ge),Mt.current=ge,Y(!0),Ge("");try{let pr=await Sc(bo.current,t);Cn(pr);let cr=fs(pr);if(cr){if(!ee.current)return;Ye(!1),ia(cr,pr.upgradeStatus);return}}catch{}if(!ee.current)return;Ye(!1),F("amount");}else {if(!ee.current)return;qe(se.incorrectCode),Ge(""),Ye(!1);}}catch(Q){if(!ee.current)return;qe(Bl(Q)),Ge(""),Ye(false);}}}function Fw(R){let E=ce,Q=te;!E||!Q||(async()=>{try{if(await zd(E.id,R?"email":"phone",Q,t),!ee.current)return;qe(null),Rp();}catch(ge){ee.current&&qe(Bl(ge));}})();}function Rp(){st(Ik),$.current&&clearInterval($.current),$.current=setInterval(()=>{st(R=>R<=1?($.current&&clearInterval($.current),$.current=null,0):R-1);},1e3);}function ja(R){let E=R;if(!(E===""||/^\d*\.?\d{0,2}$/.test(E))){let Gr=Mr.current??"";ze(Gr),ft.current=Gr;return}if(E.length>1&&E.startsWith("0")&&!E.startsWith("0.")&&(E=E.replace(/^0+/,""),E===""&&(E="0")),ze(E),ft.current=E,be(""),Mr.current===E&&qr.current!=null)return;let Q=parseFloat(E)||0,ge=E!==""&&Q>=A&&Q<=nt;Mr.current!==E&&(me(null),qr.current=null,Qe(null),Mr.current=null,er(false),ko.current=false),ur.current&&clearTimeout(ur.current),ur.current=null,Go.current&&(Go.current.cancelled=true),Go.current=null;let pr=Mt.current?.token;if(!ge||!pr){he(false);return}let cr={cancelled:false};Go.current=cr;let Et=E;ur.current=setTimeout(()=>{(async()=>{if(!cr.cancelled){he(true);try{await Aw(pr,Et,cr);}finally{ee.current&&Go.current===cr&&(qr.current!=null&&Mr.current===Et||he(false));}}})();},Pk);}function Dw(R){if(na.current)return;let E=ft.current;if(R==="\u232B"){E.length>0&&ja(E.slice(0,-1));return}if(R==="."){if(E.includes("."))return;ja(E===""?"0.":E+".");return}let Q=E.indexOf(".");if(Q>=0){if(E.length-(Q+1)>=2)return;ja(E+R);}else {let ge=E+R;for(;ge.length>1&&ge.startsWith("0");)ge=ge.slice(1);ja(ge);}}function Xm(){if(Mt.current==null||qr.current!=null)return;let R=parseFloat(ft.current)||0;ft.current!==""&&R>=A&&R<=nt&&ja(ft.current);}async function Aw(R,E,Q){if(Te.current&&await Te.current,Q.cancelled)return;let ge=!!i&&!!n&&!!o;if(on.current==null&&ge){let wt=Ln();if(Te.current=wt,await wt,Q.cancelled||!ee.current)return}let pr,cr,Et=on.current;if(Et)pr=Et.destination_currency,cr=Et.destination_network;else {if(!o||!n){if(!ee.current)return;be(se.destinationNotConfigured);return}let wt=Qk(o,n);if(!wt){if(!ee.current)return;be(ge?se.networkError:se.networkUnsupported);return}cr=wt,pr=(s??"USDC").toLowerCase();}let Gr=eo()?.address;if(!Gr){if(!ee.current)return;be(se.depositWalletUnavailable);return}let Yr=By("orsext");try{let wt=await Fh({source_currency:"usd",source_amount:E,destination_currency:pr,destination_network:cr,wallet_address:Gr,email:tr.current||T||void 0,external_id:Yr},R,t);if(Q.cancelled||!ee.current||E!==ft.current)return;me({url:wt.url}),qr.current={url:wt.url},Qe(E),Mr.current=E;}catch(wt){if(Q.cancelled||!ee.current)return;let Io=wt instanceof Error?wt.message:String(wt);if(Zk(wt)){let ms=await Us.get(b);if(ms&&(ms.onrampToken=null,ms.onrampTokenExpiresAtMs=null,await Us.set(b,ms)),!ee.current)return;lr(null),Mt.current=null,me(null),qr.current=null,Qe(null),Mr.current=null,Y(true),F("phoneInput");return}if(Jk(Io)){me(null),qr.current=null,Qe(null),Mr.current=null,be(""),Bn();return}me(null),qr.current=null,Qe(null),Mr.current=null,be(Bl(wt));}}function eh(R,E,Q){switch(R){case "unifold.pay_authorized":{if(vr.current!=="amount"||yo.current)return;yt(true),yo.current=true,Ip();break}case "unifold.pay_cancelled":{if(vr.current!=="amount"||!yo.current||Bo.current!=null||nn.current!=null)return;Bi(),De(false),ue.current=null,yt(false),yo.current=false;break}case "onramp_api.commit_success":case "onramp_api.polling_success":{if(vr.current!=="amount"||nn.current!=null)return;let ge=Bo.current;if(ge&&["succeeded","failed","refunded"].includes(ge.status))return;yo.current?sn.current==null&&Ip():(yt(true),yo.current=true,Ip());break}case "onramp_api.commit_error":{E&&["ERROR_CODE_GUEST_TRANSACTION_COUNT","ERROR_CODE_GUEST_DAILY_TRANSACTION_COUNT","ERROR_CODE_GUEST_TRANSACTION_LIMIT"].includes(E)?(Bi(),yt(false),yo.current=false,Bn()):th(Q);break}case "onramp_api.polling_error":case "onramp_api.polling_failed":{th(Q);break}}}function th(R){if(vr.current!=="amount")return;let E=Bo.current;if(E&&["succeeded","failed","refunded"].includes(E.status))return;Bi(),De(false),_(null),Bo.current=null,ue.current=null;let Q=R&&R.trim().length>0?R.trim():se.paymentErrorFallback;X(Q),nn.current=Q,yo.current||(yt(true),yo.current=true),f?.({message:Q});}function Bi(){sn.current&&(sn.current.cancelled=true),sn.current=null;}function Ip(){Bi(),De(false),X(null),nn.current=null;let R={cancelled:false};sn.current=R;let E=Date.now();(async()=>{let Q=E+Ak,ge=zt.current,pr=ge!=null;if(ge==null)for(let wt=0;wt<Ey&&!R.cancelled&&Date.now()<Q;wt++){if(ge=await rh(),R.cancelled)return;if(ge!=null){pr=wt===0;break}await rd(Wy);}if(R.cancelled)return;let cr=ge!=null&&pr,Et=cr?ge:new Set,Gr=cr?E-Vk:E;for(;!R.cancelled&&Date.now()<Q;){if(await Vw(R,Gr,Et),R.cancelled)return;let wt=eo()?.id;if(wt)try{await Cc({deposit_wallet_id:wt},t);}catch{}await rd(Ok);}if(R.cancelled||!ee.current)return;let Yr=Bo.current;Yr&&["succeeded","failed","refunded"].includes(Yr.status)||yo.current&&(De(true),f?.({message:"Timed out waiting for the deposit to be detected. It may still complete.",code:"polling_timeout"}));})();}async function rh(){try{let R=await ln(e,t,"deposit");return new Set(R.data.map(E=>E.id))}catch{return null}}async function Ow(){for(let R=0;R<Ey&&ee.current;R++){let E=await rh();if(!ee.current)return;if(E!=null){zt.current=E;return}await rd(Wy);}}async function Vw(R,E,Q){try{let pr=[...(await ln(e,t,"deposit")).data].sort((Gr,Yr)=>{let wt=Fu(Gr.created_at)??0;return (Fu(Yr.created_at)??0)-wt}),cr=eo()?.id,Et=pr.find(Gr=>{let Yr=ue.current;if(Yr)return Gr.id===Yr;let wt=Fu(Gr.created_at);return wt===null||wt<=E||!cr||Gr.deposit_wallet_id!==cr?!1:!Q.has(Gr.id)});if(!Et||R.cancelled||!ee.current)return;ue.current==null&&(ue.current=Et.id),_(Et),Bo.current=Et,S?.([Et]),Et.status==="succeeded"?(Bi(),yt(!1),yo.current=!1,F("success"),d?.({message:"Deposit completed successfully",executionId:Et.id,transaction:Et})):(Et.status==="failed"||Et.status==="refunded")&&(Bi(),yt(!1),yo.current=!1,F("success"),f?.({message:`Deposit ${Et.status}`}));}catch{}}function Pp(){_e(""),J("");}function Lw(){if(ne.current)return;let R=Hy(q);!R||!/^\d{4}$/.test(K)||(kt(true),ne.current=true,L(null),F("limitUpgradeSubmitting"),D.current&&(D.current.cancelled=true),D.current=null,(async()=>{try{await Dh({phone:bo.current,fields:{ssnLast4:K,dateOfBirth:R}},t);}catch(E){if(!ee.current)return;let Q=E instanceof Error?E.message:String(E);kt(false),ne.current=false,Xk(Q)?(Pp(),L(null),F("guestLimitReached")):(L(Bl(E)),F("limitUpgradeForm"));return}ee.current&&(kt(false),ne.current=false,oh());})());}function oh(){D.current&&(D.current.cancelled=true);let R={cancelled:false};D.current=R,Bw(R);}async function Bw(R){let E=Date.now(),Q=true;for(;Date.now()-E<Bk;){if(R.cancelled||(Q||await rd(Lk),Q=false,R.cancelled))return;let ge;try{ge=await Sc(bo.current,t);}catch{continue}if(R.cancelled||!ee.current)return;Cn(ge);let pr=ge.upgradeStatus,cr=ge.limitReached;if(pr===zy||!cr){let Et=Mt.current!=null;if(Pp(),L(null),Et)F("amount");else {if(R.cancelled)return;await xd();}return}if(pr===Nk){Pp(),L(null),F("guestLimitReached");return}if(pr===rm){_e(""),L(se.upgradeVerifyFailed),F("limitUpgradeForm");return}}R.cancelled||!ee.current||(L(null),F("limitUpgradeFailed"));}async function Fp(R){let E=await Us.get(b),ge=E?.phone===bo.current&&E?.email.toLowerCase()===tr.current.toLowerCase()?E:null,pr={email:tr.current,phone:bo.current,termsAcceptedAt:ge?.termsAcceptedAt??tx(),phoneVerifiedAt:R?.phoneVerifiedAt??ge?.phoneVerifiedAt??null,emailVerifiedAt:R?.emailVerifiedAt??ge?.emailVerifiedAt??null,onrampToken:R?.onrampToken??ge?.onrampToken??null,onrampTokenExpiresAtMs:R?.onrampTokenExpiresAtMs??ge?.onrampTokenExpiresAtMs??null};await Us.set(b,pr);}function nh(){if(Xe){Bi(),yt(false),yo.current=false,De(false),X(null),nn.current=null,_(null),Bo.current=null,ue.current=null,be(""),me(null),qr.current=null,Qe(null),Mr.current=null,er(false),ko.current=false,Xm();return}switch(O){case "phoneInput":je?g():F("emailInput");break;case "emailOtp":Ie(""),F("phoneInput");break;case "phoneOtp":Ge(""),F("phoneInput");break;case "checkingDeposit":Bi(),De(false),X(null),nn.current=null,me(null),qr.current=null,Qe(null),Mr.current=null,be(""),_(null),Bo.current=null,ue.current=null,F("amount");break;case "limitUpgradeForm":L(null),F("limitUpgradeIntro");break;default:g();break}}function Dp(){wo(),k();}let Ew=(()=>{if(Xe)return se.checkingHeaderTitle;switch(O){case "emailInput":case "phoneInput":case "submittingSession":return se.title;case "emailOtp":return se.emailOtpHeaderTitle;case "phoneOtp":return se.phoneHeaderTitle;case "amount":return se.amountHeaderTitle;case "checkingDeposit":return se.checkingHeaderTitle;case "guestLimitReached":case "limitUpgradeIntro":case "limitUpgradeFailed":return se.guestLimitHeaderTitle;case "limitUpgradeForm":case "limitUpgradeSubmitting":return se.upgradeHeaderTitle;default:return se.title}})(),Ww=(()=>{if(Xe)return true;switch(O){case "phoneInput":return !je;case "emailOtp":case "phoneOtp":case "checkingDeposit":case "limitUpgradeForm":return true;default:return false}})();function ci({title:R,enabled:E,loading:Q,onPress:ge}){return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:ge,disabled:!E,activeOpacity:.85,style:[V.primaryButton,{backgroundColor:E?h.primary:`${h.primary}80`,borderRadius:P}],children:[Q&&jsxRuntime.jsx(Ct,{size:18,strokeWidth:2,gradientFrom:h.primaryForeground,gradientTo:h.primaryForeground}),jsxRuntime.jsx(reactNative.Text,{style:[V.primaryButtonText,{color:h.primaryForeground,fontFamily:w.medium}],children:R})]})}function ih(){let R=rt.length>0?rt:Mk;return jsxRuntime.jsx(reactNative.View,{style:V.legalWrapper,children:jsxRuntime.jsxs(reactNative.Text,{style:[V.legalText,{color:h.foregroundMuted,fontFamily:w.regular}],children:[se.disclaimerPrefix,R.map((E,Q)=>{let ge="";return Q<R.length-2?ge=", ":Q===R.length-2&&(ge=", and "),jsxRuntime.jsxs(reactNative.Text,{children:[jsxRuntime.jsx(reactNative.Text,{style:{color:h.foreground,textDecorationLine:"underline"},onPress:()=>reactNative.Linking.openURL(E.url).catch(()=>{}),children:E.name}),ge]},E.key)}),se.disclaimerSuffix]})})}function _d(R,E){return jsxRuntime.jsxs(reactNative.View,{style:V.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.detailLabel,{color:h.foregroundMuted,fontFamily:w.regular}],children:R}),jsxRuntime.jsx(reactNative.Text,{style:[V.detailValue,{color:h.foreground,fontFamily:w.medium}],children:E})]},R)}function sh(R,E,Q){return jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[V.txRow,{backgroundColor:h.card,borderColor:h.border,borderRadius:m}],onPress:()=>reactNative.Linking.openURL(Q).catch(()=>{}),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.txLabel,{color:h.foreground,fontFamily:w.medium}],children:R}),jsxRuntime.jsxs(reactNative.View,{style:V.txRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.txHash,{color:h.foregroundMuted}],children:E}),jsxRuntime.jsx(reactNative.Text,{style:[V.txArrow,{color:h.foregroundMuted}],children:"\u2197"})]})]},R)}function Mw(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredFull,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.centerIcon,{color:h.foregroundMuted}],children:"\u26A0\uFE0E"}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.medium}],children:se.disabledTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.disabledDescription})]})}function zw(){return jsxRuntime.jsxs(reactNative.View,{style:V.formContainer,children:[jsxRuntime.jsx(reactNative.View,{style:V.flex}),jsxRuntime.jsx(reactNative.Text,{style:[V.fieldLabel,{color:h.foregroundMuted,fontFamily:w.medium}],children:se.emailLabel}),jsxRuntime.jsx(reactNative.TextInput,{ref:Rt,value:B,onChangeText:R=>{let E=R.replace(/\s/g,"");W(E),tr.current=E;},placeholder:se.emailPlaceholder,placeholderTextColor:h.foregroundMuted,keyboardType:"email-address",autoCapitalize:"none",autoCorrect:false,style:[V.input,{color:h.foreground,backgroundColor:h.card,borderColor:h.border,borderRadius:I,borderWidth:x,fontFamily:w.regular}]}),jsxRuntime.jsx(reactNative.View,{style:{height:24}}),ih(),jsxRuntime.jsx(ci,{title:se.continueButton,enabled:Fe,loading:false,onPress:()=>F("phoneInput")}),jsxRuntime.jsx(reactNative.View,{style:V.flex})]})}function Uw(){let R=O==="submittingSession";return jsxRuntime.jsxs(reactNative.View,{style:V.formContainer,children:[jsxRuntime.jsx(reactNative.View,{style:V.flex}),jsxRuntime.jsx(reactNative.Text,{style:[V.fieldLabel,{color:h.foregroundMuted,fontFamily:w.medium}],children:se.phoneLabel}),jsxRuntime.jsxs(reactNative.View,{style:[V.phoneRow,{backgroundColor:h.card,borderColor:h.border,borderRadius:I,borderWidth:x}],children:[jsxRuntime.jsx(reactNative.View,{style:[V.phonePrefix,{borderRightColor:h.border}],children:jsxRuntime.jsx(reactNative.Text,{style:[V.phonePrefixText,{color:h.foregroundMuted,fontFamily:w.medium}],children:"+1"})}),jsxRuntime.jsx(reactNative.TextInput,{ref:Tr,value:N,editable:!R,onChangeText:E=>{let Q=E.replace(/\D/g,"");Q.length===11&&Q.startsWith("1")&&(Q=Q.slice(1)),Q.length>10&&(Q=Q.slice(0,10)),Z(Q);},placeholder:se.phonePlaceholder,placeholderTextColor:h.foregroundMuted,keyboardType:"number-pad",style:[V.phoneInput,{color:h.foreground,fontFamily:w.regular}]})]}),N.length>0&&!bt?jsxRuntime.jsx(reactNative.Text,{style:[V.warningText,{color:h.warning,fontFamily:w.regular}],children:se.phoneInvalid}):null,Me.length>0?jsxRuntime.jsx(reactNative.Text,{style:[V.warningText,{color:h.warning,fontFamily:w.regular}],children:Me}):null,jsxRuntime.jsx(reactNative.View,{style:{height:24}}),je?ih():null,jsxRuntime.jsx(ci,{title:se.sendCode,enabled:bt&&!R,loading:R,onPress:()=>{vp();}}),jsxRuntime.jsx(reactNative.View,{style:V.flex})]})}function Nw(){let R=O==="emailOtp",E=R?Hk(B):$k(Le),Q=R?j:pt,ge=Q.length===Ru&&!ot;return jsxRuntime.jsxs(reactNative.View,{style:V.formContainer,children:[jsxRuntime.jsx(reactNative.View,{style:V.flex}),jsxRuntime.jsx(reactNative.Text,{style:[V.otpSentTo,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.sentTo(E)}),jsxRuntime.jsx(reactNative.TextInput,{ref:Bt,value:Q,onChangeText:pr=>{let cr=pr.replace(/\D/g,"").slice(0,Ru);R?Ie(cr):Ge(cr),qe(null);},placeholder:se.otpPlaceholder,placeholderTextColor:h.foregroundMuted,keyboardType:"number-pad",style:[V.otpInput,{color:h.foreground,backgroundColor:h.card,borderColor:Se?h.error:h.border,borderRadius:I,fontFamily:w.medium}]}),Se?jsxRuntime.jsx(reactNative.Text,{style:[V.errorTextCentered,{color:h.error,fontFamily:w.regular}],children:Se}):null,jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>Fw(R),disabled:dt>0||!ce||!te,style:V.resendButton,children:jsxRuntime.jsx(reactNative.Text,{style:[V.resendText,{color:h.foregroundMuted,fontFamily:w.regular}],children:dt>0?se.resendIn(dt):se.resendCode})}),jsxRuntime.jsx(reactNative.View,{style:{height:24}}),jsxRuntime.jsx(ci,{title:se.verify,enabled:ge,loading:ot,onPress:()=>R?void Iw():void Pw()}),jsxRuntime.jsx(reactNative.View,{style:V.flex})]})}function Hw(){let R=parseFloat(we)||0,E=we!==""&&R>0,Q=E&&R<A,ge=E&&R>nt,pr=E&&!Q&&!ge,cr=Je===we&&pr&&Ue?.url?rx(Ue.url):null,Et=Math.max(60-we.length*2.5,32),Gr=[["1","2","3"],["4","5","6"],["7","8","9"],[".","0","\u232B"]];return jsxRuntime.jsxs(reactNative.View,{style:V.flex,children:[jsxRuntime.jsx(reactNative.View,{style:{flex:1,minHeight:24}}),jsxRuntime.jsxs(reactNative.View,{style:V.amountSection,children:[jsxRuntime.jsxs(reactNative.View,{style:V.amountRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.amountDollar,{color:h.foreground,fontSize:Et}],children:"$"}),jsxRuntime.jsx(reactNative.Text,{style:[V.amountValue,{color:we===""?h.foregroundMuted:h.foreground,fontSize:Et}],children:we===""?"0":we})]}),Q?jsxRuntime.jsx(reactNative.Text,{style:[V.amountHint,{color:h.warning,fontFamily:w.regular}],children:se.minimumAmount(Uy(A))}):null,ge?jsxRuntime.jsx(reactNative.Text,{style:[V.amountHint,{color:h.warning,fontFamily:w.regular}],children:se.maximumAmount(Uy(nt))}):null,Me.length>0?jsxRuntime.jsx(reactNative.Text,{style:[V.amountHint,{color:h.warning,fontFamily:w.regular,textAlign:"center"}],children:Me}):null]}),jsxRuntime.jsx(reactNative.View,{style:{flex:1,minHeight:24}}),jsxRuntime.jsxs(reactNative.View,{style:[V.keypadArea,{opacity:Ve?.5:1}],children:[jsxRuntime.jsx(reactNative.View,{style:V.quickAmountsRow,children:Rk.map(Yr=>{let wt=parseFloat(we)===Yr,Io=Yr>nt;return jsxRuntime.jsx(reactNative.TouchableOpacity,{disabled:Ve||Io,onPress:()=>ja(String(Yr)),activeOpacity:.7,style:[V.quickAmountButton,{backgroundColor:h.card,borderColor:wt?h.primary:h.border,borderRadius:I,opacity:Io?.4:1}],children:jsxRuntime.jsxs(reactNative.Text,{style:[V.quickAmountText,{color:h.foreground,fontFamily:w.medium}],children:["$",Yr]})},Yr)})}),jsxRuntime.jsx(reactNative.View,{style:V.keypad,children:Gr.map((Yr,wt)=>jsxRuntime.jsx(reactNative.View,{style:V.keypadRow,children:Yr.map(Io=>jsxRuntime.jsx(reactNative.TouchableOpacity,{disabled:Ve,onPress:()=>Dw(Io),activeOpacity:.6,style:V.keypadKey,children:jsxRuntime.jsx(reactNative.Text,{style:[V.keypadKeyText,{color:h.foreground,fontFamily:w.medium}],children:Io==="\u232B"?"\u232B":Io})},Io))},wt))})]}),jsxRuntime.jsx(reactNative.View,{style:V.payButtonContainer,children:cr?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[lt?jsxRuntime.jsxs(reactNative.View,{style:V.applePayMarkRow,children:[jsxRuntime.jsx(ox,{size:16,color:h.foregroundMuted}),jsxRuntime.jsx(reactNative.Text,{style:[V.applePayMarkText,{color:h.foregroundMuted,fontFamily:w.medium}],children:"Pay"})]}):null,jsxRuntime.jsxs(reactNative.View,{style:V.applePayButtonStack,children:[jsxRuntime.jsx(reactNativeWebview.WebView,{ref:He,source:{uri:cr},style:[V.applePayWebView,{opacity:lt?.02:0}],containerStyle:V.applePayWebViewContainer,pointerEvents:lt?"auto":"none",originWhitelist:["*"],javaScriptEnabled:true,domStorageEnabled:true,scrollEnabled:false,bounces:false,androidLayerType:"hardware",injectedJavaScriptBeforeContentLoaded:nx(P,jy),onMessage:Yr=>{try{let wt=JSON.parse(Yr.nativeEvent.data);if(!wt)return;if(!wt.__uf){if(typeof wt.eventName=="string"){let Io=wt.data||{};eh(wt.eventName,Io.errorCode,Io.errorMessage);}return}if(wt.channel==="cbSize")Number(wt.body)>0&&(Ze.current&&(clearTimeout(Ze.current),Ze.current=null),ko.current||(er(!0),ko.current=!0),he(!1));else if(wt.channel==="cbProbe")ch(Number(wt.body)===1);else if(wt.channel==="cbOnramp"){let Io=typeof wt.body=="string"?JSON.parse(wt.body):wt.body;if(!Io)return;let ms=Io.data||{};eh(Io.eventName,ms.errorCode,ms.errorMessage);}}catch{}}},cr),lt?jsxRuntime.jsx(reactNative.View,{pointerEvents:"none",style:[V.applePayBrandButton,{backgroundColor:h.primary,borderRadius:P}],children:jsxRuntime.jsx(reactNative.Text,{style:[V.applePayBrandText,{color:"#fff",fontFamily:w.semibold}],children:se.continuePay})}):null,lt?null:ah(pr)]})]}):ah(pr)})]})}function ah(R){return jsxRuntime.jsxs(reactNative.View,{style:[V.preparingButton,{backgroundColor:`${h.primary}80`,borderRadius:P}],children:[R?jsxRuntime.jsx(Ct,{size:18,strokeWidth:2,gradientFrom:"#fff",gradientTo:"#fff"}):null,jsxRuntime.jsx(reactNative.Text,{style:[V.preparingButtonText,{color:"#fff",fontFamily:w.medium}],children:R?se.preparingApplePay:se.enterAmount})]})}function lh(){return at?jw(at):gt?$w():Pe?qw(Pe):jsxRuntime.jsxs(reactNative.View,{style:V.centeredFull,children:[jsxRuntime.jsx(Ct,{size:80,strokeWidth:4}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.checkingTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.checkingDescription})]})}function $w(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredWithButton,children:[jsxRuntime.jsxs(reactNative.View,{style:V.centeredContent,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.centerIcon,{color:h.foregroundMuted}],children:"\u23F1"}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.checkingTimeoutTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.checkingTimeoutDescription})]}),jsxRuntime.jsx(reactNative.View,{style:V.bottomButton,children:jsxRuntime.jsx(ci,{title:se.done,enabled:true,loading:false,onPress:Dp})})]})}function jw(R){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredWithButton,children:[jsxRuntime.jsxs(reactNative.View,{style:V.centeredContent,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.centerIcon,{color:h.error}],children:"\u26A0\uFE0E"}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.paymentErrorTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:R})]}),jsxRuntime.jsx(reactNative.View,{style:V.bottomButton,children:jsxRuntime.jsx(ci,{title:se.tryAgain,enabled:true,loading:false,onPress:nh})})]})}function qw(R){let E=["pending","waiting","delayed"].includes(R.status),Q=["failed","refunded"].includes(R.status),ge=Q?h.error:E?h.warning:h.success,pr=Q?se.failed:E?se.inProgress:se.completed,cr=Kk(R.created_at),Et=R.destination_token_metadata,Gr=Et?.icon_urls?.find(Yr=>Yr.format==="png")?.url??Et?.icon_url??null;return jsxRuntime.jsxs(reactNative.View,{style:V.flex,children:[jsxRuntime.jsxs(reactNative.ScrollView,{contentContainerStyle:V.detailScrollContent,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsxs(reactNative.View,{style:V.tokenIconWrapper,children:[Gr?jsxRuntime.jsx(reactNative.Image,{source:{uri:Gr,cache:"force-cache"},style:V.tokenIcon,resizeMode:"contain"}):jsxRuntime.jsx(reactNative.View,{style:[V.tokenIconFallback,{backgroundColor:h.cardHover}],children:jsxRuntime.jsx(reactNative.Text,{style:[V.tokenIconFallbackText,{color:h.foreground}],children:"$"})}),jsxRuntime.jsx(reactNative.View,{style:[V.statusBadge,{backgroundColor:ge}],children:jsxRuntime.jsx(reactNative.Text,{style:V.statusBadgeText,children:Q?"\u2715":E?"\u21BB":"\u2713"})})]}),jsxRuntime.jsxs(reactNative.View,{style:V.statusRow,children:[jsxRuntime.jsx(reactNative.View,{style:[V.statusDot,{backgroundColor:ge}]}),jsxRuntime.jsx(reactNative.Text,{style:[V.statusText,{color:h.foreground,fontFamily:w.semibold}],children:pr})]}),Q?jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular,marginBottom:8}],children:se.depositFailedDescription}):null,cr?jsxRuntime.jsx(reactNative.Text,{style:[V.dateText,{color:h.foregroundMuted,fontFamily:w.regular}],children:cr}):null,jsxRuntime.jsxs(reactNative.View,{style:[V.detailCard,{backgroundColor:h.card,borderColor:h.border,borderRadius:m}],children:[we!==""?_d(se.amountSent,`$${jk(we)} USD`):null,_d(se.amountReceived,`${Gk(R)} ${Yk(R)}`),R.source_amount_usd?_d(se.usdValue,`$${(parseFloat(R.source_amount_usd)||0).toFixed(2)}`):null,R.destination_chain_id?_d(se.destinationNetwork,qk(R.destination_chain_type??"",R.destination_chain_id)):null]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:V.seeMoreRow,onPress:()=>M(Yr=>!Yr),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.seeMoreText,{color:h.foreground,fontFamily:w.medium}],children:C?se.seeLess:se.seeMoreDetails}),jsxRuntime.jsx(reactNative.Text,{style:[V.seeMoreChevron,{color:h.foregroundMuted}],children:C?"\u25B2":"\u25BC"})]}),C?jsxRuntime.jsxs(reactNative.View,{style:V.txHashSection,children:[R.explorer_url?sh(se.depositTx,Ny(R.transaction_hash),R.explorer_url):null,!E&&!Q&&R.destination_explorer_url&&R.destination_transaction_hashes?.[0]?sh(se.completionTx,Ny(R.destination_transaction_hashes[0]),R.destination_explorer_url):null]}):null]}),jsxRuntime.jsx(reactNative.View,{style:[V.bottomButton,V.detailBottomButton],children:jsxRuntime.jsx(ci,{title:se.done,enabled:true,loading:false,onPress:Dp})})]})}function Qw(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredWithButton,children:[jsxRuntime.jsxs(reactNative.View,{style:V.centeredContent,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.guestLimitTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.guestLimitDescription})]}),jsxRuntime.jsx(reactNative.View,{style:V.bottomButton,children:jsxRuntime.jsx(ci,{title:se.returnButton,enabled:true,loading:false,onPress:g})})]})}function Kw(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredWithButton,children:[jsxRuntime.jsxs(reactNative.View,{style:V.centeredContent,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.guestLimitTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.upgradeIntroDescription})]}),jsxRuntime.jsxs(reactNative.View,{style:V.bottomButton,children:[jsxRuntime.jsx(ci,{title:se.continueButton,enabled:true,loading:false,onPress:()=>{L(null),F("limitUpgradeForm");}}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>{L(null),g();},style:V.textButton,children:jsxRuntime.jsx(reactNative.Text,{style:[V.textButtonLabel,{color:h.foregroundMuted,fontFamily:w.medium}],children:se.cancelButton})})]})]})}function Gw(){let R=Hy(q)!=null,E=/^\d{4}$/.test(K),Q=R&&E;return jsxRuntime.jsxs(reactNative.View,{style:V.formContainer,children:[jsxRuntime.jsx(reactNative.View,{style:V.flex}),jsxRuntime.jsx(reactNative.Text,{style:[V.fieldLabel,{color:h.foregroundMuted,fontFamily:w.medium}],children:se.dobLabel}),jsxRuntime.jsx(reactNative.TextInput,{ref:Kr,value:q,onChangeText:ge=>{J(ex(ge)),et&&L(null);},placeholder:se.dobPlaceholder,placeholderTextColor:h.foregroundMuted,keyboardType:"number-pad",style:[V.input,{color:h.foreground,backgroundColor:h.card,borderColor:h.border,borderRadius:I,borderWidth:x,fontFamily:w.regular}]}),jsxRuntime.jsx(reactNative.View,{style:{height:16}}),jsxRuntime.jsx(reactNative.Text,{style:[V.fieldLabel,{color:h.foregroundMuted,fontFamily:w.medium}],children:se.ssnLabel}),jsxRuntime.jsx(reactNative.TextInput,{value:K,onChangeText:ge=>{_e(ge.replace(/\D/g,"").slice(0,4)),et&&L(null);},placeholder:se.ssnPlaceholder,placeholderTextColor:h.foregroundMuted,keyboardType:"number-pad",secureTextEntry:true,style:[V.input,{color:h.foreground,backgroundColor:h.card,borderColor:h.border,borderRadius:I,borderWidth:x,fontFamily:w.regular}]}),et?jsxRuntime.jsx(reactNative.Text,{style:[V.warningText,{color:h.warning,fontFamily:w.regular}],children:et}):null,jsxRuntime.jsx(reactNative.View,{style:V.flex}),jsxRuntime.jsx(ci,{title:se.submitButton,enabled:Q&&!U,loading:U,onPress:Lw}),jsxRuntime.jsx(reactNative.View,{style:V.flex})]})}function Yw(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredFull,children:[jsxRuntime.jsx(Ct,{size:80,strokeWidth:4}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.verifyingTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.verifyingDescription})]})}function Jw(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredWithButton,children:[jsxRuntime.jsxs(reactNative.View,{style:V.centeredContent,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.upgradeFailedTitle}),jsxRuntime.jsxs(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:[se.upgradeFailedPrefix,jsxRuntime.jsx(reactNative.Text,{style:{color:h.primary,textDecorationLine:"underline"},onPress:()=>reactNative.Linking.openURL(se.supportUrl).catch(()=>{}),children:se.contactSupport}),se.upgradeFailedSuffix]})]}),jsxRuntime.jsx(reactNative.View,{style:V.bottomButton,children:jsxRuntime.jsx(ci,{title:se.returnButton,enabled:true,loading:false,onPress:()=>{L(null),g();}})})]})}function Zw(){switch(O){case "loading":return jsxRuntime.jsx(reactNative.View,{style:V.centeredFull,children:jsxRuntime.jsx(Ct,{size:40,strokeWidth:3})});case "disabled":return Mw();case "emailInput":return zw();case "phoneInput":case "submittingSession":return Uw();case "emailOtp":case "phoneOtp":return Nw();case "amount":return jsxRuntime.jsxs(reactNative.View,{style:V.flex,children:[Hw(),Xe?jsxRuntime.jsx(reactNative.View,{style:[V.overlay,{backgroundColor:h.background}],children:lh()}):null]});case "checkingDeposit":case "success":return lh();case "guestLimitReached":return Qw();case "limitUpgradeIntro":return Kw();case "limitUpgradeForm":return Gw();case "limitUpgradeSubmitting":return Yw();case "limitUpgradeFailed":return Jw();default:return null}}ta.useEffect(()=>{O==="amount"&&Xm();},[O]);function Xw(){!ee.current||ko.current||(er(true),ko.current=true,he(false));}function ch(R){if(Ze.current&&clearTimeout(Ze.current),Ze.current=null,!(!ee.current||ko.current)){if(R){Xw();return}me(null),qr.current=null,Qe(null),Mr.current=null,er(false),ko.current=false,he(false),be(se.applePayButtonUnavailable);}}return ta.useEffect(()=>{if(!(!(Je===we&&Ue?.url&&Ue.url)||lt))return Ae.current&&clearTimeout(Ae.current),Ae.current=setTimeout(()=>{!ee.current||ko.current||(He.current?.injectJavaScript(ix()),Ze.current&&clearTimeout(Ze.current),Ze.current=setTimeout(()=>{ch(false);},Dk));},Fk),()=>{Ae.current&&clearTimeout(Ae.current),Ae.current=null,Ze.current&&clearTimeout(Ze.current),Ze.current=null;}},[Ue,Je,we,lt]),ta.useEffect(()=>{lt?Ow():zt.current=null;},[lt]),jsxRuntime.jsxs(reactNative.View,{style:[V.root,{backgroundColor:h.background}],children:[jsxRuntime.jsx(fo,{title:Ew,showBack:Ww,showClose:true,onBack:nh,onClose:Dp}),jsxRuntime.jsx(reactNative.KeyboardAvoidingView,{style:V.flex,behavior:reactNative.Platform.OS==="ios"?"padding":void 0,children:Zw()})]})}var Pu={position:"absolute",left:0,right:0,top:0,bottom:0},V=reactNative.StyleSheet.create({root:{flex:1},flex:{flex:1},overlay:{...Pu},formContainer:{flex:1,paddingHorizontal:16,paddingTop:16,paddingBottom:16},fieldLabel:{fontSize:12,paddingHorizontal:4,marginBottom:6},input:{fontSize:15,padding:14},phoneRow:{flexDirection:"row",alignItems:"center",height:50,overflow:"hidden"},phonePrefix:{paddingHorizontal:12,height:"100%",justifyContent:"center",borderRightWidth:1},phonePrefixText:{fontSize:15},phoneInput:{flex:1,fontSize:15,padding:14},warningText:{fontSize:12,paddingHorizontal:4,marginTop:6},otpSentTo:{fontSize:14,textAlign:"center",marginBottom:24},otpInput:{fontSize:24,textAlign:"center",paddingVertical:14,borderWidth:1.5},errorTextCentered:{fontSize:12,textAlign:"center",marginTop:8},resendButton:{marginTop:12,alignItems:"center"},resendText:{fontSize:12},legalWrapper:{paddingHorizontal:4,marginBottom:24},legalText:{fontSize:11,lineHeight:16},primaryButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,paddingVertical:16},primaryButtonText:{fontSize:16},amountSection:{alignItems:"center",paddingHorizontal:16},amountRow:{flexDirection:"row",alignItems:"center",justifyContent:"center",height:70},amountDollar:{fontWeight:"400"},amountValue:{fontWeight:"400"},amountHint:{fontSize:14,marginTop:4},keypadArea:{paddingHorizontal:16,paddingBottom:12,gap:16},quickAmountsRow:{flexDirection:"row",gap:12},quickAmountButton:{flex:1,alignItems:"center",paddingVertical:10,borderWidth:1},quickAmountText:{fontSize:14},keypad:{gap:10},keypadRow:{flexDirection:"row",gap:10},keypadKey:{flex:1,height:52,alignItems:"center",justifyContent:"center"},keypadKeyText:{fontSize:24},payButtonContainer:{paddingHorizontal:16,paddingBottom:16},applePayMarkRow:{flexDirection:"row",alignItems:"center",gap:4,marginBottom:8},applePayMarkText:{fontSize:19},applePayButtonStack:{height:jy,position:"relative"},applePayBrandButton:{...Pu,alignItems:"center",justifyContent:"center"},applePayBrandText:{fontSize:16},applePayWebView:{...Pu,backgroundColor:"transparent"},applePayWebViewContainer:{...Pu,backgroundColor:"transparent"},preparingButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,paddingVertical:16},preparingButtonText:{fontSize:16},centeredFull:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:32,gap:16},centeredWithButton:{flex:1,justifyContent:"space-between",paddingHorizontal:16,paddingBottom:16},centeredContent:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:16,gap:12},centerIcon:{fontSize:40},stateTitle:{fontSize:20,textAlign:"center"},stateDescription:{fontSize:14,textAlign:"center",lineHeight:20},bottomButton:{gap:8},detailBottomButton:{paddingHorizontal:16,paddingBottom:16},textButton:{alignItems:"center",paddingVertical:14,marginTop:4},textButtonLabel:{fontSize:16},detailScrollContent:{paddingHorizontal:20,paddingBottom:16,alignItems:"center"},tokenIconWrapper:{position:"relative",marginTop:8,marginBottom:8,alignSelf:"center"},tokenIcon:{width:72,height:72,borderRadius:36},tokenIconFallback:{width:72,height:72,borderRadius:36,alignItems:"center",justifyContent:"center"},tokenIconFallbackText:{fontSize:36},statusBadge:{position:"absolute",right:-4,bottom:-4,width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},statusBadgeText:{color:"#fff",fontSize:12,fontWeight:"bold"},statusRow:{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4},statusDot:{width:8,height:8,borderRadius:4},statusText:{fontSize:16},dateText:{fontSize:13,marginBottom:16},detailCard:{width:"100%",borderWidth:1,padding:16,gap:32,marginBottom:8},detailRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},detailLabel:{fontSize:14},detailValue:{fontSize:14},seeMoreRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",paddingVertical:8},seeMoreText:{fontSize:14},seeMoreChevron:{fontSize:12},txHashSection:{width:"100%",gap:8},txRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingVertical:14,borderWidth:1},txLabel:{fontSize:14},txRight:{flexDirection:"row",alignItems:"center",gap:6},txHash:{fontSize:13,fontFamily:reactNative.Platform.OS==="ios"?"Menlo":"monospace"},txArrow:{fontSize:14}});var Qy=5e3,Ky=2500,Gy=5e3,Yy=6e4;function si(e){let{depositConfirmationMode:t,enabled:r=true,depositAddress:o,chain:n,externalUserId:i,publishableKey:s,modalOpenedAt:a,depositWalletId:l,depositExecutions:c,trackedExecutions:p,setDepositExecutions:g,setTrackedExecutions:k,setLatestExecution:d,setShowStatusSheet:f,onDepositSuccess:S,onExecutionsChange:h,onDepositError:w}=e,[v,I]=ta.useState(false),[x,P]=ta.useState(false);return ta.useEffect(()=>{if(!r||t!=="auto_ui"&&t!=="auto_silent"||!o)return;I(false),t==="auto_ui"&&P(false);let u=setTimeout(()=>{I(true),t==="auto_ui"&&P(true);},Qy);return ()=>clearTimeout(u)},[r,t,o,n]),ta.useEffect(()=>{if(!r||!i||!a)return;let u=new Date(a.getTime()-Yy),T=setInterval(async()=>{try{let O=[...(await ln(i,s,"deposit")).data??[]].sort((B,W)=>{let N=B.created_at?new Date(B.created_at).getTime():0;return (W.created_at?new Date(W.created_at).getTime():0)-N}),F=null;for(let B of O){let W=B.created_at?new Date(B.created_at):null;if(!W||W<=u)continue;let N=p.get(B.id);if(!N){F=B;break}if(["pending","waiting","delayed"].includes(N)&&B.status==="succeeded"){F=B;break}}if(F){let B=F;g(W=>{let N=W.findIndex(Z=>Z.id===B.id);if(N>=0){let Z=[...W];return Z[N]=B,Z}return [...W,B]}),k(W=>{let N=new Map(W);return N.set(B.id,B.status),N}),d(B),f(!0),B.status==="succeeded"&&S?.({message:"Deposit completed successfully",executionId:B.id}),h?.([...c,B]);}}catch(b){w?.({message:"Failed to check deposit status",error:b});}},Ky);return ()=>clearInterval(T)},[r,i,s,a,p,c,h,S,w]),ta.useEffect(()=>{if(!r||!v||!l)return;let u=async()=>{try{await Vd(l,s);}catch{}};u();let T=setInterval(u,Gy);return ()=>clearInterval(T)},[r,v,l,s]),{pollingEnabled:v,showWaitingUi:x,handleIveDeposited:()=>{I(true),P(true);}}}function Zy({depositConfirmationMode:e,depositAddress:t,showWaitingUi:r,latestExecution:o,onIveDeposited:n}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(od,{showWaitingUi:r,latestExecution:o}),jsxRuntime.jsx(im,{depositConfirmationMode:e,depositAddress:t,showWaitingUi:r,onIveDeposited:n})]})}function od({showWaitingUi:e,latestExecution:t}){let{colors:r,fonts:o}=z(),n=ta.useRef(new reactNative.Animated.Value(0)).current;ta.useEffect(()=>{if(e&&!t){n.setValue(0);let s=reactNative.Animated.loop(reactNative.Animated.timing(n,{toValue:1,duration:1500,easing:reactNative.Easing.linear,useNativeDriver:true}));return s.start(),()=>s.stop()}},[e,t,n]);let i=n.interpolate({inputRange:[0,1],outputRange:["0deg","360deg"]});return jsxRuntime.jsx(reactNative.View,{style:Ou.processingCard,children:e&&!t?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(reactNative.Animated.View,{style:{transform:[{rotate:i}]},children:jsxRuntime.jsx(cc,{size:16,color:r.primary,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[Ou.processingCardTitle,{color:r.foregroundMuted,fontFamily:o.regular}],children:"Checking for deposit"})]}):null})}function im({depositConfirmationMode:e,depositAddress:t,showWaitingUi:r,onIveDeposited:o}){let{colors:n,fonts:i,components:s}=z();return e!=="manual"||!t||r?null:jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:o,activeOpacity:.8,style:[Ou.iveDepositedButton,{backgroundColor:n.primary,borderRadius:s.button.borderRadius,borderWidth:s.button.borderWidth,borderColor:s.button.borderColor}],children:jsxRuntime.jsx(reactNative.Text,{style:[Ou.iveDepositedButtonText,{color:n.primaryForeground??"#FFF",fontFamily:i.semibold}],children:"I've made the deposit"})})}var Ou=reactNative.StyleSheet.create({iveDepositedButton:{paddingVertical:14,alignItems:"center",justifyContent:"center",marginBottom:12},iveDepositedButtonText:{fontSize:16},processingCard:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,marginBottom:24},processingCardTitle:{fontSize:14}});function Lu(e){let t=e.icon_urls.find(o=>o.format==="png")?.url,r=e.icon_urls.find(o=>o.format==="svg")?.url;return ye(t||r||e.icon_url)}function fx(e){if(!e.supports_mobile_browse)return false;if(!e.mobile_browse_platforms)return true;let t=reactNative.Platform.OS==="ios"?"ios":"android";return e.mobile_browse_platforms.includes(t)}var Bu=18,Eu=12,mx=2;function hx({uri:e,chainTypes:t,size:r=40}){let o=t.includes("ethereum"),n=t.includes("solana"),i=o&&n;return jsxRuntime.jsxs(reactNative.View,{style:{width:r+6,height:r+4},children:[jsxRuntime.jsx(en,{uri:e,width:r,height:r,borderRadius:10}),i?jsxRuntime.jsxs(reactNative.View,{style:Yi.cluster,children:[jsxRuntime.jsx(reactNative.View,{style:[Yi.badge,Yi.backBadge],children:jsxRuntime.jsx(rl,{size:Eu})}),jsxRuntime.jsx(reactNative.View,{style:[Yi.badge,Yi.frontBadge],children:jsxRuntime.jsx(Xa,{size:Eu})})]}):o?jsxRuntime.jsx(reactNative.View,{style:[Yi.badge,Yi.singleBadge],children:jsxRuntime.jsx(Xa,{size:Eu})}):n?jsxRuntime.jsx(reactNative.View,{style:[Yi.badge,Yi.singleBadge],children:jsxRuntime.jsx(rl,{size:Eu})}):null]})}var Yi=reactNative.StyleSheet.create({badge:{width:Bu,height:Bu,borderRadius:Bu/2,borderWidth:mx,borderColor:"#fff",alignItems:"center",justifyContent:"center",overflow:"hidden"},cluster:{position:"absolute",bottom:-2,right:-4,flexDirection:"row"},backBadge:{marginRight:-6.3,zIndex:0},frontBadge:{zIndex:1},singleBadge:{position:"absolute",bottom:-2,right:-4}});function Wu({externalUserId:e,publishableKey:t,recipientAddress:r,destinationChainType:o,destinationChainId:n,destinationTokenAddress:i,onBack:s,onClose:a,onDepositSuccess:l,onDepositError:c,onExecutionsChange:p,onLatestExecution:g,onShowStatusSheet:k}){let{colors:d,fonts:f,components:S}=z(),h=ta.useRef(true);ta.useEffect(()=>{reactNative.Platform.OS==="android"&&reactNative.UIManager.setLayoutAnimationEnabledExperimental&&reactNative.UIManager.setLayoutAnimationEnabledExperimental(true);},[]);let w=ta.useRef(false),[v,I]=ta.useState("selectWallet"),[x,P]=ta.useState([]),[m,u]=ta.useState(true),[T,b]=ta.useState(null),[A,O]=ta.useState(null),[F,B]=ta.useState(null),[W,N]=ta.useState(null),[Z,je]=ta.useState(null),[Y,rt]=ta.useState([]),[oe,ce]=ta.useState(false),[ae,te]=ta.useState(null),[ke,j]=ta.useState([]),[Ie,pt]=ta.useState(new Map),[Ge]=ta.useState(()=>new Date),[Se,qe]=ta.useState(null),[ot,Ye]=ta.useState(false),[dt,st]=ta.useState(null),[Me,be]=ta.useState(false);ta.useEffect(()=>{if(v==="depositProcessing"||v==="depositComplete")return;if(v!=="waitingForDeposit"){be(false);return}reactNative.AppState.currentState==="active"&&be(true);let L=reactNative.AppState.addEventListener("change",U=>{U==="active"&&be(true);});return ()=>L.remove()},[v]);let we=v==="waitingForDeposit"&&Me||v==="depositProcessing",ze=W||F||A?.chain_types[0]||o||"ethereum",ut=an(Y,ze),ht=ut?.address||"",xt=ut?.id??"",lr=`${ze}:${n||""}`;ta.useEffect(()=>(h.current=true,()=>{h.current=false;}),[]),ta.useEffect(()=>{Qe();},[t]),ta.useEffect(()=>{Se&&g?.(Se);},[Se]),ta.useEffect(()=>{p?.(ke);},[ke]);let[Ue,me]=ta.useState(false);ta.useEffect(()=>{!ot||!Se||(Ye(false),Se.status==="succeeded"?(I("depositComplete"),l?.({message:"Deposit completed successfully",executionId:Se.id,transaction:Se})):Se.status==="failed"||Se.status==="refunded"?(I("failed"),c?.({message:`Deposit ${Se.status}`,code:Se.status})):I("depositProcessing"));},[ot,Se]),ta.useEffect(()=>{v!=="depositProcessing"||!Se||(Se.status==="succeeded"?(I("depositComplete"),l?.({message:"Deposit completed successfully",executionId:Se.id,transaction:Se})):(Se.status==="failed"||Se.status==="refunded")&&(I("failed"),c?.({message:`Deposit ${Se.status}`,code:Se.status})));},[Se?.status]);let{showWaitingUi:Je}=si({depositConfirmationMode:"auto_ui",enabled:we,depositAddress:ht,chain:lr,externalUserId:e,publishableKey:t,modalOpenedAt:dt??Ge,depositWalletId:xt,depositExecutions:ke,trackedExecutions:Ie,setDepositExecutions:j,setTrackedExecutions:pt,setLatestExecution:qe,setShowStatusSheet:Ye,onExecutionsChange:p,onDepositError:c});async function Qe(){u(true),b(null);try{let L=await Yp(t);if(!h.current)return;let U=L.data.filter(fx),kt=U.map(Lu).filter(Boolean);if(kt.length>0&&await Hc(kt),!h.current)return;P(U);}catch(L){if(!h.current)return;b(L instanceof Error?L.message:"Failed to load wallets");}finally{h.current&&u(false);}}function Ve(L){O(L),N(null),te(null),L.chain_types.length>1?(B(null),I("selectNetwork")):Ne(L);}function he(L){B(L),A&&Ne(A,L);}async function Ne(L,U){if(w.current)return;w.current=true,ce(true),I("connecting");let kt=U||L.chain_types[0]||null;try{let Le=await Zo({external_user_id:e,destination_chain_type:o||"ethereum",destination_chain_id:n,destination_token_address:i,recipient_address:r},t);if(!h.current)return;rt(Le.data);let Fe=Le.data.map(Mt=>({chain_type:Mt.chain_type,address:Mt.address})),bt=kt?Fe.filter(Mt=>Mt.chain_type===kt):Fe,nt=bt.length>0,ee=nt?bt:Fe,vr=nt?kt:ee[0]?.chain_type??kt;N(vr??null);let ft=await Jp(L.id,ee,t);if(!h.current)return;if(je(ft),ce(!1),!ft.supported||!ft.deeplink&&!ft.pay_url){te(`${L.name} doesn't support in-app browser on this device`),I("failed");return}let tr=ft.deeplink||ft.pay_url;try{await reactNative.Linking.openURL(tr);}catch{if(!h.current)return;te(`Could not open ${L.name}. Make sure it is installed.`),I("failed");return}if(!h.current)return;st(new Date),I("waitingForDeposit");}catch(Le){if(!h.current)return;ce(false),te(Le instanceof Error?Le.message:"Failed to connect wallet"),I("failed");}}function vt(){if(!Z)return;let L=Z.deeplink||Z.pay_url;reactNative.Linking.openURL(L).catch(()=>{});}function Vt(){w.current=false,O(null),B(null),N(null),je(null),rt([]),st(null),te(null),ce(false),I("selectWallet");}function Ht(){return m?jsxRuntime.jsx(reactNative.View,{style:Dt.centeredContainer,children:jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:d.primary})}):T?jsxRuntime.jsxs(reactNative.View,{style:Dt.centeredContainer,children:[jsxRuntime.jsx(gs,{size:48,color:d.error,strokeWidth:1.5}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.errorTitle,{color:d.foreground,fontFamily:f.semibold}],children:"Failed to load wallets"}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.errorSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:T}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:Qe,style:[Dt.retryButton,{backgroundColor:d.primary}],activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Dt.retryButtonText,{color:d.primaryForeground??"#FFF",fontFamily:f.semibold}],children:"Retry"})})]}):x.length===0?jsxRuntime.jsxs(reactNative.View,{style:Dt.centeredContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Dt.errorTitle,{color:d.foreground,fontFamily:f.semibold}],children:"No wallets available"}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.errorSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:"No supported wallets found for this device."})]}):jsxRuntime.jsxs(reactNative.ScrollView,{style:Dt.walletList,contentContainerStyle:Dt.walletListContent,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsx(reactNative.Text,{style:[Dt.pickerSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Select a wallet to deposit from"}),x.map(L=>jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>Ve(L),activeOpacity:.7,disabled:oe,style:[Dt.walletRow,{backgroundColor:S.card.backgroundColor,borderRadius:S.card.borderRadius,borderWidth:S.card.borderWidth,borderColor:S.card.borderColor,opacity:oe?.5:1}],children:[jsxRuntime.jsx(hx,{uri:Lu(L),chainTypes:L.chain_types}),jsxRuntime.jsxs(reactNative.View,{style:Dt.walletTextContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Dt.walletName,{color:d.foreground,fontFamily:f.medium}],children:L.name}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.walletChains,{color:d.foregroundMuted,fontFamily:f.regular}],children:L.chain_types.map(U=>U.charAt(0).toUpperCase()+U.slice(1)).join(" \u2022 ")})]}),jsxRuntime.jsx(co,{size:16,color:d.foregroundMuted,strokeWidth:2})]},L.id))]})}function lt(){if(!A)return null;let L=Lu(A),U=Le=>Le==="n1"?"N1":Le==="xrpl"?"XRPL":Le.charAt(0).toUpperCase()+Le.slice(1),kt=A.chain_types.map(Le=>({id:Le,name:U(Le),Icon:Le==="ethereum"?Xa:rl}));return jsxRuntime.jsxs(reactNative.View,{style:Dt.networkPickerContainer,children:[jsxRuntime.jsxs(reactNative.View,{style:Dt.networkPickerHeader,children:[jsxRuntime.jsx(en,{uri:L,width:48,height:48,borderRadius:12}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.statusTitle,{color:d.foreground,fontFamily:f.semibold,marginTop:12}],children:"Select Network"}),jsxRuntime.jsxs(reactNative.Text,{style:[Dt.statusSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:["Choose which network to deposit from with ",A.name]})]}),jsxRuntime.jsx(reactNative.View,{style:Dt.networkList,children:kt.map(({id:Le,name:Fe,Icon:bt})=>jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>he(Le),activeOpacity:.7,disabled:oe,style:[Dt.networkRow,{backgroundColor:S.card.backgroundColor,borderRadius:S.card.borderRadius,borderWidth:S.card.borderWidth,borderColor:S.card.borderColor,opacity:oe?.5:1}],children:[jsxRuntime.jsx(reactNative.View,{style:Dt.networkIconContainer,children:jsxRuntime.jsx(bt,{size:32})}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.networkName,{color:d.foreground,fontFamily:f.medium}],children:Fe}),jsxRuntime.jsx(co,{size:16,color:d.foregroundMuted,strokeWidth:2})]},Le))})]})}function er(){return jsxRuntime.jsxs(reactNative.View,{style:Dt.centeredContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:d.primary}),jsxRuntime.jsxs(reactNative.Text,{style:[Dt.statusTitle,{color:d.foreground,fontFamily:f.semibold}],children:["Opening ",A?.name??"wallet","\u2026"]}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.statusSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Preparing your deposit session"})]})}function Xe(){let L=A?.name??"your wallet",U=A?Lu(A):null;return jsxRuntime.jsxs(reactNative.View,{style:Dt.centeredContainer,children:[U?jsxRuntime.jsx(Ct,{size:80,children:jsxRuntime.jsx(en,{uri:U,width:40,height:40,borderRadius:10})}):jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:d.primary}),jsxRuntime.jsxs(reactNative.Text,{style:[Dt.statusTitle,{color:d.foreground,fontFamily:f.semibold}],children:["Continue in ",L]}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.statusSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Complete the deposit in your wallet app. Return here when you're done."}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:vt,activeOpacity:.8,style:[Dt.primaryButton,{backgroundColor:d.primary,borderRadius:S.button.borderRadius,borderWidth:S.button.borderWidth,borderColor:S.button.borderColor}],children:[jsxRuntime.jsx(En,{size:16,color:d.primaryForeground??"#FFF",strokeWidth:2}),jsxRuntime.jsxs(reactNative.Text,{style:[Dt.primaryButtonText,{color:d.primaryForeground??"#FFF",fontFamily:f.semibold}],children:["Open ",L]})]}),jsxRuntime.jsx(reactNative.View,{style:{marginTop:24,minHeight:44},children:jsxRuntime.jsx(od,{showWaitingUi:Je,latestExecution:Se})})]})}function yt(L,U){let kt=parseFloat(L)/Math.pow(10,U);return kt===0?"0.00":kt>=1?kt.toFixed(2):parseFloat(kt.toPrecision(6)).toString()}function gt(L,U){let kt={1:"Ethereum",137:"Polygon",42161:"Arbitrum",10:"Optimism",8453:"Base",56:"BSC",mainnet:"Solana"};return L==="n1"?"N1":L==="cardano"?"Cardano":kt[U]??`${L.charAt(0).toUpperCase()+L.slice(1)} (${U})`}function De(L){if(!L)return "";let U=L.indexOf(".");return U!==-1?L.slice(0,U).toUpperCase()+L.slice(U):L.toUpperCase()}function at(L){return L.length<=12?L:`${L.slice(0,6)}...${L.slice(-4)}`}function X(L){if(!L)return "";try{return new Date(L).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}catch{return ""}}function Pe(L){let U=L.destination_amount_base_unit;return U?yt(U,L.destination_token_metadata?.decimals??6):"\u2014"}function _(L){let U=L.destination_token_metadata;return U?U.icon_urls?.length?ui(U.icon_urls,"png")??U.icon_url??null:U.icon_url??null:null}function C(){if(!Se)return null;let L=_(Se);return jsxRuntime.jsx(reactNative.View,{style:mt.centeredFull,children:jsxRuntime.jsxs(reactNative.View,{style:mt.centeredContent,children:[jsxRuntime.jsx(Ct,{size:84,strokeWidth:4,iconSize:48,children:L?jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(L)},style:mt.loaderIcon,resizeMode:"contain"}):jsxRuntime.jsx(reactNative.View,{style:[mt.loaderIcon,{backgroundColor:d.cardHover}]})}),jsxRuntime.jsx(reactNative.Text,{style:[mt.stateTitle,{color:d.foreground,fontFamily:f.semibold}],children:"Deposit Processing"}),jsxRuntime.jsx(reactNative.Text,{style:[mt.stateDescription,{color:d.foregroundMuted,fontFamily:f.regular}],children:"This usually takes less than a minute."})]})})}function M(){if(!Se)return C();let L=Se,U=["pending","waiting","delayed"].includes(L.status),kt=_(L),Le=X(L.created_at);return jsxRuntime.jsxs(reactNative.View,{style:mt.flex,children:[jsxRuntime.jsxs(reactNative.ScrollView,{style:mt.flex,contentContainerStyle:mt.scrollContent,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsxs(reactNative.View,{style:mt.tokenIconWrapper,children:[kt?jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(kt)},style:mt.tokenIcon,resizeMode:"contain"}):jsxRuntime.jsx(reactNative.View,{style:[mt.tokenIcon,{backgroundColor:d.cardHover}]}),jsxRuntime.jsx(reactNative.View,{style:[mt.statusBadge,{backgroundColor:U?d.warning:S.container.iconBackgroundColor}],children:U?jsxRuntime.jsx(reactNative.Text,{style:mt.statusBadgeText,children:"\u21BB"}):jsxRuntime.jsx(It,{size:14,color:S.container.iconColor,strokeWidth:3})})]}),jsxRuntime.jsxs(reactNative.View,{style:mt.statusRow,children:[jsxRuntime.jsx(reactNative.View,{style:[mt.statusDot,{backgroundColor:U?d.warning:d.success}]}),jsxRuntime.jsx(reactNative.Text,{style:[mt.statusText,{color:d.foreground,fontFamily:f.semibold}],children:U?"In Progress":"Completed"})]}),Le?jsxRuntime.jsx(reactNative.Text,{style:[mt.dateText,{color:d.foregroundMuted,fontFamily:f.regular}],children:Le}):null,jsxRuntime.jsxs(reactNative.View,{style:[mt.detailCard,{backgroundColor:d.card,borderColor:d.cardHover}],children:[L.source_amount_usd?jsxRuntime.jsxs(reactNative.View,{style:mt.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.detailLabel,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Amount Sent"}),jsxRuntime.jsxs(reactNative.Text,{style:[mt.detailValue,{color:d.foreground,fontFamily:f.medium}],children:["$",parseFloat(L.source_amount_usd).toFixed(2)," USD"]})]}):null,jsxRuntime.jsxs(reactNative.View,{style:mt.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.detailLabel,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Amount Received"}),jsxRuntime.jsxs(reactNative.Text,{style:[mt.detailValue,{color:d.foreground,fontFamily:f.medium}],children:[Pe(L)," ",De(L.destination_currency)]})]}),L.source_chain_id?jsxRuntime.jsxs(reactNative.View,{style:mt.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.detailLabel,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Source Network"}),jsxRuntime.jsx(reactNative.Text,{style:[mt.detailValue,{color:d.foreground,fontFamily:f.medium}],children:gt(L.source_chain_type??"",L.source_chain_id)})]}):null,L.destination_chain_id?jsxRuntime.jsxs(reactNative.View,{style:mt.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.detailLabel,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Destination Network"}),jsxRuntime.jsx(reactNative.Text,{style:[mt.detailValue,{color:d.foreground,fontFamily:f.medium}],children:gt(L.destination_chain_type??"",L.destination_chain_id)})]}):null]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:mt.seeMoreRow,onPress:()=>{reactNative.LayoutAnimation.configureNext(reactNative.LayoutAnimation.Presets.easeInEaseOut),me(Fe=>!Fe);},activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.seeMoreText,{color:d.foreground,fontFamily:f.medium}],children:Ue?"See less":"See more details"}),jsxRuntime.jsx(reactNative.Text,{style:[mt.seeMoreChevron,{color:d.foregroundMuted}],children:Ue?"\u25B2":"\u25BC"})]}),Ue&&jsxRuntime.jsxs(reactNative.View,{style:mt.txHashSection,children:[L.explorer_url?jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[mt.txRow,{backgroundColor:d.card,borderColor:d.cardHover}],onPress:()=>reactNative.Linking.openURL(L.explorer_url),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.txLabel,{color:d.foreground,fontFamily:f.medium}],children:"Deposit Tx"}),jsxRuntime.jsxs(reactNative.View,{style:mt.txRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.txHash,{color:d.foregroundMuted}],children:at(L.transaction_hash)}),jsxRuntime.jsx(reactNative.Text,{style:[mt.txArrow,{color:d.foregroundMuted}],children:"\u2197"})]})]}):null,!U&&L.destination_explorer_url&&L.destination_transaction_hashes?.[0]?jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[mt.txRow,{backgroundColor:d.card,borderColor:d.cardHover}],onPress:()=>reactNative.Linking.openURL(L.destination_explorer_url),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.txLabel,{color:d.foreground,fontFamily:f.medium}],children:"Completion Tx"}),jsxRuntime.jsxs(reactNative.View,{style:mt.txRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.txHash,{color:d.foregroundMuted}],children:at(L.destination_transaction_hashes[0])}),jsxRuntime.jsx(reactNative.Text,{style:[mt.txArrow,{color:d.foregroundMuted}],children:"\u2197"})]})]}):null]})]}),jsxRuntime.jsx(reactNative.View,{style:mt.bottomButtonContainer,children:jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Dt.primaryButton,{backgroundColor:d.primary,borderRadius:S.button.borderRadius,borderWidth:S.button.borderWidth,borderColor:S.button.borderColor}],onPress:a,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Dt.primaryButtonText,{color:d.primaryForeground??"#FFF",fontFamily:f.medium}],children:"Done"})})})]})}function q(){return jsxRuntime.jsxs(reactNative.View,{style:Dt.centeredContainer,children:[jsxRuntime.jsx(gs,{size:48,color:d.error,strokeWidth:1.5}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.statusTitle,{color:d.foreground,fontFamily:f.semibold}],children:ae||"Connection failed"}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.statusSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Please try again or use a different wallet."}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:Vt,activeOpacity:.8,style:[Dt.primaryButton,{backgroundColor:d.primary,borderRadius:S.button.borderRadius,borderWidth:S.button.borderWidth,borderColor:S.button.borderColor}],children:jsxRuntime.jsx(reactNative.Text,{style:[Dt.primaryButtonText,{color:d.primaryForeground??"#FFF",fontFamily:f.semibold}],children:"Try Again"})})]})}function J(){switch(v){case "selectWallet":return Ht();case "selectNetwork":return lt();case "connecting":return er();case "waitingForDeposit":return Xe();case "depositProcessing":return C();case "depositComplete":return M();case "failed":return q()}}let K=v==="selectWallet"||v==="selectNetwork"||v==="failed",_e=v==="selectNetwork"?A?.name??"Select Network":v==="depositProcessing"?"Deposit Processing":v==="depositComplete"?"Deposit Summary":"Connect Wallet";function et(){v==="selectNetwork"?(w.current=false,O(null),B(null),N(null),I("selectWallet")):s();}return jsxRuntime.jsxs(reactNative.View,{style:Dt.container,children:[jsxRuntime.jsx(fo,{title:_e,showBack:K,onBack:et,onClose:a}),J()]})}var Dt=reactNative.StyleSheet.create({container:{flex:1},centeredContainer:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:24,gap:12},walletList:{flex:1},walletListContent:{paddingHorizontal:16,paddingTop:8,paddingBottom:24,gap:8},pickerSubtitle:{fontSize:14,textAlign:"center",marginBottom:8},walletRow:{flexDirection:"row",alignItems:"center",paddingVertical:14,paddingHorizontal:14,gap:12},walletTextContainer:{flex:1},walletName:{fontSize:15,marginBottom:2},walletChains:{fontSize:12},statusTitle:{fontSize:18,textAlign:"center",marginTop:4},statusSubtitle:{fontSize:14,textAlign:"center",maxWidth:280,lineHeight:20},errorTitle:{fontSize:18,textAlign:"center",marginTop:16},errorSubtitle:{fontSize:14,textAlign:"center",maxWidth:280,lineHeight:20},primaryButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,paddingVertical:14,paddingHorizontal:24,alignSelf:"stretch",marginTop:8},primaryButtonText:{fontSize:16},retryButton:{paddingVertical:12,paddingHorizontal:24,borderRadius:8,marginTop:8},retryButtonText:{fontSize:14},networkPickerContainer:{flex:1,paddingHorizontal:16,paddingTop:16},networkPickerHeader:{alignItems:"center",marginBottom:24},networkList:{gap:8},networkRow:{flexDirection:"row",alignItems:"center",paddingVertical:14,paddingHorizontal:14,gap:12},networkIconContainer:{width:40,height:40,alignItems:"center",justifyContent:"center"},networkName:{flex:1,fontSize:16}}),mt=reactNative.StyleSheet.create({flex:{flex:1},centeredFull:{flex:1,justifyContent:"space-between"},centeredContent:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:32,gap:16},stateTitle:{fontSize:20,textAlign:"center"},stateDescription:{fontSize:14,textAlign:"center",lineHeight:20},loaderIcon:{width:48,height:48,borderRadius:24},scrollContent:{paddingHorizontal:20,paddingBottom:16,alignItems:"center"},tokenIconWrapper:{position:"relative",marginTop:24,marginBottom:8,alignSelf:"center"},tokenIcon:{width:72,height:72,borderRadius:36},statusBadge:{position:"absolute",right:-4,bottom:-4,width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},statusBadgeText:{color:"#fff",fontSize:12,fontWeight:"bold"},statusRow:{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4},statusDot:{width:8,height:8,borderRadius:4},statusText:{fontSize:16},dateText:{fontSize:13,marginBottom:28},detailCard:{width:"100%",borderRadius:12,borderWidth:1,padding:16,gap:32,marginBottom:8},detailRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},detailLabel:{fontSize:14},detailValue:{fontSize:14},seeMoreRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",paddingVertical:8},seeMoreText:{fontSize:14},seeMoreChevron:{fontSize:12},txHashSection:{width:"100%",gap:8},txRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingVertical:14,borderRadius:12,borderWidth:1},txLabel:{fontSize:14},txRight:{flexDirection:"row",alignItems:"center",gap:6},txHash:{fontSize:13,fontFamily:reactNative.Platform.OS==="ios"?"Menlo":"monospace"},txArrow:{fontSize:14},bottomButtonContainer:{paddingHorizontal:16,paddingBottom:16,gap:8}});var Zi=7,Ji=4,El=4;function Tx(e,t,r){return e<Zi&&t<Zi||e<Zi&&t>=r-Zi||e>=r-Zi&&t<Zi}function js({value:e,size:t=180,logoUri:r,logoSize:o=40,logoBackgroundColor:n,badgeUri:i,badgeSize:s=20}){let{isDark:a}=z(),l=a?"#1a1a1a":"#ffffff",c=a?"#ffffff":"#000000",p=n||l,g=ta.useMemo(()=>{try{return Sx__default.default(e||"placeholder","H")}catch{return null}},[e]),k=g?g.length:0,d=k?(t-Ji*2)/k:0,f=d*.38,S=o+12,h=S/2+4,w=t/2,v=t/2,I=k?[{x:Ji,y:Ji},{x:Ji+(k-Zi)*d,y:Ji},{x:Ji,y:Ji+(k-Zi)*d}]:[],x=Zi*d,P=5*d,m=d,u=3*d,T=2*d;return jsxRuntime.jsxs(reactNative.View,{style:[dm.container,{width:t,height:t}],children:[jsxRuntime.jsxs(Ir__default.default,{width:t,height:t,children:[jsxRuntime.jsx(Ir.Rect,{x:0,y:0,width:t,height:t,fill:l}),g?.map((b,A)=>b.map((O,F)=>{if(!O||Tx(A,F,k))return null;let B=Ji+F*d+d/2,W=Ji+A*d+d/2;if(r){let N=B-w,Z=W-v;if(Math.sqrt(N*N+Z*Z)<h)return null}return jsxRuntime.jsx(Ir.Circle,{cx:B,cy:W,r:f,fill:c},`${A}-${F}`)})),I.map((b,A)=>jsxRuntime.jsxs(ta__namespace.default.Fragment,{children:[jsxRuntime.jsx(Ir.Rect,{x:b.x,y:b.y,width:x,height:x,rx:El,ry:El,fill:c}),jsxRuntime.jsx(Ir.Rect,{x:b.x+m,y:b.y+m,width:P,height:P,rx:El-1,ry:El-1,fill:l}),jsxRuntime.jsx(Ir.Rect,{x:b.x+T,y:b.y+T,width:u,height:u,rx:El-1.5,ry:El-1.5,fill:c})]},`finder-${A}`))]}),r&&jsxRuntime.jsxs(reactNative.View,{style:[dm.logoContainer,{width:S,height:S,top:v-S/2,left:w-S/2,backgroundColor:p,borderRadius:S/2}],children:[jsxRuntime.jsx(en,{uri:r,width:o,height:o,borderRadius:o/2}),i&&jsxRuntime.jsx(reactNative.View,{style:[dm.badgeContainer,{width:s+4,height:s+4,borderRadius:(s+4)/2,backgroundColor:p}],children:jsxRuntime.jsx(en,{uri:i,width:s,height:s,borderRadius:s/2})})]})]})}var dm=reactNative.StyleSheet.create({container:{alignItems:"center",justifyContent:"center",position:"relative"},logoContainer:{position:"absolute",alignItems:"center",justifyContent:"center"},badgeContainer:{position:"absolute",bottom:-2,right:-2,alignItems:"center",justifyContent:"center"}});var Rx=e=>e.length<=16?e:`${e.slice(0,8)}...${e.slice(-6)}`,Ml=(e,t)=>`${t}:${e}`,Ix=e=>{let[t,r]=e.split(":");return {chainType:t,chainId:r}};function Nu({externalUserId:e,publishableKey:t,recipientAddress:r,destinationChainType:o,destinationChainId:n,destinationTokenAddress:i,destinationTokenSymbol:s,defaultChainType:a,defaultChainId:l,defaultTokenAddress:c,depositConfirmationMode:p="auto_ui",onExecutionsChange:g,onDepositSuccess:k,onDepositError:d,onLatestExecution:f,onShowStatusSheet:S,onSelectedTokenIconUrl:h,borderTopLeftRadius:w,borderTopRightRadius:v,sheetBorderRadius:I}){let{colors:x,fonts:P,components:m}=z(),u=a&&l?`${a}:${l}`:"solana:mainnet",[T,b]=ta.useState("USDC"),[A,O]=ta.useState(u),[F,B]=ta.useState([]),[W,N]=ta.useState(true),[Z,je]=ta.useState([]),[Y,rt]=ta.useState(true),[oe,ce]=ta.useState(false),[ae,te]=ta.useState(false),[ke,j]=ta.useState(false),[Ie,pt]=ta.useState(false),[Ge,Se]=ta.useState([]),[qe,ot]=ta.useState(new Map),[Ye]=ta.useState(()=>new Date),[dt,st]=ta.useState(null),[Me,be]=ta.useState(false),[we,ze]=ta.useState(null),[ut,ht]=ta.useState(false);ta.useEffect(()=>{we&&f?.(we);},[we]),ta.useEffect(()=>{Me&&(S?.(true),be(false));},[Me]);let xt=new Map;Z.forEach(_=>{_.chains.forEach(C=>{let M=`${C.chain_type}:${C.chain_id}`;xt.has(M)||xt.set(M,C);});});let lr=Array.from(xt.values()),Ue=Ix(A),Je=lr.find(_=>_.chain_type===Ue.chainType&&_.chain_id===Ue.chainId)?.chain_type||"ethereum",Qe=an(F,Je),Ve=Qe?.address||"",he=ta.useRef(false);ta.useEffect(()=>{async function _(){try{rt(!0),st(null);let M=await Wi(t,i&&n&&o?{destination_token_address:i,destination_chain_id:n,destination_chain_type:o}:void 0);if(je(M.data),M.data.length>0&&!he.current){he.current=!0;let q,J;if(a&&l)if(c)for(let K of M.data){let _e=K.chains.find(et=>et.chain_type===a&&et.chain_id===l&&et.token_address.toLowerCase()===c.toLowerCase());if(_e){q=K,J=_e;break}}else {let K=et=>et.chain_type===a&&et.chain_id===l,_e=M.data.find(et=>et.symbol==="USDC"&&et.chains.some(K));if(_e)q=_e,J=_e.chains.find(K);else for(let et of M.data){let L=et.chains.find(K);if(L){q=et,J=L;break}}}if(!q&&i)for(let K of M.data){let _e=K.chains.find(et=>et.token_address.toLowerCase()===i.toLowerCase());if(_e){q=K,J=_e;break}}q||(q=M.data.find(K=>K.symbol==="USDC"),q&&q.chains.length>0&&(J=q.chains[0])),q||(q=M.data.find(K=>K.symbol==="USDT"),q&&q.chains.length>0&&(J=q.chains[0])),q||(q=M.data[0],q.chains.length>0&&(J=q.chains[0])),q&&b(q.symbol),J&&O(Ml(J.chain_id,J.chain_type));}}catch(C){console.error("Error fetching supported tokens:",C),st("Failed to load supported tokens"),d?.({message:"Failed to load supported tokens",error:C});}finally{rt(false);}}_();},[t,d,a,l,c,i,n,o]),ta.useEffect(()=>{async function _(){try{N(!0),st(null);let C=await Zo({external_user_id:e,recipient_address:r,destination_chain_type:o,destination_chain_id:n,destination_token_address:i},t);B(C.data);}catch(C){console.error("Error fetching wallets:",C),st("Failed to load wallets"),d?.({message:"Failed to load wallets",error:C});}finally{N(false);}}_();},[e,r,o,n,i,t,d]);let Ne=Qe?.id??"",{showWaitingUi:vt,handleIveDeposited:Vt}=si({depositConfirmationMode:p,depositAddress:Ve,chain:A,externalUserId:e,publishableKey:t,modalOpenedAt:Ye,depositWalletId:Ne,depositExecutions:Ge,trackedExecutions:qe,setDepositExecutions:Se,setTrackedExecutions:ot,setLatestExecution:ze,setShowStatusSheet:be,onDepositSuccess:k,onExecutionsChange:g,onDepositError:d});ta.useEffect(()=>{if(!Z.length)return;let _=Z.find(M=>M.symbol===T);if(!_||_.chains.length===0){let M=Z.find(q=>q.symbol==="USDC")||Z[0];M&&(b(M.symbol),M.chains.length>0&&O(Ml(M.chains[0].chain_id,M.chains[0].chain_type)));return}if(!_.chains.some(M=>Ml(M.chain_id,M.chain_type)===A)){let M=_.chains[0];O(Ml(M.chain_id,M.chain_type));}},[T,Z,A]);let Ht=Z.find(_=>_.symbol===T),lt=it(Ht,"png")||void 0;ta.useEffect(()=>{h?.(lt);},[lt]);let er=Ht?.chains||[],Xe=er.find(_=>Ml(_.chain_id,_.chain_type)===A),yt=async()=>{if(Ve)try{reactNative.Clipboard.setString(Ve),ce(!0),setTimeout(()=>ce(!1),2e3);}catch(_){console.error("Failed to copy:",_);}},gt=Xe?.estimated_price_impact_percent??0,De=Xe?.max_slippage_percent??.25,at=Xe?.minimum_deposit_amount_usd??3;if(Y)return jsxRuntime.jsxs(reactNative.View,{style:re.loadingContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:x.primary}),jsxRuntime.jsx(reactNative.Text,{style:[re.loadingText,{color:x.foregroundMuted,fontFamily:P.regular}],children:"Loading currencies..."})]});if(dt&&Z.length===0)return jsxRuntime.jsxs(reactNative.View,{style:re.errorContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[re.errorText,{color:x.error,fontFamily:P.regular}],children:dt}),jsxRuntime.jsx(reactNative.Text,{style:[re.errorHint,{color:x.foregroundMuted,fontFamily:P.regular}],children:"Please check your network connection and try again."})]});let X=()=>jsxRuntime.jsxs(rr,{visible:ke,onClose:()=>j(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:I?.tokenSelector?.borderTopLeftRadius??w,borderTopRightRadius:I?.tokenSelector?.borderTopRightRadius??v,children:[jsxRuntime.jsxs(reactNative.View,{style:[re.sheetHeader,{borderBottomColor:x.border}],children:[jsxRuntime.jsx(reactNative.View,{style:re.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[re.sheetTitle,{color:m.header.titleColor,fontFamily:P.medium}],children:"Select Token"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>j(false),style:re.sheetCloseButton,children:jsxRuntime.jsx($t,{size:20,color:m.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(Yt,{style:re.sheetList,contentContainerStyle:re.sheetListContent,showsVerticalScrollIndicator:false,children:Z.map(_=>jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{b(_.symbol),j(false);},activeOpacity:.7,style:[re.sheetItem,{backgroundColor:T===_.symbol?m.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(_,"png"))},style:re.sheetItemIcon}),jsxRuntime.jsxs(reactNative.View,{style:re.sheetItemText,children:[jsxRuntime.jsx(reactNative.Text,{style:[re.sheetItemTitle,{color:m.card.titleColor,fontFamily:P.medium}],children:_.symbol}),jsxRuntime.jsxs(reactNative.Text,{style:[re.sheetItemSubtitle,{color:m.card.subtitleColor,fontFamily:P.regular}],children:[_.chains.length," network",_.chains.length!==1?"s":""," available"]})]}),T===_.symbol&&jsxRuntime.jsx(It,{size:20,color:x.primary,strokeWidth:2})]},_.symbol))})]}),Pe=()=>jsxRuntime.jsxs(rr,{visible:Ie,onClose:()=>pt(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:I?.chainSelector?.borderTopLeftRadius??w,borderTopRightRadius:I?.chainSelector?.borderTopRightRadius??v,children:[jsxRuntime.jsxs(reactNative.View,{style:[re.sheetHeader,{borderBottomColor:x.border}],children:[jsxRuntime.jsx(reactNative.View,{style:re.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[re.sheetTitle,{color:m.header.titleColor,fontFamily:P.medium}],children:"Select Network"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>pt(false),style:re.sheetCloseButton,children:jsxRuntime.jsx($t,{size:20,color:m.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(Yt,{style:re.sheetList,contentContainerStyle:re.sheetListContent,showsVerticalScrollIndicator:false,children:er.map(_=>{let C=Ml(_.chain_id,_.chain_type),M=A===C;return jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{O(C),pt(false);},activeOpacity:.7,style:[re.sheetItem,{backgroundColor:M?m.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(_,"png"))},style:re.sheetItemIcon}),jsxRuntime.jsxs(reactNative.View,{style:re.sheetItemText,children:[jsxRuntime.jsx(reactNative.Text,{style:[re.sheetItemTitle,{color:m.card.titleColor,fontFamily:P.medium}],children:_.chain_name}),jsxRuntime.jsxs(reactNative.Text,{style:[re.sheetItemSubtitle,{fontFamily:P.regular}],children:[jsxRuntime.jsx(reactNative.Text,{style:{color:m.card.subtitleColor},children:"Minimum deposit: "}),jsxRuntime.jsxs(reactNative.Text,{style:{color:x.warning},children:["$",_.minimum_deposit_amount_usd]})]})]}),M&&jsxRuntime.jsx(It,{size:20,color:x.primary,strokeWidth:2})]},C)})})]});return jsxRuntime.jsxs(reactNative.View,{style:re.container,children:[jsxRuntime.jsxs(reactNative.View,{style:re.selectorSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[re.selectorLabel,{color:m.card.labelColor,fontFamily:P.regular}],children:"Token"}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>j(true),style:[re.selector,{backgroundColor:m.card.backgroundColor,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth,borderColor:m.card.borderColor}],children:[Ht&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Ht,"png"))},style:re.selectorIcon}),jsxRuntime.jsx(reactNative.Text,{style:[re.selectorText,{color:m.card.titleColor,fontFamily:P.medium}],children:T}),jsxRuntime.jsx(Ar,{size:16,color:m.card.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsxs(reactNative.View,{style:re.selectorSection,children:[jsxRuntime.jsxs(reactNative.Text,{style:[re.selectorLabel,{color:m.card.labelColor,fontFamily:P.regular}],children:["Network"," ",jsxRuntime.jsxs(reactNative.Text,{style:[re.minDeposit,{color:x.warning,fontFamily:P.regular}],children:["($",at," minimum)"]})]}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>pt(true),style:[re.selector,{backgroundColor:m.card.backgroundColor,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth,borderColor:m.card.borderColor}],children:[Xe&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Xe,"png"))},style:re.selectorIcon}),jsxRuntime.jsx(reactNative.Text,{style:[re.selectorText,{color:m.card.titleColor,fontFamily:P.medium}],numberOfLines:1,children:Xe?.chain_name||"Select network"}),jsxRuntime.jsx(Ar,{size:16,color:m.card.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsx(reactNative.Text,{style:[re.intentAddressLabel,{color:x.foregroundMuted,fontFamily:P.medium}],children:"Intent address"}),jsxRuntime.jsx(reactNative.View,{style:re.qrContainer,children:jsxRuntime.jsx(reactNative.View,{style:[re.qrWrapper,{backgroundColor:x.background,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth>0?m.card.borderWidth:1,borderColor:m.card.borderColor}],children:W?jsxRuntime.jsxs(reactNative.View,{style:re.qrLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:x.primary}),jsxRuntime.jsx(reactNative.Text,{style:[re.loadingText,{color:x.foregroundMuted,fontFamily:P.regular}],children:"Loading..."})]}):Ve?jsxRuntime.jsx(js,{value:Ve,size:160,logoUri:ye(it(Xe,"png")||kr("/icons/networks/png/ethereum.png")),logoSize:40}):jsxRuntime.jsx(reactNative.View,{style:re.qrLoading,children:jsxRuntime.jsx(reactNative.Text,{style:[re.errorText,{color:x.error,fontFamily:P.regular}],children:"No address available"})})})}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:yt,disabled:W||!Ve,style:re.addressRow,activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[re.addressTruncated,{color:x.foregroundMuted,fontFamily:P.regular}],numberOfLines:1,children:W?"Loading...":Ve?Rx(Ve):"No address"}),oe?jsxRuntime.jsx(It,{size:16,color:x.success,strokeWidth:2}):jsxRuntime.jsx(Gn,{size:16,color:x.foregroundMuted,strokeWidth:1.5})]}),jsxRuntime.jsx(od,{showWaitingUi:vt,latestExecution:we}),jsxRuntime.jsxs(reactNative.View,{style:[re.detailsCard,{backgroundColor:m.card.backgroundColor,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth,borderColor:m.card.borderColor}],children:[jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>te(!ae),style:re.detailsHeader,children:[jsxRuntime.jsxs(reactNative.View,{style:re.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[re.detailIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx($o,{size:12,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[re.detailsLabel,{color:m.card.titleColor,fontFamily:P.regular}],children:"Processing time: < 1 min"})]}),jsxRuntime.jsx(reactNative.View,{style:re.chevronContainer,children:ae?jsxRuntime.jsx(di,{size:16,color:m.card.actionColor,strokeWidth:2}):jsxRuntime.jsx(Ar,{size:16,color:m.card.actionColor,strokeWidth:2})})]}),ae&&jsxRuntime.jsxs(reactNative.View,{style:re.detailsContent,children:[jsxRuntime.jsxs(reactNative.View,{style:re.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[re.detailIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Yn,{size:12,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[re.detailsLabel,{color:m.card.titleColor,fontFamily:P.regular}],children:["Price impact: ",gt.toFixed(2),"%"]}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx(Jn,{size:14,color:m.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:re.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[re.detailIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jo,{size:12,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[re.detailsLabel,{color:m.card.titleColor,fontFamily:P.regular}],children:["Slippage: Auto \u2022 ",De.toFixed(2),"%"]}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx(Jn,{size:14,color:m.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:re.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[re.detailIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Ga,{size:12,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[re.detailsLabel,{color:m.card.titleColor,fontFamily:P.regular}],children:["Need help?"," ",jsxRuntime.jsx(reactNative.Text,{style:{textDecorationLine:"underline"},children:"Contact support"})]})]}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>reactNative.Linking.openURL("https://unifold.io/terms"),style:re.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[re.detailIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jn,{size:12,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[re.detailsLabel,{color:x.primary,fontFamily:P.regular,textDecorationLine:"underline"}],children:"Terms apply"})]})]})]}),jsxRuntime.jsx(im,{depositConfirmationMode:p,depositAddress:Ve,showWaitingUi:vt,onIveDeposited:Vt}),X(),Pe(),jsxRuntime.jsxs(rr,{visible:ut,onClose:()=>ht(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.55,maxHeightPercent:.9,borderTopLeftRadius:I?.infoSheet?.borderTopLeftRadius??w,borderTopRightRadius:I?.infoSheet?.borderTopRightRadius??v,children:[jsxRuntime.jsxs(reactNative.View,{style:[re.sheetHeader,{borderBottomColor:x.border}],children:[jsxRuntime.jsx(reactNative.View,{style:re.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[re.sheetTitle,{color:m.header.titleColor,fontFamily:P.medium}],children:"Price Impact & Slippage"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(false),style:re.sheetCloseButton,children:jsxRuntime.jsx($t,{size:20,color:m.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:re.infoSheetContent,children:[jsxRuntime.jsxs(reactNative.View,{style:[re.infoCard,{backgroundColor:m.card.backgroundColor,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth,borderColor:m.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:re.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[re.infoCardIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Yn,{size:16,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[re.infoCardTitle,{color:m.card.titleColor,fontFamily:P.medium}],children:"Price Impact"}),jsxRuntime.jsxs(reactNative.Text,{style:[re.infoCardValue,{color:m.card.titleColor,fontFamily:P.medium}],children:[gt.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[re.infoCardDescription,{color:m.card.descriptionColor,fontFamily:P.regular}],children:"Price impact is the difference between the current market price and the price you'll receive for your swap. This occurs due to liquidity pool mechanics and trade size."})]}),jsxRuntime.jsxs(reactNative.View,{style:[re.infoCard,{backgroundColor:m.card.backgroundColor,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth,borderColor:m.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:re.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[re.infoCardIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jo,{size:16,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[re.infoCardTitle,{color:m.card.titleColor,fontFamily:P.medium}],children:"Max Slippage"}),jsxRuntime.jsxs(reactNative.Text,{style:[re.infoCardValue,{color:m.card.titleColor,fontFamily:P.medium}],children:[De.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[re.infoCardDescription,{color:m.card.descriptionColor,fontFamily:P.regular}],children:"Max slippage is the maximum price difference you're willing to accept between when you submit a transaction and when it executes. Your transaction will revert if the price moves beyond this threshold."})]})]})]})]})}var re=reactNative.StyleSheet.create({container:{flex:1,padding:16},loadingContainer:{padding:40,alignItems:"center",gap:12},loadingText:{fontSize:14},errorContainer:{padding:40,alignItems:"center",gap:8},errorText:{fontSize:14,textAlign:"center"},errorHint:{fontSize:12,textAlign:"center"},selectorSection:{marginBottom:12},selectorLabel:{fontSize:13,marginBottom:8},minDeposit:{fontSize:10},selector:{flexDirection:"row",alignItems:"center",gap:10,padding:12,borderRadius:12},selectorIcon:{width:24,height:24,borderRadius:12},selectorText:{flex:1,fontSize:14,fontWeight:"500"},qrContainer:{alignItems:"center",marginVertical:16},qrWrapper:{padding:16},qrLoading:{width:160,height:160,alignItems:"center",justifyContent:"center"},intentAddressLabel:{fontSize:14,textAlign:"center",marginTop:8},addressRow:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,paddingVertical:8,marginBottom:16},addressTruncated:{fontSize:14},detailsCard:{borderRadius:8,padding:4,marginBottom:16},detailsHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:8,paddingLeft:8,paddingRight:8},detailsContent:{paddingRight:12,paddingLeft:8,paddingBottom:12,gap:10},detailsRow:{flexDirection:"row",alignItems:"center",gap:8},detailIcon:{width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},detailsLabel:{fontSize:13},chevronContainer:{},spacer:{flex:1},sheetHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:16},sheetHeaderSpacer:{width:28},sheetTitle:{fontSize:16,fontWeight:"500",flex:1,textAlign:"center"},sheetCloseButton:{width:28,height:28,alignItems:"center",justifyContent:"center"},sheetList:{flex:1,paddingTop:8},sheetListContent:{paddingBottom:56},sheetItem:{flexDirection:"row",alignItems:"center",paddingVertical:12,paddingHorizontal:16,marginHorizontal:8,borderRadius:12,gap:12},sheetItemIcon:{width:40,height:40,borderRadius:20},sheetItemText:{flex:1},sheetItemTitle:{fontSize:16,fontWeight:"500"},sheetItemSubtitle:{fontSize:12,marginTop:2},infoSheetContent:{paddingHorizontal:16,paddingBottom:32,gap:16},infoCard:{borderRadius:12,padding:16,gap:12},infoCardHeader:{flexDirection:"row",alignItems:"center",gap:10},infoCardIcon:{width:32,height:32,borderRadius:16,alignItems:"center",justifyContent:"center"},infoCardTitle:{fontSize:15,fontWeight:"600",flex:1},infoCardValue:{fontSize:15,fontWeight:"600"},infoCardDescription:{fontSize:13,lineHeight:20}});function Hu({currency:e,isSelected:t,onSelect:r}){let{colors:o,fonts:n,components:i}=z();return jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>r(e.currency_code),activeOpacity:.7,style:[Ia.container,{backgroundColor:i.card.backgroundColor,borderRadius:i.list.rowBorderRadius,borderWidth:i.card.borderWidth,borderColor:i.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:Ia.leftContent,children:[jsxRuntime.jsx(reactNative.View,{style:[Ia.iconContainer,{backgroundColor:o.background}],children:jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(e,"png"))},style:Ia.icon})}),jsxRuntime.jsxs(reactNative.View,{style:Ia.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ia.name,{color:i.card.titleColor,fontFamily:n.medium}],children:e.name}),jsxRuntime.jsx(reactNative.Text,{style:[Ia.code,{color:i.card.subtitleColor,fontFamily:n.regular}],children:e.currency_code.toUpperCase()})]})]}),t&&jsxRuntime.jsx(It,{size:16,color:o.primary,strokeWidth:2})]})}var Ia=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:12,marginHorizontal:8,marginVertical:4},leftContent:{flexDirection:"row",alignItems:"center",gap:12},iconContainer:{width:40,height:40,borderRadius:20,overflow:"hidden",alignItems:"center",justifyContent:"center"},icon:{width:40,height:40,borderRadius:20},textContainer:{gap:2},name:{fontSize:14,fontWeight:"400"},code:{fontSize:12,fontWeight:"300"}});function id({title:e,currencies:t,selectedCurrency:r,onSelect:o}){let{fonts:n,components:i}=z();return t.length===0?null:jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsx(reactNative.View,{style:db.headerContainer,children:jsxRuntime.jsx(reactNative.Text,{style:[db.title,{color:i.list.titleSectionColor,fontFamily:n.medium}],children:e})}),t.map(s=>jsxRuntime.jsx(Hu,{currency:s,isSelected:r.toLowerCase()===s.currency_code.toLowerCase(),onSelect:o},s.currency_code))]})}var db=reactNative.StyleSheet.create({headerContainer:{paddingHorizontal:12,paddingBottom:8,paddingTop:4},title:{fontSize:14,fontWeight:"500"}});function ju({open:e,onOpenChange:t,currencies:r,preferredCurrencyCodes:o,selectedCurrency:n,onSelectCurrency:i,borderTopLeftRadius:s,borderTopRightRadius:a}){let{colors:l,fonts:c,components:p}=z(),[g,k]=ta.useState(""),d=o.map(x=>r.find(P=>P.currency_code.toLowerCase()===x.toLowerCase())).filter(x=>x!==void 0),f=r.filter(x=>!o.includes(x.currency_code.toLowerCase())),S=x=>{if(!g)return x;let P=g.toLowerCase();return x.filter(m=>m.name.toLowerCase().includes(P)||m.currency_code.toLowerCase().includes(P))},h=S(d),w=S(f),v=x=>{i(x),t(false),k("");},I=()=>{t(false),k("");};return jsxRuntime.jsxs(rr,{visible:e,onClose:I,closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:s,borderTopRightRadius:a,children:[jsxRuntime.jsx(fo,{title:"Currency",showBack:false,onClose:I}),jsxRuntime.jsx(reactNative.View,{style:Pa.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[Pa.searchInput,{backgroundColor:p.search.backgroundColor,color:p.search.inputColor,fontFamily:c.regular,borderRadius:p.input.borderRadius,borderWidth:p.input.borderWidth,borderColor:p.input.borderColor}],value:g,onChangeText:k,placeholder:"Search",placeholderTextColor:p.search.placeholderColor})}),jsxRuntime.jsx(Yt,{style:Pa.listContainer,showsVerticalScrollIndicator:false,keyboardShouldPersistTaps:"handled",children:jsxRuntime.jsxs(reactNative.View,{style:Pa.listContent,children:[jsxRuntime.jsx(id,{title:"Popular currencies",currencies:h,selectedCurrency:n,onSelect:v}),h.length>0&&w.length>0&&jsxRuntime.jsx(reactNative.View,{style:Pa.sectionSpacer}),jsxRuntime.jsx(id,{title:"All currencies",currencies:w,selectedCurrency:n,onSelect:v}),h.length===0&&w.length===0&&jsxRuntime.jsx(reactNative.View,{style:Pa.noResultsContainer,children:jsxRuntime.jsx(reactNative.Text,{style:[Pa.noResultsText,{color:p.container.subtitleColor,fontFamily:c.regular}],children:"No currencies found"})})]})})]})}var Pa=reactNative.StyleSheet.create({searchContainer:{marginTop:8,paddingHorizontal:18,paddingBottom:12},searchInput:{padding:16,fontSize:14},listContainer:{flex:1,paddingHorizontal:12},listContent:{paddingBottom:72},sectionSpacer:{height:8},noResultsContainer:{paddingVertical:32,alignItems:"center"},noResultsText:{fontSize:14}});function hm(e){try{return new Intl.NumberFormat("en",{style:"currency",currency:e.toUpperCase(),minimumFractionDigits:0,maximumFractionDigits:0}).format(0).replace(/\d/g,"").trim()}catch{return e.toUpperCase()}}function Ku({externalUserId:e,publishableKey:t,view:r,onViewChange:o,destinationTokenSymbol:n,recipientAddress:i,destinationChainType:s,destinationChainId:a,destinationTokenAddress:l,onDepositSuccess:c,onDepositError:p,onExecutionsChange:g,onLatestExecution:k,onShowStatusSheet:d,onSelectedTokenIconUrl:f,borderTopLeftRadius:S,borderTopRightRadius:h,sheetBorderRadius:w}){let{colors:v,fonts:I,components:x}=z(),[P,m]=ta.useState(""),[u,T]=ta.useState("usd"),[b,A]=ta.useState(false),[O,F]=ta.useState(false),[B,W]=ta.useState([]),[N,Z]=ta.useState(false),[je,Y]=ta.useState(null),[rt,oe]=ta.useState(null),[ce,ae]=ta.useState("amount"),[te,ke]=ta.useState(null),[j,Ie]=ta.useState(true),[pt,Ge]=ta.useState(null),[Se,qe]=ta.useState(false),ot=ta.useRef(null),Ye=ta.useRef(false);ta.useEffect(()=>{ot.current=te;},[te]),ta.useEffect(()=>{Ye.current=Se;},[Se]);let[dt,st]=ta.useState([]),[Me,be]=ta.useState(true),[we,ze]=ta.useState(60),[ut,ht]=ta.useState([]),[xt,lr]=ta.useState([]),[Ue,me]=ta.useState(null),[Je,Qe]=ta.useState(null),[Ve,he]=ta.useState(true),[Ne,vt]=ta.useState(null),[Vt,Ht]=ta.useState(false),[lt,er]=ta.useState(null),[Xe,yt]=ta.useState(false),[gt,De]=ta.useState(false),[at,X]=ta.useState(false),[Pe,_]=ta.useState(null),C=r??ce,M=ta.useRef(null),q=ut.find(ne=>ne.currency_code.toLowerCase()===u.toLowerCase()),J=ta.useCallback(ne=>{ae(ne),ne==="quotes"?o?.(ne,B.length):o?.(ne);},[B.length,o]);ta.useEffect(()=>{async function ne(){try{let ue=await aa();Qe(ue);}catch(ue){console.error("Error fetching user IP:",ue);}finally{he(false);}}ne();},[]),ta.useEffect(()=>{async function ne(){try{let ue=await Zo({external_user_id:e,recipient_address:i,destination_chain_type:s,destination_chain_id:a,destination_token_address:l},t);st(ue.data);}catch(ue){console.error("Error fetching wallets:",ue),Y("Failed to load wallet addresses");}finally{be(false);}}ne();},[e,i,s,a,l,t]);let K=n||Ue?.symbol.toUpperCase()||"USDC",_e=ui(Ue?.icon_urls,"png")||Ue?.icon_url,et=ui(Ue?.chain_icon_urls,"png")||Ue?.chain_icon_url,[L,U]=ta.useState([]),[kt,Le]=ta.useState(new Map),[Fe]=ta.useState(()=>new Date),[bt,nt]=ta.useState(null),[ee,vr]=ta.useState(false),[ft,tr]=ta.useState(null);ta.useEffect(()=>{C==="onramp"&&!ft&&tr(new Date);},[C,ft]);let Mt=Ne?.destination_token_metadata?.chain_type||s||"ethereum",qr=Ne?.destination_token_metadata?.chain_id||a||"",Mr=`${Mt}:${qr}`,li=an(dt,Mt),on=li?.address||"",yo=li?.id??"";ta.useEffect(()=>{bt&&k?.(bt);},[bt]),ta.useEffect(()=>{ee&&(d?.(true),vr(false));},[ee]),ta.useEffect(()=>{f?.(_e||void 0);},[_e]),ta.useEffect(()=>{g?.(L);},[L]),si({depositConfirmationMode:"auto_silent",enabled:C==="onramp",depositAddress:on,chain:Mr,externalUserId:e,publishableKey:t,modalOpenedAt:ft??Fe,depositWalletId:yo,depositExecutions:L,trackedExecutions:kt,setDepositExecutions:U,setTrackedExecutions:Le,setLatestExecution:nt,setShowStatusSheet:vr,onDepositSuccess:c,onExecutionsChange:g,onDepositError:p}),ta.useEffect(()=>{async function ne(){try{let ue=await bc(t);ht(ue.data),lr(ue.preferred||[]);}catch(ue){console.error("Error fetching fiat currencies:",ue);}}ne();},[t]),ta.useEffect(()=>{if(b||ut.length===0||!Je?.alpha2)return;let ne=Je.alpha2.toUpperCase(),ue=ut.find(zt=>zt.country_codes.includes(ne));if(ue)T(ue.currency_code.toLowerCase()),!P&&!O&&m(String(ue.default_amount??100));else if(!P&&!O){let zt=ut.find(ur=>ur.currency_code.toLowerCase()==="usd");zt&&m(String(zt.default_amount??100));}},[ut,Je,b,P,O]),ta.useEffect(()=>{if(ut.length!==0){if(M.current!==null&&M.current!==u){let ne=ut.find(ue=>ue.currency_code.toLowerCase()===u.toLowerCase());ne&&m(String(ne.default_amount??100));}M.current=u;}},[u,ut]),ta.useEffect(()=>{async function ne(){try{let ue=await Np({chain_type:s||"",chain_id:a||"",token_address:l||""},t);me(ue);}catch(ue){console.error("Error fetching supported tokens:",ue);}}ne();},[s,a,l,t]),ta.useEffect(()=>{async function ne(){if(!(!l||!a||!s)&&!Ve){Ht(true);try{let ue=await yc({country_code:Je?.alpha2?.toUpperCase()||"US",subdivision_code:Je?.state||void 0,token_address:l,chain_id:a,chain_type:s},t);vt(ue);}catch(ue){console.error("Error fetching default onramp token:",ue);}finally{Ht(false);}}}ne();},[l,a,s,Je,Ve,t]),ta.useEffect(()=>{let ne=parseFloat(P);if(isNaN(ne)||ne<=0){W([]),oe(null);return}if(!Ne||Vt){W([]),ke(null);return}let ue=ut.find(ur=>ur.currency_code.toLowerCase()===u.toLowerCase());if(ue){if(ne<ue.minimum_amount){W([]),ke(null),oe(`Minimum amount is ${hm(u)}${ue.minimum_amount.toLocaleString()}`);return}if(ne>ue.maximum_amount){W([]),ke(null),oe(`Maximum amount is ${hm(u)}${ue.maximum_amount.toLocaleString()}`);return}}oe(null);let zt=setTimeout(()=>{Bo(ne);},500);return ()=>clearTimeout(zt)},[P,u,t,Ne,Vt,ut]);let Bo=async ne=>{if(!Ne){Y("Loading token information...");return}Z(true),Y(null);try{let ue={country_code:Je?.alpha2?.toUpperCase()||"US",source_amount:ne.toString(),source_currency:u.toLowerCase(),destination_currency:Ne.destination_currency,destination_network:Ne.destination_network,subdivision_code:Je?.state||void 0},zt=await Hp(ue,t);W(zt.data);let ur=Ye.current,Go=ot.current;if(ur&&Go){let sn=zt.data.find(D=>D.service_provider===Go.service_provider);if(sn){if(ke(sn),zt.data.length>0){let D=zt.data[0];pt||Ge(D.service_provider),Ie(sn.service_provider===pt);}}else if(zt.data.length>0){let D=zt.data[0];ke(D),Ge(D.service_provider),Ie(!0),qe(!1);}}else if(zt.data.length>0){let sn=zt.data[0];ke(sn),Ge(sn.service_provider),Ie(!0);}ze(60);}catch(ue){console.error("Failed to fetch quotes:",ue),Y("Failed to fetch quotes. Please try again."),W([]);}finally{Z(false);}};ta.useEffect(()=>{if(B.length===0)return;let ne=setInterval(()=>{ze(ue=>{if(ue<=1){let zt=parseFloat(P);return !isNaN(zt)&&zt>0&&Bo(zt),60}return ue-1});},1e3);return ()=>clearInterval(ne)},[B.length,P]);let nn=ne=>{(/^\d*\.?\d{0,2}$/.test(ne)||ne==="")&&(m(ne),F(true));},ko=ne=>{m(ne.toString()),F(true);},na=async()=>{if(te&&Ne)try{let ne=Ne.destination_token_metadata.chain_type,ue=an(dt,ne);if(!ue?.address){Y("Wallet address not available");return}let zt={service_provider:te.service_provider,country_code:te.country_code?.toUpperCase()||Je?.alpha2?.toUpperCase()||"US",source_currency:te.source_currency,source_amount:P,destination_currency:te.destination_currency,destination_network:te.destination_network,wallet_address:ue.address,subdivision_code:Je?.state||void 0},ur=await $p(zt,t);er({provider:te,sourceCurrency:u,sourceAmount:P,sessionUrl:ur.url}),_(ur.url),X(!0);}catch(ne){console.error("Failed to create session:",ne),Y("Failed to start payment flow"),p?.({message:"Failed to start payment flow",error:ne});}},bo=hm(u),Lt=()=>{X(false),J("onramp"),c?.({message:"Payment flow completed"});},Qr=()=>jsxRuntime.jsx(Nx,{visible:at,onClose:Lt,url:Pe,providerName:te?.service_provider_display_name||"Complete Payment",colors:v,fonts:I,borderTopLeftRadius:w?.webView?.borderTopLeftRadius??S,borderTopRightRadius:w?.webView?.borderTopRightRadius??h});return C==="amount"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.View,{style:xe.amountViewContainer,children:[jsxRuntime.jsxs(Yt,{style:xe.scrollContainer,contentContainerStyle:xe.scrollContent,showsVerticalScrollIndicator:false,keyboardShouldPersistTaps:"handled",bounces:false,children:[jsxRuntime.jsx(reactNative.View,{style:xe.currencySelector,children:jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>yt(true),style:[xe.currencyButton,{backgroundColor:x.card.backgroundColor,borderRadius:x.input.borderRadius,borderWidth:x.input.borderWidth,borderColor:x.input.borderColor}],children:[q&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(q,"png"))},style:xe.currencyIcon}),jsxRuntime.jsx(reactNative.Text,{style:[xe.currencyText,{color:x.card.titleColor,fontFamily:I.medium}],children:u.toUpperCase()}),jsxRuntime.jsx(Ar,{size:16,color:x.card.actionColor,strokeWidth:2})]})}),jsxRuntime.jsx(ju,{open:Xe,onOpenChange:yt,currencies:ut,preferredCurrencyCodes:xt,selectedCurrency:u,onSelectCurrency:ne=>{T(ne.toLowerCase()),A(true);},borderTopLeftRadius:w?.currencyModal?.borderTopLeftRadius??S,borderTopRightRadius:w?.currencyModal?.borderTopRightRadius??h}),jsxRuntime.jsx(reactNative.View,{style:xe.amountContainer,children:jsxRuntime.jsxs(reactNative.View,{style:xe.amountInputRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[xe.currencySymbol,{color:x.container.titleColor,fontFamily:I.medium}],children:bo}),jsxRuntime.jsx(reactNative.TextInput,{style:[xe.amountInput,{color:x.container.titleColor,fontFamily:I.medium}],value:P,onChangeText:nn,keyboardType:"decimal-pad",placeholder:"0",placeholderTextColor:v.foregroundMuted})]})}),q?.suggested_amounts&&q.suggested_amounts.length>0&&jsxRuntime.jsx(reactNative.View,{style:xe.quickAmounts,children:q.suggested_amounts.map(ne=>jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ko(ne),style:[xe.quickAmountButton,{backgroundColor:x.card.backgroundColor,borderRadius:x.button.borderRadius,borderWidth:parseFloat(P)===ne?2:x.button.borderWidth,borderColor:parseFloat(P)===ne?v.primary:x.button.borderColor}],children:jsxRuntime.jsxs(reactNative.Text,{style:[xe.quickAmountText,{color:x.card.titleColor,fontFamily:I.medium}],children:[bo,ne.toLocaleString()]})},ne))}),rt&&jsxRuntime.jsx(reactNative.Text,{style:[xe.validationError,{color:v.error,fontFamily:I.regular}],children:rt}),jsxRuntime.jsxs(reactNative.View,{style:xe.providerSection,children:[jsxRuntime.jsxs(reactNative.View,{style:xe.providerHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:[xe.providerLabel,{color:x.card.labelColor,fontFamily:I.medium}],children:"Provider"}),B.length>0&&!N&&jsxRuntime.jsxs(reactNative.Text,{style:[xe.refreshText,{color:x.card.labelRightColor,fontFamily:I.regular}],children:["Refreshing in ",we,"s"]})]}),jsxRuntime.jsx(jr,{cardTokens:x.depositCard.quoteProvider.card,onPress:N||B.length===0?void 0:()=>De(true),contentStyle:reactNative.StyleSheet.flatten([xe.providerButton,(N||B.length===0)&&xe.disabled]),children:N?jsxRuntime.jsxs(reactNative.View,{style:xe.providerLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:v.primary}),jsxRuntime.jsx(reactNative.Text,{style:[xe.loadingText,{color:x.container.subtitleColor,fontFamily:I.regular}],children:"Finding best rates..."})]}):te?jsxRuntime.jsxs(reactNative.View,{style:xe.providerContent,children:[jsxRuntime.jsxs(reactNative.View,{style:xe.providerInfo,children:[j&&jsxRuntime.jsx(reactNative.Text,{style:[xe.autoPickedText,{color:x.container.subtitleColor,fontFamily:I.regular}],children:"Auto-picked for you"}),jsxRuntime.jsxs(reactNative.View,{style:xe.providerRow,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(Ld(te.icon_urls,"png",te.icon_url))},style:xe.providerIconImage},`provider-${te.service_provider}`),jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsx(reactNative.Text,{style:[xe.providerName,{color:x.card.titleColor,fontFamily:I.medium}],children:te.service_provider_display_name}),jsxRuntime.jsxs(reactNative.Text,{style:[xe.bestPriceText,{color:x.container.subtitleColor,fontFamily:I.regular}],children:[te.destination_amount.toFixed(2)," ",K]})]})]})]}),jsxRuntime.jsx(co,{size:20,color:x.card.actionColor,strokeWidth:2})]}):jsxRuntime.jsx(reactNative.Text,{style:[xe.noProviderText,{color:x.container.subtitleColor,fontFamily:I.regular}],children:parseFloat(P)>0?"No providers available":"Enter an amount to see providers"})}),je&&jsxRuntime.jsx(reactNative.Text,{style:[xe.errorText,{color:v.error,fontFamily:I.regular}],children:je})]}),jsxRuntime.jsxs(rr,{visible:gt,onClose:()=>De(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:w?.providerModal?.borderTopLeftRadius??S,borderTopRightRadius:w?.providerModal?.borderTopRightRadius??h,children:[jsxRuntime.jsx(fo,{title:"Select Provider",showBack:false,onClose:()=>De(false)}),jsxRuntime.jsx(Yt,{style:xe.providerModalList,contentContainerStyle:xe.providerModalListContent,showsVerticalScrollIndicator:false,children:jsxRuntime.jsx(reactNative.View,{style:xe.quotesList,children:B.map(ne=>{let ue=te?.service_provider===ne.service_provider;return jsxRuntime.jsxs(jr,{cardTokens:x.depositCard.quoteProvider.card,onPress:()=>{ke(ne),qe(true),Ie(ne.service_provider===pt),De(false);},contentStyle:reactNative.StyleSheet.flatten([xe.quoteItem,ue&&{borderWidth:2,borderColor:v.primary}]),children:[jsxRuntime.jsxs(reactNative.View,{style:xe.quoteLeft,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(Ld(ne.icon_urls,"png",ne.icon_url))},style:xe.providerIconImage}),jsxRuntime.jsx(reactNative.View,{children:jsxRuntime.jsx(reactNative.Text,{style:[xe.quoteName,{color:x.card.titleColor,fontFamily:I.medium}],children:ne.service_provider_display_name})})]}),jsxRuntime.jsxs(reactNative.View,{style:xe.quoteRight,children:[jsxRuntime.jsxs(reactNative.Text,{style:[xe.quoteAmount,{color:x.card.textRightColor,fontFamily:I.medium}],children:[ne.destination_amount.toFixed(2)," ",K]}),jsxRuntime.jsxs(reactNative.Text,{style:[xe.quoteSource,{color:x.card.subtextRightColor,fontFamily:I.regular}],children:["Fee: ",bo,ne.total_fee.toFixed(2)]})]})]},ne.service_provider)})})})]})]}),jsxRuntime.jsx(reactNative.View,{style:[xe.continueButtonContainer,{backgroundColor:v.background}],children:jsxRuntime.jsx(reactNative.View,{style:{opacity:N||Me||!te||parseFloat(P)<=0?.5:1},children:jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:na,disabled:N||Me||!te||parseFloat(P)<=0,style:[xe.continueButton,{backgroundColor:x.container.buttonColor,borderRadius:x.button.borderRadius,borderWidth:x.button.borderWidth,borderColor:x.button.borderColor}],children:jsxRuntime.jsx(reactNative.Text,{style:[xe.continueButtonText,{color:x.container.buttonTitleColor,fontFamily:I.medium}],children:Me?"Loading...":"Continue"})})})})]}),Qr()]}):C==="onramp"&<?jsxRuntime.jsxs(reactNative.View,{style:xe.onrampContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(Ld(lt.provider.icon_urls,"png",lt.provider.icon_url))},style:xe.onrampProviderIcon}),jsxRuntime.jsxs(reactNative.Text,{style:[xe.onrampTitle,{color:x.container.titleColor,fontFamily:I.medium}],children:["Complete transaction with ",lt.provider.service_provider_display_name]}),jsxRuntime.jsx(reactNative.Text,{style:[xe.onrampSubtitle,{color:x.container.subtitleColor,fontFamily:I.regular}],children:"You can close this modal."}),jsxRuntime.jsxs(reactNative.View,{style:[xe.flowDiagram,{backgroundColor:x.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:xe.flowStep,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:kr(`/icons/currencies/png/${lt.sourceCurrency.toLowerCase()}.png`)},style:xe.flowIconImage}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowLabel,{color:x.card.subtitleColor,fontFamily:I.regular}],children:"You use"}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowValue,{color:x.card.titleColor,fontFamily:I.medium}],children:lt.sourceCurrency.toUpperCase()})]}),jsxRuntime.jsx(co,{size:16,color:x.card.actionColor,strokeWidth:2}),jsxRuntime.jsxs(reactNative.View,{style:xe.flowStep,children:[jsxRuntime.jsxs(reactNative.View,{style:xe.flowIconWithBadge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ui(Ne?.destination_token_metadata?.icon_urls,"png")||Ne?.destination_token_metadata?.icon_url||kr("/icons/tokens/png/usdc.png")},style:xe.flowIconImageNoBadge}),jsxRuntime.jsx(reactNative.Image,{source:{uri:ui(Ne?.destination_token_metadata?.chain?.icon_urls,"png")||Ne?.destination_token_metadata?.chain?.icon_url||kr("/icons/networks/png/polygon.png")},style:[xe.flowNetworkBadge,{borderColor:v.background,borderRadius:x.badge.borderRadius}]})]}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowLabel,{color:x.card.subtitleColor,fontFamily:I.regular}],children:"You buy"}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowValue,{color:x.card.titleColor,fontFamily:I.medium}],children:"USDC"})]}),jsxRuntime.jsx(co,{size:16,color:x.card.actionColor,strokeWidth:2}),jsxRuntime.jsxs(reactNative.View,{style:xe.flowStep,children:[jsxRuntime.jsxs(reactNative.View,{style:xe.flowIconWithBadge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:_e||kr("/icons/tokens/png/usdc.png")},style:xe.flowIconImageNoBadge}),jsxRuntime.jsx(reactNative.Image,{source:{uri:et||kr("/icons/networks/png/polygon.png")},style:[xe.flowNetworkBadge,{borderColor:v.background,borderRadius:x.badge.borderRadius}]})]}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowLabel,{color:x.card.subtitleColor,fontFamily:I.regular}],children:"You receive"}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowValue,{color:x.card.titleColor,fontFamily:I.medium}],children:K})]})]}),jsxRuntime.jsx(reactNative.View,{style:[xe.onrampInfoBox,{backgroundColor:x.card.backgroundColor,borderRadius:x.card.borderRadius,borderWidth:x.card.borderWidth,borderColor:x.card.borderColor}],children:jsxRuntime.jsx(reactNative.Text,{style:[xe.onrampInfoText,{color:x.card.descriptionColor,fontFamily:I.regular}],children:"The wallet address displayed in the payment provider is a temporary deposit address. Your funds will be automatically converted and deposited into your account."})})]}):null}function Nx({visible:e,onClose:t,url:r,providerName:o,colors:n,fonts:i,borderTopLeftRadius:s,borderTopRightRadius:a}){return jsxRuntime.jsxs(rr,{visible:e,onClose:t,closeOnBackdropPress:false,enablePanDownToClose:false,showHandle:false,heightPercent:.92,noPadding:true,borderTopLeftRadius:s,borderTopRightRadius:a,children:[jsxRuntime.jsxs(reactNative.View,{style:Fa.header,children:[jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:t,style:Fa.headerButton,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(It,{size:20,color:n.foregroundMuted,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[Fa.headerTitle,{color:n.foreground,fontFamily:i.medium}],children:o}),jsxRuntime.jsx(reactNative.View,{style:Fa.headerSpacer})]}),r&&jsxRuntime.jsx(reactNative.View,{style:Fa.container,children:jsxRuntime.jsx(reactNativeWebview.WebView,{source:{uri:r},style:Fa.webView,startInLoadingState:true,renderLoading:()=>jsxRuntime.jsx(reactNative.View,{style:Fa.loading,children:jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:n.primary})})})})]})}var Fa=reactNative.StyleSheet.create({header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingTop:16,paddingBottom:8},headerButton:{width:28,height:28,alignItems:"center",justifyContent:"center"},headerTitle:{fontSize:16,fontWeight:"500",flex:1,textAlign:"center"},headerSpacer:{width:28,height:28},container:{flex:1},webView:{flex:1},loading:{position:"absolute",top:0,left:0,right:0,bottom:0,alignItems:"center",justifyContent:"center"}}),xe=reactNative.StyleSheet.create({amountViewContainer:{flex:1},scrollContainer:{flex:1},scrollContent:{padding:16,paddingBottom:16},currencySelector:{alignItems:"center",marginBottom:16},currencyButton:{flexDirection:"row",alignItems:"center",gap:6,paddingHorizontal:12,paddingVertical:8},currencyText:{fontSize:14,fontWeight:"500"},currencyIcon:{width:24,height:24,borderRadius:12},amountContainer:{alignItems:"center",marginBottom:24},amountInputRow:{flexDirection:"row",alignItems:"center",marginBottom:8},currencySymbol:{fontSize:48,fontWeight:"300"},amountInput:{fontSize:48,fontWeight:"300",minWidth:50},usdcPreview:{fontSize:14},quickAmounts:{flexDirection:"row",justifyContent:"center",gap:12,marginBottom:24},quickAmountButton:{paddingHorizontal:20,paddingVertical:10},quickAmountText:{fontSize:14,fontWeight:"500"},validationError:{fontSize:12,textAlign:"center",marginTop:12,paddingHorizontal:16},providerSection:{marginBottom:24},providerHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8},providerLabel:{fontSize:12,fontWeight:"500"},refreshText:{fontSize:10},providerButton:{padding:16},disabled:{opacity:.5},providerLoading:{flexDirection:"row",alignItems:"center",gap:12},loadingText:{fontSize:14},providerContent:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},providerInfo:{flex:1},autoPickedText:{fontSize:12,marginBottom:6},providerRow:{flexDirection:"row",alignItems:"center",gap:12},providerIcon:{width:32,height:32,borderRadius:16},providerIconPlaceholder:{width:32,height:32,borderRadius:8},providerIconImage:{width:32,height:32,borderRadius:8},providerName:{fontSize:14,fontWeight:"500"},bestPriceText:{fontSize:11,marginTop:2},noProviderText:{fontSize:14,textAlign:"center"},errorText:{fontSize:12,marginTop:8},continueButtonContainer:{padding:16,paddingBottom:48},continueButton:{paddingVertical:16,alignItems:"center"},continueButtonText:{fontSize:16,fontWeight:"600"},webViewHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingTop:16,paddingBottom:8},webViewHeaderButton:{width:28,height:28,alignItems:"center",justifyContent:"center"},webViewHeaderTitle:{fontSize:16,fontWeight:"500",flex:1,textAlign:"center"},webViewHeaderSpacer:{width:28,height:28},webViewContainer:{flex:1},webView:{flex:1},webViewLoading:{position:"absolute",top:0,left:0,right:0,bottom:0,alignItems:"center",justifyContent:"center"},providerModalList:{flex:1,paddingHorizontal:12,marginTop:8},providerModalListContent:{paddingBottom:72},quotesList:{gap:8,paddingBottom:24,minHeight:468},quoteItem:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:12},quoteLeft:{flexDirection:"row",alignItems:"center",gap:12},quoteIcon:{width:40,height:40,borderRadius:20},quoteName:{fontSize:14,fontWeight:"500"},quoteRight:{alignItems:"flex-end"},quoteAmount:{fontSize:14,fontWeight:"500"},quoteSource:{fontSize:12},onrampContainer:{flex:1,padding:16,alignItems:"center",paddingTop:24},onrampProviderIcon:{width:64,height:64,borderRadius:16},onrampTitle:{fontSize:18,fontWeight:"600",textAlign:"center",marginTop:20,marginBottom:8,paddingHorizontal:16},onrampSubtitle:{fontSize:14,textAlign:"center",marginBottom:24},flowDiagram:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:20,paddingHorizontal:24,borderRadius:12,width:"100%"},flowIconWithBadge:{position:"relative",width:24,height:24,marginBottom:4},flowIconImageNoBadge:{width:24,height:24,borderRadius:12},flowNetworkBadge:{position:"absolute",bottom:-4,right:-6,width:14,height:14,borderWidth:2},onrampInfoBox:{marginTop:16,padding:16,width:"100%"},onrampInfoText:{fontSize:13,lineHeight:20},flowStep:{alignItems:"center"},flowIcon:{width:28,height:28,borderRadius:14,marginBottom:4},flowIconImage:{width:24,height:24,borderRadius:12,marginBottom:4},flowLabel:{fontSize:10},flowValue:{fontSize:14,fontWeight:"500"}});function qx(e){try{let t=new Date(e);return t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})+" at "+t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}catch{return e}}function Qx(e){return e?`$${parseFloat(e).toFixed(2)}`:"$0.00"}function Ju({execution:e,onPress:t}){let {colors:r,fonts:o,components:n}=z(),i=n.depositTracker.executionRow.card,s=e.status==="pending"||e.status==="waiting"||e.status==="delayed";e.status==="succeeded";let l=ye(it(e.destination_token_metadata,"png")||kr("/icons/tokens/png/usdc.png")),c=s?"Deposit Processing":"Deposit Completed",p=qx(e.created_at||new Date().toISOString()),g=Qx(e.source_amount_usd);return jsxRuntime.jsxs(jr,{cardTokens:i,onPress:t,contentStyle:ts.container,children:[jsxRuntime.jsxs(reactNative.View,{style:ts.iconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:l},style:ts.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[ts.statusBadge,{backgroundColor:s?r.warning:r.success,borderColor:i.backgroundColor}],children:s?jsxRuntime.jsx(Ya,{size:12,color:"#FFFFFF",strokeWidth:2.5}):jsxRuntime.jsx(It,{size:12,color:"#FFFFFF",strokeWidth:3})})]}),jsxRuntime.jsxs(reactNative.View,{style:ts.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ts.title,{color:i.titleColor,fontFamily:o.medium}],children:c}),jsxRuntime.jsx(reactNative.Text,{style:[ts.dateTime,{color:i.subtitleColor,fontFamily:o.regular}],children:p})]}),jsxRuntime.jsxs(reactNative.View,{style:ts.rightContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ts.amount,{color:i.textRightColor,fontFamily:o.medium}],children:g}),jsxRuntime.jsx(co,{size:20,color:i.actionColor,strokeWidth:2})]})]})}var ts=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingVertical:12},iconContainer:{position:"relative",marginRight:12},tokenIcon:{width:40,height:40,borderRadius:20},statusBadge:{position:"absolute",bottom:-4,right:-4,width:22,height:22,borderRadius:11,alignItems:"center",justifyContent:"center",borderWidth:2},textContainer:{flex:1,gap:2},title:{fontSize:16,fontWeight:"500"},dateTime:{fontSize:13},rightContainer:{flexDirection:"row",alignItems:"center",gap:8},amount:{fontSize:16,fontWeight:"500"}});function mb(e,t){let r={solana:"Solana",ethereum:"Ethereum",bitcoin:"Bitcoin",n1:"N1",cardano:"Cardano",algorand:"Algorand",xrpl:"XRPL"};return e==="ethereum"?{1:"Ethereum",137:"Polygon",8453:"Base",42161:"Arbitrum",10:"Optimism"}[t]||r[e]||e:r[e]||e}function hb(e,t=6){if(!e)return "\u2014";try{let r=Number(e)/Math.pow(10,t);return r===0?"0.00":r>=1?r.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}):r.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:8,minimumSignificantDigits:2,maximumSignificantDigits:6})}catch{return "0.00"}}function Gx(e){return e?`$${parseFloat(e).toFixed(2)}`:"$0.00"}var gb=e=>!e||e.length<12?e:`${e.slice(0,12)}...${e.slice(-4)}`;function yb(e){if(!e)return "";let t=e.indexOf(".");return t===-1?e.toUpperCase():e.slice(0,t).toUpperCase()+e.slice(t)}function Yx(e){try{let t=new Date(e);return t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})+" at "+t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}catch{return e}}function Jx({count:e=4}){let{colors:t,components:r}=z(),o=ta.useRef(new reactNative.Animated.Value(.5)).current,n=r.depositTracker.executionRow.card,i=t.cardHover;return ta.useEffect(()=>{let s=reactNative.Animated.loop(reactNative.Animated.sequence([reactNative.Animated.timing(o,{toValue:1,duration:800,useNativeDriver:true}),reactNative.Animated.timing(o,{toValue:.5,duration:800,useNativeDriver:true})]));return s.start(),()=>s.stop()},[o]),jsxRuntime.jsx(reactNative.View,{style:Da.list,children:Array.from({length:e}).map((s,a)=>jsxRuntime.jsxs(reactNative.View,{style:[Da.row,{backgroundColor:n.backgroundColor,borderRadius:n.borderRadius??12,borderWidth:n.borderWidth,borderColor:n.borderColor}],children:[jsxRuntime.jsx(reactNative.Animated.View,{style:[Da.icon,{backgroundColor:i,opacity:o}]}),jsxRuntime.jsxs(reactNative.View,{style:Da.textBlock,children:[jsxRuntime.jsx(reactNative.Animated.View,{style:[Da.titleBar,{backgroundColor:i,opacity:o}]}),jsxRuntime.jsx(reactNative.Animated.View,{style:[Da.subtitleBar,{backgroundColor:i,opacity:o}]})]}),jsxRuntime.jsx(reactNative.Animated.View,{style:[Da.amountBar,{backgroundColor:i,opacity:o}]})]},a))})}var Da=reactNative.StyleSheet.create({list:{paddingTop:16,paddingHorizontal:16,gap:12},row:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingVertical:12},icon:{width:40,height:40,borderRadius:20,marginRight:12},textBlock:{flex:1,gap:6},titleBar:{height:14,width:"65%",borderRadius:7},subtitleBar:{height:11,width:"45%",borderRadius:5.5},amountBar:{height:14,width:50,borderRadius:7,marginLeft:12}});function bm({active:e,onClose:t,executions:r,externalUserId:o,publishableKey:n}){let{colors:i,fonts:s,components:a}=z(),[l,c]=ta.useState(r),[p,g]=ta.useState(false),[k,d]=ta.useState(null),[f,S]=ta.useState(false),h=ta.useRef(null);ta.useEffect(()=>{if(!e||!o)return;let u=async()=>{g(true);try{let A=[...(await ln(o,n,"deposit")).data].sort((O,F)=>{let B=O.created_at?new Date(O.created_at).getTime():0;return (F.created_at?new Date(F.created_at).getTime():0)-B});c(A);}catch(b){console.error("Failed to fetch executions:",b),c(r);}finally{g(false);}};u();let T=setInterval(u,1e4);return ()=>clearInterval(T)},[e,o,n,r]),ta.useEffect(()=>{r.length>0&&c(u=>{let T=new Set(u.map(A=>A.id)),b=r.filter(A=>!T.has(A.id));return b.length>0?[...b,...u]:u});},[r]),ta.useEffect(()=>{e||d(null);},[e]);let w=u=>{d(u);},v=()=>{d(null),S(false);},I=()=>{d(null),t();},x=()=>{if(!k)return null;let u=k,T=u.status==="pending"||u.status==="waiting"||u.status==="delayed",b=u.status==="succeeded",A=ye(it(u.destination_token_metadata,"png")||kr("/icons/tokens/png/usdc.png")),O=u.provider_metadata?.details,F=O?.currencyIn,B=O?.currencyOut;F?.currency?.symbol||"USDC";B?.currency?.symbol||"USDC";let Z=hb(u.source_amount_base_unit,u.source_token_metadata?.decimals),je=hb(u.destination_amount_base_unit,u.destination_token_metadata?.decimals),Y=Gx(u.source_amount_usd),rt=mb(u.source_chain_type,u.source_chain_id),oe=mb(u.destination_chain_type,u.destination_chain_id),ce=()=>{u.explorer_url&&reactNative.Linking.openURL(u.explorer_url);},ae=()=>{u.destination_explorer_url&&reactNative.Linking.openURL(u.destination_explorer_url);};return jsxRuntime.jsxs(Yt,{ref:h,style:ct.scrollContainer,contentContainerStyle:ct.detailsContent,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsxs(reactNative.View,{style:ct.iconSection,children:[jsxRuntime.jsxs(reactNative.View,{style:ct.iconWrapper,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:A},style:ct.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[ct.statusBadge,{backgroundColor:T?i.warning:i.success,borderColor:i.background}],children:T?jsxRuntime.jsx(Ar,{size:14,color:"#FFFFFF",strokeWidth:2}):jsxRuntime.jsx(It,{size:14,color:"#FFFFFF",strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:ct.statusRow,children:[jsxRuntime.jsx(reactNative.View,{style:[ct.statusDot,{backgroundColor:T?i.warning:i.success}]}),jsxRuntime.jsx(reactNative.Text,{style:[ct.statusText,{color:a.container.titleColor,fontFamily:s.semibold}],children:T?"Processing":"Completed"})]}),jsxRuntime.jsx(reactNative.Text,{style:[ct.dateText,{color:a.container.subtitleColor,fontFamily:s.regular}],children:Yx(u.created_at||new Date().toISOString())})]}),jsxRuntime.jsxs(reactNative.View,{style:[ct.card,{backgroundColor:a.card.backgroundColor,borderRadius:a.card.borderRadius,borderWidth:a.card.borderWidth,borderColor:a.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Amount Sent"}),jsxRuntime.jsxs(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:[Z," ",yb(u.source_currency)]})]}),jsxRuntime.jsx(reactNative.View,{style:[ct.cardDivider,{backgroundColor:i.border}]}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Amount Received"}),jsxRuntime.jsxs(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:[je," ",yb(u.destination_currency)]})]}),jsxRuntime.jsx(reactNative.View,{style:[ct.cardDivider,{backgroundColor:i.border}]}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"USD Value"}),jsxRuntime.jsx(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:Y})]}),jsxRuntime.jsx(reactNative.View,{style:[ct.cardDivider,{backgroundColor:i.border}]}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Source Network"}),jsxRuntime.jsx(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:rt})]}),jsxRuntime.jsx(reactNative.View,{style:[ct.cardDivider,{backgroundColor:i.border}]}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Destination Network"}),jsxRuntime.jsx(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:oe})]})]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>{let te=!f;S(te),te?setTimeout(()=>{h.current?.scrollToEnd({animated:true});},100):h.current?.scrollTo({y:0,animated:true});},style:ct.toggleButton,activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.toggleText,{color:a.container.actionTitle,fontFamily:s.regular}],children:f?"See less":"See more details"}),f?jsxRuntime.jsx(di,{size:14,color:a.container.actionColor,strokeWidth:2}):jsxRuntime.jsx(Ar,{size:14,color:a.container.actionColor,strokeWidth:2})]}),f&&jsxRuntime.jsxs(reactNative.View,{style:[ct.card,{backgroundColor:a.card.backgroundColor,borderRadius:a.card.borderRadius,borderWidth:a.card.borderWidth,borderColor:a.card.borderColor}],children:[u.explorer_url&&jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:ce,style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Deposit Tx"}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRowRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:gb(u.transaction_hash)}),jsxRuntime.jsx(En,{size:14,color:a.card.actionIcon,strokeWidth:2})]})]}),jsxRuntime.jsx(reactNative.View,{style:[ct.cardDivider,{backgroundColor:i.border}]})]}),u.destination_explorer_url&&b&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:ae,style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Completion Tx"}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRowRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:gb(u.destination_transaction_hashes[0])}),jsxRuntime.jsx(En,{size:14,color:a.card.actionIcon,strokeWidth:2})]})]})]})]})},P=p&&l.length===0;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fo,{title:k?"Deposit Details":"Deposit Tracker",onClose:I,showClose:!k,showBack:!!k,onBack:v}),k?x():P?jsxRuntime.jsx(Jx,{}):jsxRuntime.jsx(Yt,{style:ct.scrollContainer,contentContainerStyle:ct.scrollContent,showsVerticalScrollIndicator:false,children:l.length===0?jsxRuntime.jsxs(reactNative.View,{style:ct.emptyContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.emptyText,{color:a.container.titleColor,fontFamily:s.medium}],children:"No deposits yet"}),jsxRuntime.jsx(reactNative.Text,{style:[ct.emptySubtext,{color:a.container.subtitleColor,fontFamily:s.regular}],children:"Your deposit history will appear here"})]}):jsxRuntime.jsx(reactNative.View,{style:ct.executionsList,children:l.map(u=>jsxRuntime.jsx(Ju,{execution:u,onPress:()=>w(u)},u.id))})})]})}var ct=reactNative.StyleSheet.create({scrollContainer:{flex:1,paddingTop:16},scrollContent:{paddingHorizontal:16,paddingBottom:40},emptyContainer:{paddingVertical:40,paddingHorizontal:16,alignItems:"center"},emptyText:{fontSize:14,marginBottom:4},emptySubtext:{fontSize:12},executionsList:{paddingTop:8,gap:12},detailsContent:{paddingHorizontal:16,paddingBottom:32},iconSection:{alignItems:"center",marginBottom:24},iconWrapper:{position:"relative",marginBottom:12},tokenIcon:{width:72,height:72,borderRadius:36},statusBadge:{position:"absolute",bottom:0,right:0,width:28,height:28,borderRadius:14,alignItems:"center",justifyContent:"center",borderWidth:3},statusRow:{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4},statusDot:{width:8,height:8,borderRadius:4},statusText:{fontSize:16,fontWeight:"600"},dateText:{fontSize:14},card:{borderRadius:12,marginBottom:12,overflow:"hidden"},cardRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:14,paddingHorizontal:16},cardRowRight:{flexDirection:"row",alignItems:"center",gap:8},cardDivider:{height:1,marginHorizontal:16},cardLabel:{fontSize:14},cardValue:{fontSize:14,fontWeight:"500"},toggleButton:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:12,paddingHorizontal:4},toggleText:{fontSize:14},buttonSection:{marginTop:12,gap:10},actionButton:{flexDirection:"row",alignItems:"center",paddingVertical:16,paddingHorizontal:16,borderRadius:12},buttonIconLeft:{marginRight:12},buttonIconRight:{marginLeft:12},buttonText:{color:"#FFFFFF",fontSize:14,fontWeight:"600",flex:1,textAlign:"left"},hintText:{fontSize:12,textAlign:"center",marginTop:8}});function sd(e,t=true){let[r,o]=ta.useState(null),[n,i]=ta.useState(null),[s,a]=ta.useState(false),[l,c]=ta.useState(false),[p,g]=ta.useState(null),[k,d]=ta.useState(null);ta.useEffect(()=>{!t||r||(a(true),aa().then(w=>{o(w),g(null);}).catch(w=>{g(w instanceof Error?w:new Error(String(w)));}).finally(()=>{a(false);}));},[t,r]),ta.useEffect(()=>{!t||!e||n||(c(true),wc(e).then(w=>{i(w),d(null);}).catch(w=>{d(w instanceof Error?w:new Error(String(w)));}).finally(()=>{c(false);}));},[t,e,n]);let f=s||l,S=p||k||null,h=null;if(r&&n){let w=n.blocked_country_codes||[],v=r.alpha2.toUpperCase();h=!w.some(I=>I.toUpperCase()===v);}return {isAllowed:h,alpha2:r?.alpha2?.toLowerCase()??null,country:r?.country??null,isLoading:f,error:S}}var Sm="unifold_recent_tokens",r1=5,kb=[{symbol:"ETH",chainType:"ethereum",chainId:"1"},{symbol:"SOL",chainType:"solana",chainId:"mainnet"},{symbol:"USDC",chainType:"solana",chainId:"mainnet"},{symbol:"POL",chainType:"ethereum",chainId:"137"},{symbol:"BNB",chainType:"ethereum",chainId:"56"},{symbol:"BTC",chainType:"bitcoin",chainId:"mainnet"}];async function rp(){try{let e=await Tf__default.default.getItem(Sm);return e?JSON.parse(e):[]}catch{return []}}async function o1(e){try{let r=(await rp()).filter(n=>!(n.symbol===e.symbol&&n.chainType===e.chainType&&n.chainId===e.chainId));r.unshift(e);let o=r.slice(0,r1);await Tf__default.default.setItem(Sm,JSON.stringify(o));}catch{}}async function n1(e){try{let r=(await rp()).filter(o=>!(o.symbol===e.symbol&&o.chainType===e.chainType&&o.chainId===e.chainId));return await Tf__default.default.setItem(Sm,JSON.stringify(r)),r}catch{return []}}function Tm({visible:e,onClose:t,tokens:r,selectedToken:o,selectedChainKey:n,onSelect:i,borderTopLeftRadius:s,borderTopRightRadius:a,hideQuickSelect:l=false,marginHorizontal:c,heightPercent:p=.9,showHandle:g=true}){let{colors:k,fonts:d,components:f}=z(),[S,h]=ta.useState(""),[w,v]=ta.useState([]);ta.useEffect(()=>{e&&rp().then(v);},[e]),ta.useEffect(()=>{e||h("");},[e]);let I=ta.useMemo(()=>{let b=[];return r.forEach(A=>{A.chains.forEach(O=>{b.push({token:A,chain:O});});}),b},[r]),x=ta.useMemo(()=>{let b=[],A=new Set,O=(F,B,W,N)=>{let Z=`${F}-${B}:${W}`;if(A.has(Z))return;let je=r.find(rt=>rt.symbol===F);if(!je)return;let Y=je.chains.find(rt=>rt.chain_type===B&&rt.chain_id===W);Y&&(A.add(Z),b.push({token:je,chain:Y,isRecent:N}));};return w.forEach(F=>{O(F.symbol,F.chainType,F.chainId,true);}),kb.forEach(F=>{O(F.symbol,F.chainType,F.chainId,false);}),b},[r,w]),P=ta.useMemo(()=>{if(!S.trim())return I;let b=S.toLowerCase();return I.filter(({token:A,chain:O})=>A.symbol.toLowerCase().includes(b)||A.name.toLowerCase().includes(b)||O.chain_name.toLowerCase().includes(b))},[I,S]),m=(b,A,O)=>kb.some(F=>F.symbol===b&&F.chainType===A&&F.chainId===O),u=async(b,A)=>{let O=`${A.chain_type}:${A.chain_id}`;if(!m(b.symbol,A.chain_type,A.chain_id)){await o1({symbol:b.symbol,chainType:A.chain_type,chainId:A.chain_id});let F=await rp();v(F);}h(""),i(b.symbol,O),t();},T=async(b,A)=>{let O=await n1({symbol:b.symbol,chainType:A.chain_type,chainId:A.chain_id});v(O);};return jsxRuntime.jsxs(rr,{visible:e,onClose:t,closeOnBackdropPress:true,showHandle:g,heightPercent:p,borderTopLeftRadius:s,borderTopRightRadius:a,marginHorizontal:c,children:[jsxRuntime.jsxs(reactNative.View,{style:[wr.header,!g&&{paddingTop:20}],children:[jsxRuntime.jsx(reactNative.View,{style:wr.headerSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[wr.headerTitle,{color:f.header.titleColor,fontFamily:d.medium}],children:"Select token to deposit"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:t,style:wr.closeButton,hitSlop:{top:12,bottom:12,left:12,right:12},children:jsxRuntime.jsx($t,{size:20,color:f.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.View,{style:wr.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[wr.searchInput,{backgroundColor:f.search.backgroundColor,color:f.search.inputColor,fontFamily:d.regular,borderRadius:f.input.borderRadius,borderWidth:f.input.borderWidth,borderColor:f.input.borderColor}],placeholder:"Search",placeholderTextColor:f.search.placeholderColor,value:S,onChangeText:h,autoCapitalize:"none",autoCorrect:false})}),!l&&x.length>0&&!S&&jsxRuntime.jsxs(reactNative.View,{style:wr.quickSelectSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[wr.sectionLabel,{color:f.list.titleSectionColor,fontFamily:d.regular}],children:"Quick select"}),jsxRuntime.jsx(reactNative.ScrollView,{horizontal:true,showsHorizontalScrollIndicator:false,keyboardShouldPersistTaps:"handled",contentContainerStyle:wr.quickSelectScroll,children:x.map(({token:b,chain:A,isRecent:O})=>{let F=`${A.chain_type}:${A.chain_id}`;b.symbol===o&&F===n;return jsxRuntime.jsxs(reactNative.View,{children:[O&&jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>T(b,A),style:wr.removeButton,children:jsxRuntime.jsx($t,{size:12,color:k.foregroundMuted,strokeWidth:2})}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>u(b,A),activeOpacity:.7,style:[wr.quickSelectItem,{backgroundColor:f.card.backgroundColor,borderRadius:f.card.borderRadius,borderWidth:f.card.borderWidth,borderColor:f.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:wr.tokenIconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(b,"png"))},style:wr.quickSelectIcon}),jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(A,"png"))},style:[wr.quickSelectChainBadge,{borderColor:f.card.backgroundColor,borderRadius:f.badge.borderRadius}]})]}),jsxRuntime.jsxs(reactNative.View,{style:wr.quickSelectText,children:[jsxRuntime.jsx(reactNative.Text,{style:[wr.quickSelectSymbol,{color:f.card.titleColor,fontFamily:d.medium}],children:b.symbol}),jsxRuntime.jsx(reactNative.Text,{style:[wr.quickSelectChain,{color:f.card.subtitleColor,fontFamily:d.regular}],children:A.chain_name})]})]})]},`quick-${b.symbol}-${F}`)})})]}),jsxRuntime.jsx(reactNative.Text,{style:[wr.sectionLabel,{color:f.list.titleSectionColor,fontFamily:d.regular}],children:"All supported tokens"}),jsxRuntime.jsx(Yt,{style:wr.tokenList,showsVerticalScrollIndicator:false,keyboardShouldPersistTaps:"handled",contentContainerStyle:wr.tokenListContent,children:P.length===0?jsxRuntime.jsx(reactNative.View,{style:wr.emptyState,children:jsxRuntime.jsx(reactNative.Text,{style:[wr.emptyText,{color:k.foregroundMuted,fontFamily:d.regular}],children:"No tokens found"})}):P.map(({token:b,chain:A})=>{let O=`${A.chain_type}:${A.chain_id}`,F=b.symbol===o&&O===n;return jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>u(b,A),activeOpacity:.7,style:[wr.tokenItem,{backgroundColor:F?f.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsxs(reactNative.View,{style:wr.tokenIconContainerLarge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(b,"png"))},style:wr.tokenIcon}),jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(A,"png"))},style:[wr.tokenChainBadge,{borderColor:f.card.backgroundColor,borderRadius:f.badge.borderRadius}]})]}),jsxRuntime.jsxs(reactNative.View,{style:wr.tokenInfo,children:[jsxRuntime.jsx(reactNative.Text,{style:[wr.tokenSymbol,{color:f.card.titleColor,fontFamily:d.medium}],children:b.symbol}),jsxRuntime.jsx(reactNative.Text,{style:[wr.tokenChainName,{color:f.card.subtitleColor,fontFamily:d.regular}],children:A.chain_name})]}),jsxRuntime.jsxs(reactNative.Text,{style:[wr.minDeposit,{color:f.card.labelColor,fontFamily:d.regular}],children:["Minimum:"," ",jsxRuntime.jsxs(reactNative.Text,{style:{color:f.card.labelHighlightRightColor,fontFamily:d.regular},children:["$",A.minimum_deposit_amount_usd]})]})]},`${b.symbol}-${O}`)})})]})}var wr=reactNative.StyleSheet.create({header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:16},closeButton:{width:36,height:36,alignItems:"center",justifyContent:"center"},headerTitle:{fontSize:16,fontWeight:"500",textAlign:"center",flex:1},headerSpacer:{width:36},searchContainer:{paddingHorizontal:16,paddingBottom:12},searchInput:{height:40,paddingHorizontal:16,fontSize:14},quickSelectSection:{marginBottom:12},sectionLabel:{fontSize:12,paddingHorizontal:16,marginBottom:8},quickSelectScroll:{paddingHorizontal:16,gap:8},quickSelectItem:{flexDirection:"row",alignItems:"center",gap:8,paddingVertical:8,paddingHorizontal:12},removeButton:{position:"absolute",top:-2,right:-6,zIndex:1,padding:2},tokenIconContainer:{position:"relative"},quickSelectIcon:{width:28,height:28,borderRadius:14},quickSelectChainBadge:{position:"absolute",bottom:-2,right:-2,width:14,height:14,borderRadius:7,borderWidth:2},quickSelectText:{alignItems:"flex-start"},quickSelectSymbol:{fontSize:12,fontWeight:"500"},quickSelectChain:{fontSize:10},tokenList:{flex:1},tokenListContent:{paddingHorizontal:16,paddingBottom:72,gap:4},emptyState:{padding:32,alignItems:"center"},emptyText:{fontSize:14},tokenItem:{flexDirection:"row",alignItems:"center",gap:12,padding:12,borderRadius:12},tokenIconContainerLarge:{position:"relative"},tokenIcon:{width:40,height:40,borderRadius:20},tokenChainBadge:{position:"absolute",bottom:-4,right:-4,width:20,height:20,borderRadius:10,borderWidth:2},tokenInfo:{flex:1},tokenSymbol:{fontSize:14,fontWeight:"500"},tokenChainName:{fontSize:12},minDeposit:{fontSize:12}});var ad=(e,t)=>`${t}:${e}`,c1=e=>{let[t,r]=e.split(":");return {chainType:t,chainId:r}};function km({externalUserId:e,publishableKey:t,recipientAddress:r,destinationChainType:o,destinationChainId:n,destinationTokenAddress:i,destinationTokenSymbol:s,defaultChainType:a,defaultChainId:l,defaultTokenAddress:c,depositConfirmationMode:p="auto_ui",onExecutionsChange:g,onDepositSuccess:k,onDepositError:d,onLatestExecution:f,onShowStatusSheet:S,onSelectedTokenIconUrl:h,wallets:w,borderTopLeftRadius:v,borderTopRightRadius:I,sheetBorderRadius:x}){let{colors:P,fonts:m,components:u}=z(),T=a&&l?`${a}:${l}`:"solana:mainnet",[b,A]=ta.useState("USDC"),[O,F]=ta.useState(T),[B,W]=ta.useState([]),[N,Z]=ta.useState(!w?.length),je=w?.length?w:B,[Y,rt]=ta.useState([]),[oe,ce]=ta.useState(true),[ae,te]=ta.useState(false),[ke,j]=ta.useState(false),[Ie,pt]=ta.useState(false),[Ge,Se]=ta.useState([]),[qe,ot]=ta.useState(new Map),[Ye]=ta.useState(()=>new Date),[dt,st]=ta.useState(null),[Me,be]=ta.useState(false),[we,ze]=ta.useState(null),[ut,ht]=ta.useState(false);ta.useEffect(()=>{we&&f?.(we);},[we]),ta.useEffect(()=>{Me&&(S?.(true),be(false));},[Me]);let xt=new Map;Y.forEach(X=>{X.chains.forEach(Pe=>{let _=`${Pe.chain_type}:${Pe.chain_id}`;xt.has(_)||xt.set(_,Pe);});});let lr=Array.from(xt.values()),Ue=c1(O),me=lr.find(X=>X.chain_type===Ue.chainType&&X.chain_id===Ue.chainId),Je=me?.chain_type||"ethereum",Qe=an(je,Je),Ve=Qe?.address||"",he=ta.useRef(false);ta.useEffect(()=>{async function X(){try{ce(!0),st(null);let _=await Wi(t,i&&n&&o?{destination_token_address:i,destination_chain_id:n,destination_chain_type:o}:void 0);if(rt(_.data),_.data.length>0&&!he.current){he.current=!0;let C,M;if(a&&l)if(c)for(let q of _.data){let J=q.chains.find(K=>K.chain_type===a&&K.chain_id===l&&K.token_address.toLowerCase()===c.toLowerCase());if(J){C=q,M=J;break}}else {let q=K=>K.chain_type===a&&K.chain_id===l,J=_.data.find(K=>K.symbol==="USDC"&&K.chains.some(q));if(J)C=J,M=J.chains.find(q);else for(let K of _.data){let _e=K.chains.find(q);if(_e){C=K,M=_e;break}}}if(!C&&i)for(let q of _.data){let J=q.chains.find(K=>K.token_address.toLowerCase()===i.toLowerCase());if(J){C=q,M=J;break}}C||(C=_.data.find(q=>q.symbol==="USDC"),C&&C.chains.length>0&&(M=C.chains[0])),C||(C=_.data.find(q=>q.symbol==="USDT"),C&&C.chains.length>0&&(M=C.chains[0])),C||(C=_.data[0],C.chains.length>0&&(M=C.chains[0])),C&&A(C.symbol),M&&F(ad(M.chain_id,M.chain_type));}}catch(Pe){console.error("Error fetching supported tokens:",Pe),st("Failed to load supported tokens"),d?.({message:"Failed to load supported tokens",error:Pe});}finally{ce(false);}}X();},[t,i,n,o,a,l,c,d]),ta.useEffect(()=>{g&&g(Ge);},[Ge,g]),ta.useEffect(()=>{if(w?.length){Z(false);return}if(B.length>0){Z(false);return}let X=null,Pe=false,_=async()=>{if(!Pe){Z(true);try{let C=await Zo({external_user_id:e,recipient_address:r,destination_chain_type:o,destination_chain_id:n,destination_token_address:i},t);Pe||(W(C.data),st(null),Z(!1));}catch(C){console.error("Error fetching wallets, retrying in 5s:",C),Pe||(st(C instanceof Error?C.message:"Failed to load wallets"),Z(false),X=setTimeout(_,5e3));}}};return _(),()=>{Pe=true,X&&clearTimeout(X);}},[e,r,o,n,i,t,w,B.length]);let Ne=Qe?.id??"",{showWaitingUi:vt,handleIveDeposited:Vt}=si({depositConfirmationMode:p,depositAddress:Ve,chain:O,externalUserId:e,publishableKey:t,modalOpenedAt:Ye,depositWalletId:Ne,depositExecutions:Ge,trackedExecutions:qe,setDepositExecutions:Se,setTrackedExecutions:ot,setLatestExecution:ze,setShowStatusSheet:be,onDepositSuccess:k,onExecutionsChange:g,onDepositError:d});ta.useEffect(()=>{if(!Y.length)return;let X=Y.find(_=>_.symbol===b);if(!X||X.chains.length===0){let _=Y.find(C=>C.symbol==="USDC")||Y[0];_&&(A(_.symbol),_.chains.length>0&&F(ad(_.chains[0].chain_id,_.chains[0].chain_type)));return}if(!X.chains.some(_=>ad(_.chain_id,_.chain_type)===O)){let _=X.chains[0];F(ad(_.chain_id,_.chain_type));}},[b,Y,O]);let Ht=Y.find(X=>X.symbol===b),lt=it(Ht,"png")||void 0;ta.useEffect(()=>{h?.(lt);},[lt]);let Xe=(Ht?.chains||[]).find(X=>ad(X.chain_id,X.chain_type)===O),yt=async()=>{if(Ve)try{reactNative.Clipboard.setString(Ve),te(!0),setTimeout(()=>te(!1),2e3);}catch(X){console.error("Failed to copy:",X);}},gt=Xe?.estimated_price_impact_percent??0,De=Xe?.max_slippage_percent??.25,at=Xe?.minimum_deposit_amount_usd??3;return oe?jsxRuntime.jsxs(reactNative.View,{style:Ce.loadingContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:P.primary}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.loadingText,{color:P.foregroundMuted,fontFamily:m.regular}],children:"Loading currencies..."})]}):dt&&Y.length===0?jsxRuntime.jsxs(reactNative.View,{style:Ce.errorContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ce.errorText,{color:P.error,fontFamily:m.regular}],children:dt}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.errorHint,{color:P.foregroundMuted,fontFamily:m.regular}],children:"Please check your network connection and try again."})]}):jsxRuntime.jsxs(reactNative.View,{style:Ce.container,children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.selectorSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ce.selectorLabel,{color:u.card.labelColor,fontFamily:m.medium}],children:"Select token to deposit"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>pt(true),disabled:oe||Y.length===0,style:[Ce.tokenSelectorButton,{backgroundColor:u.card.backgroundColor,borderRadius:u.card.borderRadius,borderWidth:u.card.borderWidth,borderColor:u.card.borderColor}],activeOpacity:.7,children:oe?jsxRuntime.jsxs(reactNative.View,{style:Ce.tokenSelectorLoading,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.loadingIcon,{backgroundColor:P.cardHover}]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.loadingTextContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.loadingLine,{backgroundColor:P.cardHover,width:60}]}),jsxRuntime.jsx(reactNative.View,{style:[Ce.loadingLine,{backgroundColor:P.cardHover,width:100,marginTop:4}]})]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.tokenIconWrapper,children:[Ht&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Ht,"png"))},style:Ce.tokenMainIcon}),(Xe||me)&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Xe||me,"png"))},style:[Ce.tokenChainBadge,{borderColor:u.card.backgroundColor,borderRadius:u.badge.borderRadius}]})]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.tokenSelectorInfo,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ce.tokenSelectorSymbol,{color:u.card.titleColor,fontFamily:m.semibold}],children:Ht?.symbol||b}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.tokenSelectorNetwork,{color:u.card.subtitleColor,fontFamily:m.regular}],numberOfLines:1,children:Xe?.chain_name||me?.chain_name||"Select network"})]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.tokenSelectorRight,children:[jsxRuntime.jsxs(reactNative.Text,{style:[Ce.minDepositText,{color:P.warning,fontFamily:m.medium}],children:["$",at," minimum"]}),jsxRuntime.jsx(co,{size:16,color:u.card.actionColor,strokeWidth:2})]})]})})]}),jsxRuntime.jsx(Tm,{visible:Ie,onClose:()=>pt(false),tokens:Y,selectedToken:b,selectedChainKey:O,onSelect:(X,Pe)=>{A(X),F(Pe);},borderTopLeftRadius:x?.tokenSelector?.borderTopLeftRadius??v,borderTopRightRadius:x?.tokenSelector?.borderTopRightRadius??I}),jsxRuntime.jsx(reactNative.View,{style:Ce.qrContainer,children:jsxRuntime.jsx(reactNative.View,{style:[Ce.qrWrapper,{backgroundColor:P.background,borderRadius:u.card.borderRadius,borderWidth:u.card.borderWidth>0?u.card.borderWidth:1,borderColor:u.card.borderColor}],children:N?jsxRuntime.jsxs(reactNative.View,{style:Ce.qrLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:P.primary}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.loadingText,{color:P.foregroundMuted,fontFamily:m.regular}],children:"Loading..."})]}):Ve?jsxRuntime.jsx(js,{value:Ve,size:180,logoUri:ye(it(Xe,"png")||kr("/icons/networks/png/ethereum.png")),logoSize:45}):jsxRuntime.jsx(reactNative.View,{style:Ce.qrLoading,children:jsxRuntime.jsx(reactNative.Text,{style:[Ce.errorText,{color:P.error,fontFamily:m.regular}],children:"No address available"})})})}),jsxRuntime.jsxs(reactNative.View,{style:Ce.addressSection,children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.addressHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ce.addressLabel,{color:u.card.labelColor,fontFamily:m.medium}],children:"Deposit Address"}),ae&&jsxRuntime.jsxs(reactNative.View,{style:Ce.copiedIndicator,children:[jsxRuntime.jsx(It,{size:14,color:P.success,strokeWidth:2}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.copiedText,{color:P.success,fontFamily:m.regular}],children:"Copied"})]})]}),jsxRuntime.jsxs(jr,{cardTokens:u.transferCrypto.depositAddress.card,onPress:!N&&Ve?yt:void 0,contentStyle:Ce.addressBox,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ce.addressText,{color:u.card.titleColor,fontFamily:m.regular}],numberOfLines:2,children:N?"Loading...":Ve||"No address available"}),jsxRuntime.jsx(reactNative.View,{style:Ce.addressCopyIcon,children:jsxRuntime.jsx(Gn,{size:16,color:u.card.actionColor,strokeWidth:1})})]})]}),jsxRuntime.jsxs(reactNative.View,{style:[Ce.detailsCard,{backgroundColor:u.card.backgroundColor,borderRadius:u.card.borderRadius,borderWidth:u.card.borderWidth,borderColor:u.card.borderColor}],children:[jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>j(!ke),style:Ce.detailsHeader,children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.detailIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx($o,{size:12,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.detailsLabel,{color:u.card.titleColor,fontFamily:m.regular}],children:"Processing time: < 1 min"})]}),jsxRuntime.jsx(reactNative.View,{style:Ce.chevronContainer,children:ke?jsxRuntime.jsx(di,{size:16,color:u.card.actionColor,strokeWidth:2}):jsxRuntime.jsx(Ar,{size:16,color:u.card.actionColor,strokeWidth:2})})]}),ke&&jsxRuntime.jsxs(reactNative.View,{style:Ce.detailsContent,children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.detailIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Yn,{size:12,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Ce.detailsLabel,{color:u.card.titleColor,fontFamily:m.regular}],children:["Price impact: ",gt.toFixed(2),"%"]}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx(Jn,{size:14,color:u.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.detailIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jo,{size:12,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Ce.detailsLabel,{color:u.card.titleColor,fontFamily:m.regular}],children:["Slippage: Auto \u2022 ",De.toFixed(2),"%"]}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx(Jn,{size:14,color:u.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.detailIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Ga,{size:12,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Ce.detailsLabel,{color:u.card.titleColor,fontFamily:m.regular}],children:["Need help?"," ",jsxRuntime.jsx(reactNative.Text,{style:{textDecorationLine:"underline"},children:"Contact support"})]})]})]})]}),jsxRuntime.jsx(Zy,{depositConfirmationMode:p,depositAddress:Ve,showWaitingUi:vt,latestExecution:we,onIveDeposited:Vt}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{style:Ce.termsContainer,onPress:()=>reactNative.Linking.openURL("https://unifold.io/terms"),children:jsxRuntime.jsx(reactNative.Text,{style:[Ce.termsText,{color:P.primary,fontFamily:m.regular}],children:"Terms apply"})}),jsxRuntime.jsxs(rr,{visible:ut,onClose:()=>ht(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.55,maxHeightPercent:.9,borderTopLeftRadius:x?.infoSheet?.borderTopLeftRadius??v,borderTopRightRadius:x?.infoSheet?.borderTopRightRadius??I,children:[jsxRuntime.jsxs(reactNative.View,{style:[Ce.sheetHeader,{borderBottomColor:P.border}],children:[jsxRuntime.jsx(reactNative.View,{style:Ce.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.sheetTitle,{color:u.header.titleColor,fontFamily:m.medium}],children:"Price Impact & Slippage"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(false),style:Ce.sheetCloseButton,children:jsxRuntime.jsx($t,{size:20,color:u.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.infoSheetContent,children:[jsxRuntime.jsxs(reactNative.View,{style:[Ce.infoCard,{backgroundColor:u.card.backgroundColor,borderRadius:u.card.borderRadius,borderWidth:u.card.borderWidth,borderColor:u.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.infoCardIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Yn,{size:16,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.infoCardTitle,{color:u.card.titleColor,fontFamily:m.medium}],children:"Price Impact"}),jsxRuntime.jsxs(reactNative.Text,{style:[Ce.infoCardValue,{color:u.card.titleColor,fontFamily:m.medium}],children:[gt.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.infoCardDescription,{color:u.card.descriptionColor,fontFamily:m.regular}],children:"Price impact is the difference between the current market price and the price you'll receive for your swap. This occurs due to liquidity pool mechanics and trade size."})]}),jsxRuntime.jsxs(reactNative.View,{style:[Ce.infoCard,{backgroundColor:u.card.backgroundColor,borderRadius:u.card.borderRadius,borderWidth:u.card.borderWidth,borderColor:u.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.infoCardIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jo,{size:16,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.infoCardTitle,{color:u.card.titleColor,fontFamily:m.medium}],children:"Max Slippage"}),jsxRuntime.jsxs(reactNative.Text,{style:[Ce.infoCardValue,{color:u.card.titleColor,fontFamily:m.medium}],children:[De.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.infoCardDescription,{color:u.card.descriptionColor,fontFamily:m.regular}],children:"Max slippage is the maximum price difference you're willing to accept between when you submit a transaction and when it executes. Your transaction will revert if the price moves beyond this threshold."})]})]})]})]})}var Ce=reactNative.StyleSheet.create({container:{flex:1,paddingHorizontal:16},loadingContainer:{padding:40,alignItems:"center",gap:12},loadingText:{fontSize:14},errorContainer:{padding:40,alignItems:"center",gap:8},errorText:{fontSize:14,textAlign:"center"},errorHint:{fontSize:12,textAlign:"center"},selectorSection:{marginBottom:12},selectorLabel:{fontSize:12,marginBottom:8},tokenSelectorButton:{flexDirection:"row",alignItems:"center",gap:12,padding:12},tokenSelectorLoading:{flexDirection:"row",alignItems:"center",gap:12,flex:1},loadingIcon:{width:40,height:40,borderRadius:20},loadingTextContainer:{flex:1},loadingLine:{height:12,borderRadius:6},tokenIconWrapper:{position:"relative"},tokenMainIcon:{width:40,height:40,borderRadius:20},tokenChainBadge:{position:"absolute",bottom:-4,right:-4,width:20,height:20,borderRadius:10,borderWidth:2},tokenSelectorInfo:{flex:1},tokenSelectorSymbol:{fontSize:14,fontWeight:"500"},tokenSelectorNetwork:{fontSize:12,marginTop:2},tokenSelectorRight:{flexDirection:"row",alignItems:"center",gap:8},minDepositText:{fontSize:12,fontWeight:"500"},qrContainer:{alignItems:"center",marginVertical:8},qrWrapper:{padding:16},qrLoading:{width:160,height:160,alignItems:"center",justifyContent:"center"},addressSection:{marginBottom:16},addressHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8},addressLabel:{fontSize:12},copiedIndicator:{flexDirection:"row",alignItems:"center",gap:4},copiedText:{fontSize:12,fontWeight:"500"},addressBox:{position:"relative",paddingHorizontal:12,paddingVertical:16},addressText:{fontSize:12,fontFamily:"monospace"},addressCopyIcon:{position:"absolute",right:12,top:0,bottom:0,justifyContent:"center"},detailsCard:{borderRadius:8,padding:4,marginBottom:16},detailsHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:8,paddingLeft:8,paddingRight:8},detailsContent:{paddingRight:12,paddingLeft:8,paddingBottom:12,gap:10},detailsRow:{flexDirection:"row",alignItems:"center",gap:8},detailIcon:{width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},detailsLabel:{fontSize:13},chevronContainer:{},termsContainer:{alignItems:"center",paddingVertical:8},termsText:{fontSize:12,textDecorationLine:"underline"},sheetHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:16},sheetHeaderSpacer:{width:28},sheetTitle:{fontSize:16,fontWeight:"500",flex:1,textAlign:"center"},sheetCloseButton:{width:28,height:28,alignItems:"center",justifyContent:"center"},infoSheetContent:{paddingHorizontal:16,paddingBottom:32,gap:16},infoCard:{borderRadius:12,padding:16,gap:12},infoCardHeader:{flexDirection:"row",alignItems:"center",gap:10},infoCardIcon:{width:32,height:32,borderRadius:16,alignItems:"center",justifyContent:"center"},infoCardTitle:{fontSize:15,fontWeight:"600",flex:1},infoCardValue:{fontSize:15,fontWeight:"600"},infoCardDescription:{fontSize:13,lineHeight:20}});var Nl=(e,t)=>`${t}:${e}`,m1=e=>{let[t,r]=e.split(":");return {chainType:t,chainId:r}},h1=e=>e.length<=16?e:`${e.slice(0,8)}...${e.slice(-6)}`;function ip({externalUserId:e,publishableKey:t,recipientAddress:r,destinationChainType:o,destinationChainId:n,destinationTokenAddress:i,destinationTokenSymbol:s,defaultChainType:a,defaultChainId:l,defaultTokenAddress:c,depositConfirmationMode:p="auto_ui",onExecutionsChange:g,onDepositSuccess:k,onDepositError:d,onLatestExecution:f,onShowStatusSheet:S,onSelectedTokenIconUrl:h,onShowInfoSheet:w,onInfoSheetData:v,wallets:I,borderTopLeftRadius:x,borderTopRightRadius:P,sheetBorderRadius:m}){let{colors:u,fonts:T,components:b}=z(),A=a&&l?`${a}:${l}`:"solana:mainnet",[O,F]=ta.useState("USDC"),[B,W]=ta.useState(A),[N,Z]=ta.useState([]),[je,Y]=ta.useState(!I?.length),rt=I?.length?I:N,[oe,ce]=ta.useState([]),[ae,te]=ta.useState(true),[ke,j]=ta.useState(false),[Ie,pt]=ta.useState(false),[Ge,Se]=ta.useState(false),[qe,ot]=ta.useState([]),[Ye,dt]=ta.useState(new Map),[st]=ta.useState(()=>new Date),[Me,be]=ta.useState(null),[we,ze]=ta.useState(false),[ut,ht]=ta.useState(null),[xt,lr]=ta.useState(false),[Ue,me]=ta.useState(false),[Je,Qe]=ta.useState(""),[Ve,he]=ta.useState(""),Ne=ta.useRef(new reactNative.Animated.Value(0)).current;ta.useEffect(()=>{let Fe=reactNative.Animated.loop(reactNative.Animated.timing(Ne,{toValue:1,duration:1500,easing:reactNative.Easing.linear,useNativeDriver:true}));return Fe.start(),()=>Fe.stop()},[Ne]);let vt=Ne.interpolate({inputRange:[0,1],outputRange:["0deg","360deg"]});ta.useEffect(()=>{ut&&f?.(ut);},[ut]),ta.useEffect(()=>{we&&(S?.(true),ze(false));},[we]);let Vt=new Map;oe.forEach(Fe=>{Fe.chains.forEach(bt=>{let nt=`${bt.chain_type}:${bt.chain_id}`;Vt.has(nt)||Vt.set(nt,bt);});});let Ht=Array.from(Vt.values()),lt=m1(B),er=Ht.find(Fe=>Fe.chain_type===lt.chainType&&Fe.chain_id===lt.chainId),Xe=er?.chain_type||"ethereum",yt=an(rt,Xe),gt=yt?.address||"",De=ta.useRef(false);ta.useEffect(()=>{async function Fe(){try{te(!0),be(null);let nt=await Wi(t,i&&n&&o?{destination_token_address:i,destination_chain_id:n,destination_chain_type:o}:void 0);if(ce(nt.data),nt.data.length>0&&!De.current){De.current=!0;let ee,vr;if(a&&l)if(c)for(let ft of nt.data){let tr=ft.chains.find(Mt=>Mt.chain_type===a&&Mt.chain_id===l&&Mt.token_address.toLowerCase()===c.toLowerCase());if(tr){ee=ft,vr=tr;break}}else {let ft=Mt=>Mt.chain_type===a&&Mt.chain_id===l,tr=nt.data.find(Mt=>Mt.symbol==="USDC"&&Mt.chains.some(ft));if(tr)ee=tr,vr=tr.chains.find(ft);else for(let Mt of nt.data){let qr=Mt.chains.find(ft);if(qr){ee=Mt,vr=qr;break}}}if(!ee&&i)for(let ft of nt.data){let tr=ft.chains.find(Mt=>Mt.token_address.toLowerCase()===i.toLowerCase());if(tr){ee=ft,vr=tr;break}}ee||(ee=nt.data.find(ft=>ft.symbol==="USDC"),ee&&ee.chains.length>0&&(vr=ee.chains[0])),ee||(ee=nt.data.find(ft=>ft.symbol==="USDT"),ee&&ee.chains.length>0&&(vr=ee.chains[0])),ee||(ee=nt.data[0],ee.chains.length>0&&(vr=ee.chains[0])),ee&&F(ee.symbol),vr&&W(Nl(vr.chain_id,vr.chain_type));}}catch(bt){console.error("Error fetching supported tokens:",bt),be("Failed to load supported tokens"),d?.({message:"Failed to load supported tokens",error:bt});}finally{te(false);}}Fe();},[t,i,n,o,a,l,c,d]),ta.useEffect(()=>{g&&g(qe);},[qe,g]),ta.useEffect(()=>{if(I?.length){Y(false);return}if(N.length>0){Y(false);return}let Fe=null,bt=false,nt=async()=>{if(!bt){Y(true);try{let ee=await Zo({external_user_id:e,recipient_address:r,destination_chain_type:o,destination_chain_id:n,destination_token_address:i},t);bt||(Z(ee.data),be(null),Y(!1));}catch(ee){console.error("Error fetching wallets, retrying in 5s:",ee),bt||(be(ee instanceof Error?ee.message:"Failed to load wallets"),Y(false),Fe=setTimeout(nt,5e3));}}};return nt(),()=>{bt=true,Fe&&clearTimeout(Fe);}},[e,r,o,n,i,t,I,N.length]);let at=yt?.id??"",{showWaitingUi:X,handleIveDeposited:Pe}=si({depositConfirmationMode:p,depositAddress:gt,chain:B,externalUserId:e,publishableKey:t,modalOpenedAt:st,depositWalletId:at,depositExecutions:qe,trackedExecutions:Ye,setDepositExecutions:ot,setTrackedExecutions:dt,setLatestExecution:ht,setShowStatusSheet:ze,onDepositSuccess:k,onExecutionsChange:g,onDepositError:d}),_=p==="manual"&>&&!X;ta.useEffect(()=>{if(!oe.length)return;let Fe=oe.find(nt=>nt.symbol===O);if(!Fe||Fe.chains.length===0){let nt=oe.find(ee=>ee.symbol==="USDC")||oe[0];nt&&(F(nt.symbol),nt.chains.length>0&&W(Nl(nt.chains[0].chain_id,nt.chains[0].chain_type)));return}if(!Fe.chains.some(nt=>Nl(nt.chain_id,nt.chain_type)===B)){let nt=Fe.chains[0];W(Nl(nt.chain_id,nt.chain_type));}},[O,oe,B]);let C=oe.find(Fe=>Fe.symbol===O),M=it(C,"png")||void 0;ta.useEffect(()=>{h?.(M);},[M]);let q=C?.chains||[],J=q.find(Fe=>Nl(Fe.chain_id,Fe.chain_type)===B),K=async()=>{if(gt)try{reactNative.Clipboard.setString(gt),j(!0),setTimeout(()=>j(!1),2e3);}catch(Fe){console.error("Failed to copy:",Fe);}},_e=J?.estimated_price_impact_percent??0,et=J?.max_slippage_percent??.25,L=J?.minimum_deposit_amount_usd??3,U=J?.chain_name||er?.chain_name||"Network",kt=ta.useMemo(()=>{if(!Je.trim())return q;let Fe=Je.toLowerCase();return q.filter(bt=>bt.chain_name.toLowerCase().includes(Fe))},[q,Je]),Le=ta.useMemo(()=>{if(!Ve.trim())return oe;let Fe=Ve.toLowerCase();return oe.filter(bt=>bt.symbol.toLowerCase().includes(Fe)||bt.name?.toLowerCase().includes(Fe)||bt.chains.some(nt=>nt.chain_name.toLowerCase().includes(Fe)))},[oe,Ve]);return ae?jsxRuntime.jsxs(reactNative.View,{style:Re.loadingContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:u.primary}),jsxRuntime.jsx(reactNative.Text,{style:[Re.loadingText,{color:u.foregroundMuted,fontFamily:T.regular}],children:"Loading currencies..."})]}):Me&&oe.length===0?jsxRuntime.jsxs(reactNative.View,{style:Re.errorContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Re.errorText,{color:u.error,fontFamily:T.regular}],children:Me}),jsxRuntime.jsx(reactNative.Text,{style:[Re.errorHint,{color:u.foregroundMuted,fontFamily:T.regular}],children:"Please check your network connection and try again."})]}):jsxRuntime.jsxs(reactNative.View,{style:Re.container,children:[jsxRuntime.jsxs(reactNative.View,{style:Re.content,children:[jsxRuntime.jsxs(reactNative.View,{style:Re.qrSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[Re.intentAddressLabel,{color:u.foregroundMuted,fontFamily:T.medium}],children:"Intent address"}),jsxRuntime.jsx(reactNative.View,{style:[Re.qrCard,{backgroundColor:u.background,borderRadius:b.card.borderRadius,borderWidth:b.card.borderWidth>0?b.card.borderWidth:1,borderColor:b.card.borderColor}],children:je?jsxRuntime.jsxs(reactNative.View,{style:Re.qrLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:u.primary}),jsxRuntime.jsx(reactNative.Text,{style:[Re.loadingText,{color:u.foregroundMuted,fontFamily:T.regular}],children:"Loading..."})]}):gt?jsxRuntime.jsx(reactNative.View,{style:Re.qrWrapper,children:jsxRuntime.jsx(js,{value:gt,size:200,logoUri:ye(it(C,"png")||kr("/icons/tokens/png/usdc.png")),logoSize:40,badgeUri:ye(it(J,"png")||kr("/icons/networks/png/ethereum.png")),badgeSize:20})}):jsxRuntime.jsx(reactNative.View,{style:Re.qrLoading,children:jsxRuntime.jsx(reactNative.Text,{style:[Re.errorText,{color:u.error,fontFamily:T.regular}],children:"No address available"})})})]}),jsxRuntime.jsxs(reactNative.View,{style:Re.selectorsRow,children:[jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{Qe(""),me(true);},style:[Re.selectorPill,{backgroundColor:b.card.backgroundColor,borderRadius:b.card.borderRadius,borderWidth:b.card.borderWidth,borderColor:b.card.borderColor}],activeOpacity:.7,children:[(J||er)&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(J||er,"png"))},style:Re.selectorPillIcon}),jsxRuntime.jsx(Ar,{size:14,color:b.card.actionColor,strokeWidth:2})]}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{he(""),Se(true);},disabled:ae||oe.length===0,style:[Re.selectorPill,{backgroundColor:b.card.backgroundColor,borderRadius:b.card.borderRadius,borderWidth:b.card.borderWidth,borderColor:b.card.borderColor}],activeOpacity:.7,children:[C&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(C,"png"))},style:Re.selectorPillIcon}),jsxRuntime.jsx(reactNative.Text,{style:[Re.selectorPillText,{color:b.card.titleColor,fontFamily:T.semibold}],children:C?.symbol||O}),jsxRuntime.jsx(Ar,{size:14,color:b.card.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsx(reactNative.View,{style:Re.addressRow,children:jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:K,style:[Re.addressPill,{backgroundColor:b.card.backgroundColor,borderRadius:b.card.borderRadius,borderWidth:b.card.borderWidth,borderColor:b.card.borderColor}],activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[Re.addressPillText,{color:b.card.titleColor,fontFamily:T.regular}],numberOfLines:1,children:je?"Loading...":gt?h1(gt):"No address"}),ke?jsxRuntime.jsx(It,{size:14,color:u.success,strokeWidth:2}):jsxRuntime.jsx(Gn,{size:14,color:b.card.actionColor,strokeWidth:1.5})]})}),jsxRuntime.jsxs(reactNative.View,{style:{opacity:X&&!ut?1:0,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,height:34},children:[jsxRuntime.jsx(reactNative.Animated.View,{style:{transform:[{rotate:vt}]},children:jsxRuntime.jsx(cc,{size:16,color:u.foregroundMuted,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:{fontSize:14,color:u.foregroundMuted,fontFamily:T.regular},children:"Checking for deposit"})]})]}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{v?.({priceImpact:_e,maxSlippage:et,minDepositUsd:L,chainName:U}),w?.(true);},style:Re.infoFooter,activeOpacity:.7,children:[jsxRuntime.jsx(Jn,{size:14,color:b.card.actionColor,strokeWidth:2}),jsxRuntime.jsxs(reactNative.Text,{style:[Re.infoFooterText,{color:b.card.subtitleColor,fontFamily:T.regular}],numberOfLines:1,children:["$",L," ",U," Minimum and ","<","1 min Processing"]})]}),_?jsxRuntime.jsxs(reactNative.View,{style:Re.ctaRow,children:[jsxRuntime.jsx(reactNative.View,{style:Re.ctaFlex,children:jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:Pe,activeOpacity:.8,style:[Re.ctaButton,{backgroundColor:u.primary,borderRadius:b.button.borderRadius}],children:jsxRuntime.jsx(reactNative.Text,{style:[Re.ctaText,{color:u.primaryForeground??"#FFF",fontFamily:T.semibold}],children:"I've made the deposit"})})}),jsxRuntime.jsx(reactNative.View,{style:Re.ctaFlex,children:jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:K,activeOpacity:.8,style:[Re.ctaButton,{backgroundColor:b.card.backgroundColor,borderRadius:b.button.borderRadius,borderWidth:1,borderColor:u.border}],children:jsxRuntime.jsx(reactNative.Text,{style:[Re.ctaText,{color:u.foreground,fontFamily:T.semibold}],children:ke?"Copied!":"Copy deposit address"})})})]}):jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:K,activeOpacity:.8,style:[Re.ctaButton,{backgroundColor:u.primary,borderRadius:b.button.borderRadius,marginBottom:16,marginTop:8}],children:jsxRuntime.jsx(reactNative.Text,{style:[Re.ctaText,{color:"#FFFFFF",fontFamily:T.semibold}],children:ke?"Copied!":"Copy Deposit Address"})}),jsxRuntime.jsxs(rr,{visible:Ge,onClose:()=>{Se(false),he("");},closeOnBackdropPress:true,showHandle:false,heightPercent:.6,marginHorizontal:16,marginBottom:24,borderTopLeftRadius:m?.tokenSelector?.borderTopLeftRadius??x,borderTopRightRadius:m?.tokenSelector?.borderTopRightRadius??P,children:[jsxRuntime.jsxs(reactNative.View,{style:[Re.sheetHeader,{borderBottomColor:u.border}],children:[jsxRuntime.jsx(reactNative.View,{style:Re.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[Re.sheetTitle,{color:b.header.titleColor,fontFamily:T.medium}],children:"Select Token"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{Se(false),he("");},style:Re.sheetCloseButton,hitSlop:{top:12,bottom:12,left:12,right:12},children:jsxRuntime.jsx($t,{size:20,color:b.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.View,{style:Re.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[Re.searchInput,{backgroundColor:b.search.backgroundColor,color:b.search.inputColor,fontFamily:T.regular,borderRadius:b.input.borderRadius,borderWidth:b.input.borderWidth,borderColor:b.input.borderColor}],placeholder:"Search tokens",placeholderTextColor:b.search.placeholderColor,value:Ve,onChangeText:he,autoCapitalize:"none",autoCorrect:false})}),jsxRuntime.jsx(Yt,{style:Re.sheetList,contentContainerStyle:Re.sheetListContent,showsVerticalScrollIndicator:false,children:Le.length===0?jsxRuntime.jsx(reactNative.View,{style:Re.emptyState,children:jsxRuntime.jsx(reactNative.Text,{style:[Re.emptyText,{color:u.foregroundMuted,fontFamily:T.regular}],children:"No tokens found"})}):Le.map(Fe=>jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{F(Fe.symbol),Se(false),he("");},activeOpacity:.7,style:[Re.sheetItem,{backgroundColor:O===Fe.symbol?b.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Fe,"png"))},style:Re.sheetItemIcon}),jsxRuntime.jsx(reactNative.Text,{style:[Re.sheetItemTitle,{color:b.card.titleColor,fontFamily:T.medium}],children:Fe.symbol}),jsxRuntime.jsx(reactNative.View,{style:Re.sheetItemSpacer}),jsxRuntime.jsx(reactNative.View,{style:[Re.sheetItemBadge,{borderWidth:1,borderColor:u.border}],children:jsxRuntime.jsxs(reactNative.Text,{style:[Re.sheetItemBadgeText,{color:b.card.subtitleColor,fontFamily:T.medium}],children:[Fe.chains.length," chain",Fe.chains.length!==1?"s":""]})})]},Fe.symbol))})]}),jsxRuntime.jsxs(rr,{visible:Ue,onClose:()=>{me(false),Qe("");},closeOnBackdropPress:true,showHandle:false,heightPercent:.6,marginHorizontal:16,marginBottom:24,borderTopLeftRadius:m?.chainSelector?.borderTopLeftRadius??x,borderTopRightRadius:m?.chainSelector?.borderTopRightRadius??P,children:[jsxRuntime.jsxs(reactNative.View,{style:[Re.sheetHeader,{borderBottomColor:u.border}],children:[jsxRuntime.jsx(reactNative.View,{style:Re.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[Re.sheetTitle,{color:b.header.titleColor,fontFamily:T.medium}],children:"Select Network"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{me(false),Qe("");},style:Re.sheetCloseButton,hitSlop:{top:12,bottom:12,left:12,right:12},children:jsxRuntime.jsx($t,{size:20,color:b.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.View,{style:Re.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[Re.searchInput,{backgroundColor:b.search.backgroundColor,color:b.search.inputColor,fontFamily:T.regular,borderRadius:b.input.borderRadius,borderWidth:b.input.borderWidth,borderColor:b.input.borderColor}],placeholder:"Search networks",placeholderTextColor:b.search.placeholderColor,value:Je,onChangeText:Qe,autoCapitalize:"none",autoCorrect:false})}),jsxRuntime.jsx(Yt,{style:Re.sheetList,contentContainerStyle:Re.sheetListContent,showsVerticalScrollIndicator:false,children:kt.length===0?jsxRuntime.jsx(reactNative.View,{style:Re.emptyState,children:jsxRuntime.jsx(reactNative.Text,{style:[Re.emptyText,{color:u.foregroundMuted,fontFamily:T.regular}],children:"No networks found"})}):kt.map(Fe=>{let bt=Nl(Fe.chain_id,Fe.chain_type),nt=B===bt;return jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{W(bt),me(false),Qe("");},activeOpacity:.7,style:[Re.chainItem,{backgroundColor:nt?b.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Fe,"png"))},style:Re.chainItemIcon}),jsxRuntime.jsx(reactNative.View,{style:Re.chainItemInfo,children:jsxRuntime.jsx(reactNative.Text,{style:[Re.chainItemName,{color:b.card.titleColor,fontFamily:T.medium}],children:Fe.chain_name})}),jsxRuntime.jsx(reactNative.View,{style:[Re.chainMinBadge,{backgroundColor:`${u.warning}18`}],children:jsxRuntime.jsxs(reactNative.Text,{style:[Re.chainMinBadgeText,{color:u.warning,fontFamily:T.medium}],children:["$",Fe.minimum_deposit_amount_usd," Minimum"]})})]},bt)})})]})]})}var Re=reactNative.StyleSheet.create({container:{flex:1,paddingHorizontal:16},content:{flex:1,justifyContent:"center"},loadingContainer:{padding:40,alignItems:"center",gap:12},loadingText:{fontSize:14},errorContainer:{padding:40,alignItems:"center",gap:8},errorText:{fontSize:14,textAlign:"center"},errorHint:{fontSize:12,textAlign:"center"},qrSection:{alignItems:"center",marginTop:8,marginBottom:16},intentAddressLabel:{fontSize:14,marginBottom:8},qrCard:{padding:16,alignItems:"center"},qrLoading:{width:150,height:150,alignItems:"center",justifyContent:"center"},qrWrapper:{},selectorsRow:{flexDirection:"row",justifyContent:"center",alignItems:"center",gap:10,paddingTop:16,paddingBottom:8},selectorPill:{flexDirection:"row",alignItems:"center",gap:6,paddingVertical:12,paddingHorizontal:14},selectorPillIcon:{width:20,height:20,borderRadius:10},selectorPillText:{fontSize:14},addressRow:{flexDirection:"row",justifyContent:"center",alignItems:"center",gap:8,paddingVertical:8},addressPill:{flexDirection:"row",alignItems:"center",gap:8,paddingVertical:16,paddingHorizontal:16},addressPillText:{fontSize:14},infoFooter:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,marginBottom:8,paddingVertical:4},infoFooterText:{fontSize:12},ctaRow:{flexDirection:"row",gap:10,marginBottom:16,marginTop:8},ctaFlex:{flex:1},ctaButton:{paddingVertical:14,alignItems:"center",justifyContent:"center"},ctaContent:{flexDirection:"row",alignItems:"center",gap:8},ctaText:{fontSize:15},sheetHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingBottom:16,paddingTop:20},sheetHeaderSpacer:{width:36},sheetTitle:{fontSize:16,fontWeight:"500",flex:1,textAlign:"center"},sheetCloseButton:{width:36,height:36,alignItems:"center",justifyContent:"center"},searchContainer:{paddingHorizontal:16,paddingBottom:12},searchInput:{height:48,paddingHorizontal:16,fontSize:14},sheetList:{flex:1,paddingTop:8},sheetListContent:{paddingBottom:56},sheetItem:{flexDirection:"row",alignItems:"center",paddingVertical:12,paddingHorizontal:16,marginHorizontal:16,borderRadius:12,gap:10},sheetItemIcon:{width:32,height:32,borderRadius:16},sheetItemTitle:{fontSize:15},sheetItemSpacer:{flex:1},sheetItemBadge:{paddingHorizontal:8,paddingVertical:3,borderRadius:6},sheetItemBadgeText:{fontSize:12},emptyState:{padding:32,alignItems:"center"},emptyText:{fontSize:14},chainItem:{flexDirection:"row",alignItems:"center",paddingVertical:12,paddingHorizontal:16,marginHorizontal:16,borderRadius:12,gap:12},chainItemIcon:{width:24,height:24,borderRadius:12},chainItemInfo:{flex:1},chainItemName:{fontSize:15},chainMinBadge:{paddingHorizontal:8,paddingVertical:3,borderRadius:6},chainMinBadgeText:{fontSize:11,fontWeight:"500"}});function Ab(e){let t=e.split("/"),r=t[t.length-1];return r&&r.length>10?`${r.slice(0,6)}...${r.slice(-3)}`:r||""}function b1(e){let r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][e.getMonth()],o=e.getDate(),n=e.getFullYear(),i=e.getHours(),s=e.getMinutes(),a=i>=12?"pm":"am";i=i%12,i=i||12;let l=s<10?`0${s}`:s;return `${r} ${o}, ${n} at ${i}:${l}${a}`}function ap({visible:e,status:t,tokenIconUrl:r,explorerUrl:o,completionExplorerUrl:n,date:i,amountUsd:s,onClose:a,borderTopLeftRadius:l,borderTopRightRadius:c,useModal:p,heightProcessing:g,heightCompleted:k,heightCompletedExpanded:d}){let{components:f}=z(),[S,h]=ta.useState(false),w=t==="succeeded";return jsxRuntime.jsx(rr,{visible:e,onClose:a,closeOnBackdropPress:true,enablePanDownToClose:false,showHandle:false,heightPercent:w?S?d??k??.55:k??.55:g??.4,borderTopLeftRadius:l,borderTopRightRadius:c,useModal:p,children:jsxRuntime.jsxs(reactNative.View,{style:Br.sheetWrapper,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Br.closeButton,onPress:a,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx($t,{size:20,color:f.header.buttonColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.ScrollView,{style:Br.scrollView,bounces:false,showsVerticalScrollIndicator:false,contentContainerStyle:Br.scrollContent,children:jsxRuntime.jsx(w1,{status:t,tokenIconUrl:r,explorerUrl:o,completionExplorerUrl:n,date:i,amountUsd:s,showDetails:S,onToggleDetails:()=>h(!S)})})]})})}function w1({status:e,tokenIconUrl:t,explorerUrl:r,completionExplorerUrl:o,date:n,amountUsd:i,showDetails:s,onToggleDetails:a,containerStyle:l}){let{colors:c,fonts:p,components:g}=z(),[k,d]=ta.useState(false),f=s??k,S=a??(()=>d(P=>!P)),h=e==="pending"||e==="waiting"||e==="delayed",w=e==="succeeded",v=!!r||!!o,I=()=>{r&&reactNative.Linking.openURL(r);},x=()=>{o&&reactNative.Linking.openURL(o);};return jsxRuntime.jsxs(reactNative.View,{style:[Br.container,l],children:[jsxRuntime.jsx(reactNative.View,{style:Br.iconContainer,children:h?jsxRuntime.jsx(Ct,{size:80,strokeWidth:4,iconSize:56,children:t?jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(t)},style:Br.tokenIconFill}):jsxRuntime.jsx(reactNative.View,{style:[Br.tokenIconFill,{backgroundColor:c.cardHover}]})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t?jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(t)},style:Br.tokenIconLarge}):jsxRuntime.jsx(reactNative.View,{style:[Br.tokenIconLarge,{backgroundColor:c.cardHover}]}),jsxRuntime.jsx(reactNative.View,{style:[Br.statusBadge,{backgroundColor:g.container.iconBackgroundColor}],children:jsxRuntime.jsx(It,{size:16,color:g.container.iconColor,strokeWidth:3})})]})}),jsxRuntime.jsx(reactNative.Text,{style:[Br.title,{color:g.container.titleColor,fontFamily:p.semibold}],children:h?"Deposit Processing":"Deposit Complete"}),i!==void 0&&jsxRuntime.jsxs(reactNative.Text,{style:[Br.amount,{color:g.container.titleColor,fontFamily:p.bold}],children:["$",i.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})]}),n&&jsxRuntime.jsx(reactNative.Text,{style:[Br.date,{color:g.container.subtitleColor,fontFamily:p.regular}],children:b1(n)}),jsxRuntime.jsx(reactNative.Text,{style:[Br.subtitle,{color:g.container.subtitleColor,fontFamily:p.regular}],children:h?"This usually takes less than a minute.":"Your account has been credited successfully!"}),w&&v&&jsxRuntime.jsxs(reactNative.View,{style:Br.detailsSection,children:[jsxRuntime.jsx(reactNative.View,{style:[Br.divider,{backgroundColor:c.border}]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Br.detailsToggle,onPress:S,children:[jsxRuntime.jsx(reactNative.Text,{style:[Br.detailsToggleText,{color:g.container.actionTitle,fontFamily:p.medium}],children:f?"See less":"See more details"}),f?jsxRuntime.jsx(di,{size:18,color:g.container.actionColor,strokeWidth:2}):jsxRuntime.jsx(Ar,{size:18,color:g.container.actionColor,strokeWidth:2})]}),f&&jsxRuntime.jsxs(reactNative.View,{style:Br.txButtonsContainer,children:[r&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[Br.txButton,{backgroundColor:g.card.backgroundColor,borderColor:c.border}],onPress:I,children:[jsxRuntime.jsx(reactNative.Text,{style:[Br.txLabel,{color:g.card.titleColor,fontFamily:p.medium}],children:"Deposit tx"}),jsxRuntime.jsx(reactNative.Text,{style:[Br.txHash,{color:g.card.subtitleColor,fontFamily:p.regular}],children:Ab(r)}),jsxRuntime.jsx(En,{size:16,color:g.card.actionColor,strokeWidth:2})]}),o&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[Br.txButton,{backgroundColor:g.card.backgroundColor,borderColor:c.border}],onPress:x,children:[jsxRuntime.jsx(reactNative.Text,{style:[Br.txLabel,{color:g.card.titleColor,fontFamily:p.medium}],children:"Completion tx"}),jsxRuntime.jsx(reactNative.Text,{style:[Br.txHash,{color:g.card.subtitleColor,fontFamily:p.regular}],children:Ab(o)}),jsxRuntime.jsx(En,{size:16,color:g.card.actionColor,strokeWidth:2})]})]})]})]})}var Br=reactNative.StyleSheet.create({sheetWrapper:{flex:1},scrollView:{flex:1},scrollContent:{flexGrow:1},container:{alignItems:"center",paddingHorizontal:24,paddingTop:40,paddingBottom:20},closeButton:{position:"absolute",top:12,right:12,width:40,height:40,alignItems:"center",justifyContent:"center",zIndex:10},iconContainer:{position:"relative",marginBottom:16},tokenIcon:{width:64,height:64,borderRadius:32},tokenIconLarge:{width:68,height:68,borderRadius:34},tokenIconFill:{width:"100%",height:"100%",borderRadius:34},statusBadge:{position:"absolute",bottom:-2,right:-2,width:28,height:28,borderRadius:14,alignItems:"center",justifyContent:"center"},title:{fontSize:18,fontWeight:"600",marginBottom:4,textAlign:"center"},amount:{fontSize:28,fontWeight:"700",marginBottom:4,textAlign:"center"},date:{fontSize:13,textAlign:"center",marginBottom:12},detailsSection:{width:"100%",marginTop:16,paddingHorizontal:16},divider:{height:1,width:"100%",opacity:.15},detailsToggle:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",paddingVertical:12},detailsToggleText:{fontSize:14,fontWeight:"500"},txButtonsContainer:{width:"100%",gap:10,marginTop:10},txButton:{flexDirection:"row",alignItems:"center",width:"100%",paddingVertical:12,paddingHorizontal:14,borderRadius:10,borderWidth:1,gap:8},txLabel:{fontSize:14,fontWeight:"500"},txHash:{fontSize:14,flex:1,textAlign:"right"},subtitle:{fontSize:14,textAlign:"center",lineHeight:20,paddingTop:8},buttonRow:{flexDirection:"row",gap:10,width:"100%"},button:{paddingVertical:14,paddingHorizontal:20,borderRadius:10,alignItems:"center",justifyContent:"center"},halfButton:{flex:1},successButton:{backgroundColor:"#22C55E"},buttonText:{color:"#fff",fontSize:14,fontWeight:"600"},hint:{fontSize:12,marginTop:12,textAlign:"center"}});function xm({visible:e,onClose:t,priceImpact:r,maxSlippage:o,minDepositUsd:n,chainName:i,borderTopLeftRadius:s,borderTopRightRadius:a,useModal:l}){let{colors:c,fonts:p,components:g}=z(),k=[{icon:jsxRuntime.jsx($o,{size:14,color:g.card.iconColor,strokeWidth:2}),label:"Processing time: <1 min"},{icon:jsxRuntime.jsx(Yn,{size:14,color:g.card.iconColor,strokeWidth:2}),label:`Minimum deposit: $${n} on ${i}`},{icon:jsxRuntime.jsx(Yn,{size:14,color:g.card.iconColor,strokeWidth:2}),label:`Price Impact: ${r.toFixed(2)}%`},{icon:jsxRuntime.jsx(Jo,{size:14,color:g.card.iconColor,strokeWidth:2}),label:`Slippage Auto: ${o.toFixed(2)}%`}];return jsxRuntime.jsx(rr,{visible:e,onClose:t,closeOnBackdropPress:true,showHandle:false,marginHorizontal:16,marginBottom:24,borderTopLeftRadius:s,borderTopRightRadius:a,useModal:l,children:jsxRuntime.jsxs(reactNative.View,{style:Qn.container,children:[jsxRuntime.jsxs(reactNative.View,{style:Qn.header,children:[jsxRuntime.jsxs(reactNative.View,{style:Qn.titleRow,children:[jsxRuntime.jsx(Jn,{size:16,color:g.header.titleColor,strokeWidth:2}),jsxRuntime.jsx(reactNative.Text,{style:[Qn.title,{color:g.header.titleColor,fontFamily:p.semibold}],children:"Deposit Info"})]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:t,hitSlop:{top:16,bottom:16,left:16,right:16},style:Qn.closeButton,children:jsxRuntime.jsx($t,{size:18,color:g.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:Qn.rows,children:[k.map((d,f)=>jsxRuntime.jsxs(reactNative.View,{style:Qn.row,children:[jsxRuntime.jsx(reactNative.View,{style:[Qn.iconContainer,{backgroundColor:g.card.iconBackgroundColor,borderRadius:g.card.iconContainerBorderRadius}],children:d.icon}),jsxRuntime.jsx(reactNative.Text,{style:[Qn.label,{color:g.card.titleColor,fontFamily:p.regular}],children:d.label})]},f)),jsxRuntime.jsxs(reactNative.View,{style:Qn.row,children:[jsxRuntime.jsx(reactNative.View,{style:[Qn.iconContainer,{backgroundColor:g.card.iconBackgroundColor,borderRadius:g.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Ga,{size:14,color:g.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Qn.label,{color:g.card.titleColor,fontFamily:p.regular}],children:["Need Help?"," ",jsxRuntime.jsx(reactNative.Text,{style:{textDecorationLine:"underline"},onPress:()=>reactNative.Linking.openURL("https://unifold.io/support"),children:"Contact Support"})]})]})]})]})})}var Qn=reactNative.StyleSheet.create({container:{paddingHorizontal:20,paddingTop:20,paddingBottom:0},header:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:16},titleRow:{flexDirection:"row",alignItems:"center",gap:6},title:{fontSize:16},closeButton:{width:36,height:36,alignItems:"center",justifyContent:"center"},rows:{gap:16},row:{flexDirection:"row",alignItems:"center",gap:12},iconContainer:{width:28,height:28,alignItems:"center",justifyContent:"center"},label:{fontSize:14,flex:1}});var Fn={transferCrypto:{title:"Transfer Crypto",subtitle:"No limit \u2022 Instant"},depositWithCard:{title:"Deposit with Card",subtitle:"$50,000 limit \u2022 2 min"},stripeLinkPay:{title:"Pay with Link",subtitle:"Buy with card or bank"},depositTracker:{title:"Deposit Tracker",subtitle:"Track your deposit progress"},coinbaseApplePay:{title:"Pay with Apple Pay",subtitle:"Instant"},tabs:{crypto:"Use Crypto",cash:"Use Cash"}};function v1(){let{colors:e,components:t}=z(),r=ta.useRef(new reactNative.Animated.Value(.5)).current,o=t.depositMenu.card.backgroundColor,n=e.cardHover;ta.useEffect(()=>{let s=reactNative.Animated.loop(reactNative.Animated.sequence([reactNative.Animated.timing(r,{toValue:1,duration:800,useNativeDriver:true}),reactNative.Animated.timing(r,{toValue:.5,duration:800,useNativeDriver:true})]));return s.start(),()=>s.stop()},[r]);let i=({rightIcons:s=2})=>jsxRuntime.jsxs(reactNative.View,{style:[Gs.card,{backgroundColor:o,borderRadius:t.depositMenu.card.borderRadius}],children:[jsxRuntime.jsx(reactNative.Animated.View,{style:[Gs.leftIcon,{backgroundColor:n,opacity:r,borderRadius:t.depositMenu.card.iconContainerBorderRadius}]}),jsxRuntime.jsxs(reactNative.View,{style:Gs.textBlock,children:[jsxRuntime.jsx(reactNative.Animated.View,{style:[Gs.titleBar,{backgroundColor:n,opacity:r}]}),jsxRuntime.jsx(reactNative.Animated.View,{style:[Gs.subtitleBar,{backgroundColor:n,opacity:r}]})]}),jsxRuntime.jsx(reactNative.View,{style:Gs.rightIcons,children:Array.from({length:s}).map((a,l)=>jsxRuntime.jsx(reactNative.Animated.View,{style:[Gs.rightIcon,{backgroundColor:n,opacity:r}]},l))})]});return jsxRuntime.jsxs(reactNative.View,{style:Gs.container,children:[jsxRuntime.jsx(i,{rightIcons:3}),jsxRuntime.jsx(i,{rightIcons:2}),jsxRuntime.jsx(i,{rightIcons:0})]})}var Gs=reactNative.StyleSheet.create({container:{paddingTop:8,paddingBottom:24,gap:8},card:{marginHorizontal:16,flexDirection:"row",alignItems:"center",paddingVertical:16,paddingHorizontal:12,gap:12},leftIcon:{width:36,height:36},textBlock:{flex:1,gap:6},titleBar:{height:12,width:"70%",borderRadius:6},subtitleBar:{height:10,width:"50%",borderRadius:5},rightIcons:{flexDirection:"row",alignItems:"center",gap:4},rightIcon:{width:20,height:20,borderRadius:10}});function R1({selected:e,onSelect:t}){let{colors:r,fonts:o,components:n}=z(),i=({tab:s,label:a,glyph:l})=>{let c=e===s,p=c?r.foreground:r.foregroundMuted;return jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:cd.item,activeOpacity:.8,onPress:()=>t(s),children:[c&&jsxRuntime.jsx(reactNative.View,{style:[reactNative.StyleSheet.absoluteFill,{backgroundColor:r.primary,opacity:.15,borderRadius:10}]}),jsxRuntime.jsx(reactNative.View,{style:[cd.badge,{backgroundColor:p}],children:jsxRuntime.jsx(reactNative.Text,{style:[cd.badgeGlyph,{color:r.background,fontFamily:o.semibold}],children:l})}),jsxRuntime.jsx(reactNative.Text,{style:[cd.label,{color:p,fontFamily:o.semibold}],children:a})]})};return jsxRuntime.jsxs(reactNative.View,{style:[cd.bar,{backgroundColor:n.depositMenu.card.backgroundColor}],children:[jsxRuntime.jsx(i,{tab:"crypto",label:Fn.tabs.crypto,glyph:"\u20BF"}),jsxRuntime.jsx(i,{tab:"cash",label:Fn.tabs.cash,glyph:"$"})]})}var cd=reactNative.StyleSheet.create({bar:{flexDirection:"row",borderRadius:12,padding:4,gap:4,marginHorizontal:16,marginBottom:8},item:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,paddingVertical:10,borderRadius:10,overflow:"hidden"},badge:{width:20,height:20,borderRadius:10,alignItems:"center",justifyContent:"center"},badgeGlyph:{fontSize:11,fontWeight:"700",lineHeight:14,textAlign:"center",includeFontPadding:false},label:{fontSize:14}});function I1({visible:e,onClose:t,closeOnBackdropPress:r=false,externalUserId:o,publishableKey:n,modalTitle:i="Deposit",transferCryptoTitle:s,user:a,destinationTokenSymbol:l,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,defaultChainType:d,defaultChainId:f,defaultTokenAddress:S,showBalance:h=false,hideDepositTracker:w,enableTransferCrypto:v,enableCashApp:I,enableConnectWallet:x,enableCoinbaseApplePay:P,enableFiatOnramp:m,enableStripeLink:u,StripeOnrampComponent:T,stripePaymentSelectorPosition:b,stripeSkipSuccessConfirmation:A,stripeTheme:O,depositConfirmationMode:F="auto_ui",transferInputVariant:B="double_input",depositMenuDisplay:W="stacked",initialScreen:N="main",onDepositSuccess:Z,onDepositError:je,sheetBorderRadius:Y}){let rt=Y?.globalBorderTopLeftRadius,oe=Y?.globalBorderTopRightRadius,{colors:ce,fonts:ae}=z(),[te,ke]=ta.useState([]),[j,Ie]=ta.useState(null),[pt,Ge]=ta.useState(false),[Se,qe]=ta.useState(false),ot=ta.useRef(null),[Ye,dt]=ta.useState("amount"),[st,Me]=ta.useState(false),[be,we]=ta.useState(null),[ze,ut]=ta.useState(void 0),[ht,xt]=ta.useState(false),[lr,Ue]=ta.useState(null),me=v??j?.transfer_crypto?.enabled??true,Je=x??j?.connect_wallet?.enabled??false,Qe=I??j?.cash_app?.enabled??false,Ve=P??j?.apple_pay?.enabled??false,he=reactNative.Platform.OS==="ios"&&Ve&&pt,Ne=m??j?.fiat_onramp?.enabled??true,vt=!j?.stripe_link?.is_hidden&&(u??j?.stripe_link?.enabled??false)&&!!T,Vt=w?false:j?.deposit_tracker?.enabled??true,Ht=v??j?.transfer_crypto?.enabled??false,lt=x??j?.connect_wallet?.enabled??false,er=I??j?.cash_app?.enabled??false,Xe=he,yt=!!j&&vt,gt=m??j?.fiat_onramp?.enabled??false,De=w?false:j?.deposit_tracker?.enabled??false,at=N==="tracker"&&De?"tracker":N==="transfer"&&Ht?"transfer":N==="card"&>?"card":N==="cashapp"&&er?"cashapp":N==="apple_pay"&&Xe?"coinbaseApplePay":N==="stripe_link"&&yt?"stripe":N==="wallet"&<?"wallet":"main",[X,Pe]=ta.useState(at==="main"),[_,C]=ta.useState(at),[M,q]=ta.useState("crypto"),{isAllowed:J,isLoading:K}=sd(n,e);ta.useEffect(()=>{if(!e||j)return;let Lt=false;return wc(n).then(async Qr=>{if(Lt)return;let ne=[];for(let ue of Qr?.transfer_crypto?.networks??[]){let zt=ue.icon_urls.find(ur=>ur.format==="png")?.url||ue.icon_urls.find(ur=>ur.format==="svg")?.url;zt&&ne.push(ye(zt));}for(let ue of Qr?.payment_networks?.networks??[]){let zt=ue.icon_urls.find(ur=>ur.format==="png")?.url||ue.icon_urls.find(ur=>ur.format==="svg")?.url;zt&&ne.push(ye(zt));}ne.length>0&&await Hc(ne),Lt||Ie(Qr);}).catch(console.error),()=>{Lt=true;}},[e,j,n]),ta.useEffect(()=>{if(ot.current!==n&&(Ge(false),qe(false)),!e||reactNative.Platform.OS!=="ios"||!Ve||ot.current===n)return;let Lt=false;return (async()=>{for(let ne=1;ne<=4;ne++)try{let ue=await vh(n);if(Lt)return;ot.current=n;let zt=(ue.data??[]).some(ur=>ur.enabled??!0);Ge(zt),qe(!0);return}catch{if(Lt)return;if(ne===4){qe(true);return}await new Promise(ue=>setTimeout(()=>ue(),500*2**(ne-1)));}})(),()=>{Lt=true;}},[e,Ve,n]);let _e=reactNative.Platform.OS!=="ios"||!Ve||Se,et=()=>{t();},L=ta.useRef(false);ta.useEffect(()=>{e&&!L.current&&(C(at),Pe(at==="main"),dt("amount"),xt(false),Ue(null),q("crypto")),L.current=e;},[e,at]),ta.useEffect(()=>{if(!e||_!=="main")return;if(N==="apple_pay"){if(he){C("coinbaseApplePay"),Pe(false);return}_e&&Pe(true);return}if(!j)return;let Lt=N==="wallet"&&Je?"wallet":N==="transfer"&&me?"transfer":N==="card"&&Ne?"card":N==="cashapp"&&Qe?"cashapp":N==="stripe_link"&&vt?"stripe":N==="tracker"&&Vt?"tracker":null;Lt&&(C(Lt),Pe(false));},[e,j,N,_,Je,me,Ne,Qe,he,vt,Vt,_e]),ta.useEffect(()=>{if(!j)return;(_==="transfer"&&!me||_==="card"&&!Ne||_==="cashapp"&&!Qe||_==="coinbaseApplePay"&&!he||_==="stripe"&&!vt||_==="wallet"&&!Je||_==="tracker"&&!Vt)&&(C("main"),Pe(true));},[j,_,me,Ne,Qe,he,vt,Je,Vt]);let U=ta.useCallback(Lt=>{Lt.length!==0&&ke(Qr=>{let ne=new Map(Qr.map(ue=>[ue.id,ue]));for(let ue of Lt)ne.set(ue.id,ue);return Array.from(ne.values())});},[]),kt=ta.useCallback(()=>{xt(false),Ue(null),X?(C("main"),dt("amount")):et();},[X,et]),Le=ta.useRef(reactNative.AppState.currentState==="active"),Fe=ta.useRef(0);ta.useEffect(()=>{if(reactNative.Platform.OS!=="android")return;let Lt=reactNative.AppState.addEventListener("change",Qr=>{Qr==="active"&&!Le.current&&(Fe.current=Date.now()),Le.current=Qr==="active";});return ()=>Lt.remove()},[]);let bt=ta.useCallback(()=>{if(reactNative.Platform.OS==="android"){let Lt=!Le.current,Qr=Date.now()-Fe.current<800;if(Lt||Qr)return}kt();},[kt]),nt=te.filter(Lt=>Lt.status==="pending"||Lt.status==="waiting").length,vr=!!(c&&p&&g&&k&&n)&&h!==false&&!!j,ft=gc.includes(p)?p:void 0,tr=K||e&&!j,Mt=J===false,qr=null;if(_==="stripe"&&T){let Lt=jsxRuntime.jsx(T,{publishableKey:n,email:a?.email,phone:a?.phone,externalUserId:o,recipientAddress:c??"",destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,paymentSelectorPosition:b,skipSuccessConfirmation:A,appName:j?.project_name??"",onClose:kt});qr=O?jsxRuntime.jsx(Ja,{...O,children:Lt}):Lt;}let Mr=(me?1:0)+(Je?1:0)+(Ne?1:0)+(Qe?1:0)+(he?1:0)+(vt?1:0)+(Vt?1:0),li=W!=="tabs"&&Mr>5,on=_==="stripe"||_==="transfer"||_==="card"||_==="cashapp"||_==="coinbaseApplePay"||_==="wallet"?.9:_==="tracker"?.6:_==="main"?li?.9:Qe||Je||he?.6:.5:void 0,yo=_==="main"?.9:void 0,nn={main:Y?.main,transfer:Y?.transferCrypto,card:Y?.buyWithCard,stripe:Y?.stripeLink,cashapp:Y?.cashApp,coinbaseApplePay:Y?.coinbaseApplePay,wallet:Y?.connectWallet,tracker:Y?.depositsTracker}[_],ko=nn?.borderTopLeftRadius??rt,na=nn?.borderTopRightRadius??oe,bo=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[be&&jsxRuntime.jsx(ap,{visible:st,useModal:false,status:be.status,tokenIconUrl:be.destination_token_metadata?.icon_urls?.find(Lt=>Lt.format==="png")?.url||be.destination_token_metadata?.icon_url||ze,explorerUrl:be.explorer_url,completionExplorerUrl:be.destination_explorer_url,date:be.created_at?new Date(be.created_at):void 0,amountUsd:be.source_amount_usd?parseFloat(be.source_amount_usd):void 0,onClose:()=>Me(false),heightProcessing:_==="card"||_==="wallet"?.35:void 0,heightCompleted:_==="card"||_==="wallet"?.41:void 0,heightCompletedExpanded:_==="card"||_==="wallet"?.53:void 0,borderTopLeftRadius:Y?.depositStatus?.borderTopLeftRadius??rt,borderTopRightRadius:Y?.depositStatus?.borderTopRightRadius??oe}),lr&&jsxRuntime.jsx(xm,{visible:ht,useModal:false,onClose:()=>xt(false),priceImpact:lr.priceImpact,maxSlippage:lr.maxSlippage,minDepositUsd:lr.minDepositUsd,chainName:lr.chainName,borderTopLeftRadius:Y?.infoSheet?.borderTopLeftRadius??rt,borderTopRightRadius:Y?.infoSheet?.borderTopRightRadius??oe})]});return jsxRuntime.jsxs(rr,{visible:e,onClose:_==="main"?et:bt,closeOnBackdropPress:r,onBackdropPress:et,enablePanDownToClose:true,showHandle:true,heightPercent:on,maxHeightPercent:yo,borderTopLeftRadius:ko,borderTopRightRadius:na,overlay:bo,children:[_==="main"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fo,{title:i,showBack:false,onClose:et,showBalance:vr,balanceAddress:c,balanceChainType:ft,balanceChainId:g,balanceTokenAddress:k,publishableKey:n,projectName:j?.project_name}),tr&&jsxRuntime.jsx(v1,{}),!tr&&Mt&&jsxRuntime.jsxs(reactNative.View,{style:To.centeredContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[To.iconContainer,{backgroundColor:ce.cardHover}],children:jsxRuntime.jsx(dc,{size:32,color:ce.foreground,strokeWidth:1.5})}),jsxRuntime.jsx(reactNative.Text,{style:[To.blockedTitle,{color:ce.foreground,fontFamily:ae.semibold}],children:"No Tokens Available"}),jsxRuntime.jsx(reactNative.Text,{style:[To.blockedDescription,{color:ce.foreground,opacity:.7,fontFamily:ae.regular}],children:"There are no supported tokens available from your current location."})]}),!tr&&!Mt&&(()=>{let Lt=me?jsxRuntime.jsx($c,{onPress:()=>C("transfer"),title:s??Fn.transferCrypto.title,subtitle:Fn.transferCrypto.subtitle,featuredTokens:j?.transfer_crypto?.networks},"transfer"):null,Qr=Ne?jsxRuntime.jsx(qc,{onPress:()=>C("card"),title:Fn.depositWithCard.title,subtitle:Fn.depositWithCard.subtitle,paymentNetworks:j?.payment_networks?.networks},"card"):null,ne=Je?jsxRuntime.jsx(Jc,{onPress:()=>C("wallet"),featuredWallets:j?.connect_wallet?.wallets},"wallet"):null,ue=Qe?jsxRuntime.jsx(Yc,{onPress:()=>C("cashapp")},"cashapp"):null,zt=he?jsxRuntime.jsx(Zc,{onPress:()=>C("coinbaseApplePay"),title:Fn.coinbaseApplePay.title,subtitle:Fn.coinbaseApplePay.subtitle},"coinbaseApplePay"):null,ur=vt?jsxRuntime.jsx(Gc,{onPress:()=>C("stripe"),title:Fn.stripeLinkPay.title,subtitle:Fn.stripeLinkPay.subtitle},"stripe"):null,Go=Vt?jsxRuntime.jsx(Qc,{onPress:()=>C("tracker"),title:Fn.depositTracker.title,subtitle:Fn.depositTracker.subtitle,badge:nt>0?nt:void 0},"tracker"):null;return jsxRuntime.jsxs(reactNative.View,{style:To.optionsContainer,children:[W==="tabs"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(R1,{selected:M,onSelect:q}),M==="crypto"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[Lt,ne]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[Qr,ue,zt,ur]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[Lt,ne,Qr,ue,zt,ur]}),Go]})})()]}),_==="transfer"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fo,{title:s??Fn.transferCrypto.title,showBack:false,onClose:kt,showBalance:vr,balanceAddress:c,balanceChainType:ft,balanceChainId:g,balanceTokenAddress:k,publishableKey:n,projectName:j?.project_name}),K&&jsxRuntime.jsx(reactNative.View,{style:[To.centeredContainer,To.centeredFlex],children:jsxRuntime.jsx(reactNative.ActivityIndicator,{color:ce.primary})}),!K&&Mt&&jsxRuntime.jsxs(reactNative.View,{style:[To.centeredContainer,To.centeredFlex],children:[jsxRuntime.jsx(reactNative.View,{style:[To.iconContainer,{backgroundColor:ce.cardHover}],children:jsxRuntime.jsx(dc,{size:32,color:ce.foreground,strokeWidth:1.5})}),jsxRuntime.jsx(reactNative.Text,{style:[To.blockedTitle,{color:ce.foreground,fontFamily:ae.semibold}],children:"No Tokens Available"}),jsxRuntime.jsx(reactNative.Text,{style:[To.blockedDescription,{color:ce.foreground,opacity:.7,fontFamily:ae.regular}],children:"There are no supported tokens available from your current location."})]}),!K&&!Mt&&jsxRuntime.jsx(Yt,{style:To.transferScrollContainer,contentContainerStyle:B==="compact"?To.scrollContentCompact:To.scrollContent,showsVerticalScrollIndicator:false,children:B==="compact"?jsxRuntime.jsx(ip,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,destinationTokenSymbol:l,defaultChainType:d,defaultChainId:f,defaultTokenAddress:S,depositConfirmationMode:F,onExecutionsChange:U,onDepositSuccess:Z,onDepositError:je,onLatestExecution:we,onShowStatusSheet:Me,onSelectedTokenIconUrl:ut,onShowInfoSheet:xt,onInfoSheetData:Ue,borderTopLeftRadius:rt,borderTopRightRadius:oe,sheetBorderRadius:{tokenSelector:Y?.tokenSelector,chainSelector:Y?.chainSelector,infoSheet:Y?.infoSheet,depositStatus:Y?.depositStatus}}):B==="single_input"?jsxRuntime.jsx(km,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,destinationTokenSymbol:l,defaultChainType:d,defaultChainId:f,defaultTokenAddress:S,depositConfirmationMode:F,onExecutionsChange:U,onDepositSuccess:Z,onDepositError:je,onLatestExecution:we,onShowStatusSheet:Me,onSelectedTokenIconUrl:ut,borderTopLeftRadius:rt,borderTopRightRadius:oe,sheetBorderRadius:{tokenSelector:Y?.tokenSelector,infoSheet:Y?.infoSheet,depositStatus:Y?.depositStatus}}):jsxRuntime.jsx(Nu,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,destinationTokenSymbol:l,defaultChainType:d,defaultChainId:f,defaultTokenAddress:S,depositConfirmationMode:F,onExecutionsChange:U,onDepositSuccess:Z,onDepositError:je,onLatestExecution:we,onShowStatusSheet:Me,onSelectedTokenIconUrl:ut,borderTopLeftRadius:rt,borderTopRightRadius:oe,sheetBorderRadius:{tokenSelector:Y?.tokenSelector,chainSelector:Y?.chainSelector,infoSheet:Y?.infoSheet,depositStatus:Y?.depositStatus}})})]}),_==="card"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fo,{title:`Deposit ${l||"USDC"}`,showBack:Ye==="onramp",onBack:()=>dt("amount"),onClose:kt,showBalance:vr,balanceAddress:c,balanceChainType:ft,balanceChainId:g,balanceTokenAddress:k,publishableKey:n,projectName:j?.project_name}),jsxRuntime.jsx(reactNative.View,{style:To.buyWithCardContainer,children:jsxRuntime.jsx(Ku,{externalUserId:o,publishableKey:n,destinationTokenSymbol:l,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,onDepositSuccess:Z,onDepositError:je,onExecutionsChange:U,onLatestExecution:we,onShowStatusSheet:Me,onSelectedTokenIconUrl:ut,view:Ye,onViewChange:Lt=>dt(Lt),borderTopLeftRadius:rt,borderTopRightRadius:oe,sheetBorderRadius:{providerModal:Y?.providerModal,webView:Y?.webView,currencyModal:Y?.currencyModal}})})]}),_==="cashapp"&&jsxRuntime.jsx(reactNative.View,{style:To.cashAppContainer,children:jsxRuntime.jsx(vu,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,onBack:kt,onClose:kt,onDepositSuccess:Z})}),_==="coinbaseApplePay"&&jsxRuntime.jsx(reactNative.View,{style:To.coinbaseApplePayContainer,children:jsxRuntime.jsx(Du,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,destinationTokenSymbol:l,user:a,enabled:he,onBack:kt,onClose:kt,onDepositSuccess:Z,onDepositError:je,onExecutionsChange:U})}),_==="wallet"&&jsxRuntime.jsx(reactNative.View,{style:To.connectWalletContainer,children:jsxRuntime.jsx(Wu,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,onBack:kt,onClose:kt,onDepositSuccess:Z,onDepositError:je,onExecutionsChange:U,onLatestExecution:we,onShowStatusSheet:Me})}),_==="stripe"&&qr&&jsxRuntime.jsx(reactNative.View,{style:To.stripeLinkPayContainer,children:qr}),_==="tracker"&&jsxRuntime.jsx(bm,{active:_==="tracker",onClose:kt,executions:te,externalUserId:o,publishableKey:n})]})}function dp({theme:e="auto",...t}){return jsxRuntime.jsx(I1,{...t})}var To=reactNative.StyleSheet.create({optionsContainer:{paddingTop:8,paddingBottom:24,gap:8},transferScrollContainer:{flex:1},scrollContent:{paddingBottom:24},scrollContentCompact:{flexGrow:1,paddingBottom:24},buyWithCardContainer:{flex:1},stripeLinkPayContainer:{flex:1},cashAppContainer:{flex:1},connectWalletContainer:{flex:1},coinbaseApplePayContainer:{flex:1},centeredContainer:{alignItems:"center",justifyContent:"center",paddingVertical:48,paddingHorizontal:16,minHeight:200},centeredFlex:{flex:1},iconContainer:{width:64,height:64,borderRadius:32,alignItems:"center",justifyContent:"center",marginBottom:16},blockedTitle:{fontSize:18,fontWeight:"600",marginBottom:8,textAlign:"center"},blockedDescription:{fontSize:14,textAlign:"center",maxWidth:280,lineHeight:20}});var $l=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this);}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe();}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var La,Js,jl,Lb,F1=(Lb=class extends $l{constructor(){super();pe(this,La);pe(this,Js);pe(this,jl);G(this,jl,t=>{if(typeof window<"u"&&window.addEventListener){let r=()=>t();return window.addEventListener("visibilitychange",r,false),()=>{window.removeEventListener("visibilitychange",r);}}});}onSubscribe(){y(this,Js)||this.setEventListener(y(this,jl));}onUnsubscribe(){var t;this.hasListeners()||((t=y(this,Js))==null||t.call(this),G(this,Js,void 0));}setEventListener(t){var r;G(this,jl,t),(r=y(this,Js))==null||r.call(this),G(this,Js,t(o=>{typeof o=="boolean"?this.setFocused(o):this.onFocus();}));}setFocused(t){y(this,La)!==t&&(G(this,La,t),this.onFocus());}onFocus(){let t=this.isFocused();this.listeners.forEach(r=>{r(t);});}isFocused(){return typeof y(this,La)=="boolean"?y(this,La):globalThis.document?.visibilityState!=="hidden"}},La=new WeakMap,Js=new WeakMap,jl=new WeakMap,Lb),Bb=new F1;var D1={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Oi,Ba,Eb,A1=(Eb=class{constructor(){pe(this,Oi,D1);pe(this,Ba,false);}setTimeoutProvider(e){process.env.NODE_ENV!=="production"&&y(this,Ba)&&e!==y(this,Oi)&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:y(this,Oi),provider:e}),G(this,Oi,e),process.env.NODE_ENV!=="production"&&G(this,Ba,false);}setTimeout(e,t){return process.env.NODE_ENV!=="production"&&G(this,Ba,true),y(this,Oi).setTimeout(e,t)}clearTimeout(e){y(this,Oi).clearTimeout(e);}setInterval(e,t){return process.env.NODE_ENV!=="production"&&G(this,Ba,true),y(this,Oi).setInterval(e,t)}clearInterval(e){y(this,Oi).clearInterval(e);}},Oi=new WeakMap,Ba=new WeakMap,Eb),ud=new A1;function Wb(e){setTimeout(e,0);}var vm=typeof window>"u"||"Deno"in globalThis;function ql(){}function Rm(e){return typeof e=="number"&&e>=0&&e!==1/0}function Nb(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Ql(e,t){return typeof e=="function"?e(t):e}function Dn(e,t){return typeof e=="function"?e(t):e}var O1=Object.prototype.hasOwnProperty;function up(e,t,r=0){if(e===t)return e;if(r>500)return t;let o=Mb(e)&&Mb(t);if(!o&&!(zb(e)&&zb(t)))return t;let i=(o?e:Object.keys(e)).length,s=o?t:Object.keys(t),a=s.length,l=o?new Array(a):{},c=0;for(let p=0;p<a;p++){let g=o?p:s[p],k=e[g],d=t[g];if(k===d){l[g]=k,(o?p<i:O1.call(e,g))&&c++;continue}if(k===null||d===null||typeof k!="object"||typeof d!="object"){l[g]=d;continue}let f=up(k,d,r+1);l[g]=f,f===k&&c++;}return i===a&&c===i?e:l}function pp(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return false;for(let r in e)if(e[r]!==t[r])return false;return true}function Mb(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function zb(e){if(!Ub(e))return false;let t=e.constructor;if(t===void 0)return true;let r=t.prototype;return !(!Ub(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Ub(e){return Object.prototype.toString.call(e)==="[object Object]"}function Im(e,t,r){if(typeof r.structuralSharing=="function")return r.structuralSharing(e,t);if(r.structuralSharing!==false){if(process.env.NODE_ENV!=="production")try{return up(e,t)}catch(o){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${r.queryHash}]: ${o}`),o}return up(e,t)}return t}function fp(e,t){return typeof e=="function"?e(...t):!!e}var Kl=(()=>{let e=()=>vm;return {isServer(){return e()},setIsServer(t){e=t;}}})();function Pm(){let e,t,r=new Promise((n,i)=>{e=n,t=i;});r.status="pending",r.catch(()=>{});function o(n){Object.assign(r,n),delete r.resolve,delete r.reject;}return r.resolve=n=>{o({status:"fulfilled",value:n}),e(n);},r.reject=n=>{o({status:"rejected",reason:n}),t(n);},r}var Hb=Wb;function V1(){let e=[],t=0,r=a=>{a();},o=a=>{a();},n=Hb,i=a=>{t?e.push(a):n(()=>{r(a);});},s=()=>{let a=e;e=[],a.length&&n(()=>{o(()=>{a.forEach(l=>{r(l);});});});};return {batch:a=>{let l;t++;try{l=a();}finally{t--,t||s();}return l},batchCalls:a=>(...l)=>{i(()=>{a(...l);});},schedule:i,setNotifyFunction:a=>{r=a;},setBatchNotifyFunction:a=>{o=a;},setScheduler:a=>{n=a;}}}var pd=V1();var Gl,Zs,Yl,$b,L1=($b=class extends $l{constructor(){super();pe(this,Gl,true);pe(this,Zs);pe(this,Yl);G(this,Yl,t=>{if(typeof window<"u"&&window.addEventListener){let r=()=>t(true),o=()=>t(false);return window.addEventListener("online",r,false),window.addEventListener("offline",o,false),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",o);}}});}onSubscribe(){y(this,Zs)||this.setEventListener(y(this,Yl));}onUnsubscribe(){var t;this.hasListeners()||((t=y(this,Zs))==null||t.call(this),G(this,Zs,void 0));}setEventListener(t){var r;G(this,Yl,t),(r=y(this,Zs))==null||r.call(this),G(this,Zs,t(this.setOnline.bind(this)));}setOnline(t){y(this,Gl)!==t&&(G(this,Gl,t),this.listeners.forEach(o=>{o(t);}));}isOnline(){return y(this,Gl)}},Gl=new WeakMap,Zs=new WeakMap,Yl=new WeakMap,$b),jb=new L1;function qb(e){return (e??"online")==="online"?jb.isOnline():true}function Qb(e,t){return {fetchFailureCount:0,fetchFailureReason:null,fetchStatus:qb(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}var yn,Zt,md,tn,Ea,Jl,as,Xs,hd,Zl,Xl,Wa,Ma,ea,ec,Cr,fd,Fm,Dm,Am,Om,Vm,Lm,Bm,Jb,Yb,Wm=(Yb=class extends $l{constructor(t,r){super();pe(this,Cr);pe(this,yn);pe(this,Zt);pe(this,md);pe(this,tn);pe(this,Ea);pe(this,Jl);pe(this,as);pe(this,Xs);pe(this,hd);pe(this,Zl);pe(this,Xl);pe(this,Wa);pe(this,Ma);pe(this,ea);pe(this,ec,new Set);this.options=r,G(this,yn,t),G(this,Xs,null),G(this,as,Pm()),this.bindMethods(),this.setOptions(r);}bindMethods(){this.refetch=this.refetch.bind(this);}onSubscribe(){this.listeners.size===1&&(y(this,Zt).addObserver(this),Kb(y(this,Zt),this.options)?Wt(this,Cr,fd).call(this):this.updateResult(),Wt(this,Cr,Om).call(this));}onUnsubscribe(){this.hasListeners()||this.destroy();}shouldFetchOnReconnect(){return Em(y(this,Zt),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Em(y(this,Zt),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Wt(this,Cr,Vm).call(this),Wt(this,Cr,Lm).call(this),y(this,Zt).removeObserver(this);}setOptions(t){let r=this.options,o=y(this,Zt);if(this.options=y(this,yn).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Dn(this.options.enabled,y(this,Zt))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Wt(this,Cr,Bm).call(this),y(this,Zt).setOptions(this.options),r._defaulted&&!pp(this.options,r)&&y(this,yn).getQueryCache().notify({type:"observerOptionsUpdated",query:y(this,Zt),observer:this});let n=this.hasListeners();n&&Gb(y(this,Zt),o,this.options,r)&&Wt(this,Cr,fd).call(this),this.updateResult(),n&&(y(this,Zt)!==o||Dn(this.options.enabled,y(this,Zt))!==Dn(r.enabled,y(this,Zt))||Ql(this.options.staleTime,y(this,Zt))!==Ql(r.staleTime,y(this,Zt)))&&Wt(this,Cr,Fm).call(this);let i=Wt(this,Cr,Dm).call(this);n&&(y(this,Zt)!==o||Dn(this.options.enabled,y(this,Zt))!==Dn(r.enabled,y(this,Zt))||i!==y(this,ea))&&Wt(this,Cr,Am).call(this,i);}getOptimisticResult(t){let r=y(this,yn).getQueryCache().build(y(this,yn),t),o=this.createResult(r,t);return E1(this,o)&&(G(this,tn,o),G(this,Jl,this.options),G(this,Ea,y(this,Zt).state)),o}getCurrentResult(){return y(this,tn)}trackResult(t,r){return new Proxy(t,{get:(o,n)=>(this.trackProp(n),r?.(n),n==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&y(this,as).status==="pending"&&y(this,as).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(o,n))})}trackProp(t){y(this,ec).add(t);}getCurrentQuery(){return y(this,Zt)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){let r=y(this,yn).defaultQueryOptions(t),o=y(this,yn).getQueryCache().build(y(this,yn),r);return o.fetch().then(()=>this.createResult(o,r))}fetch(t){return Wt(this,Cr,fd).call(this,{...t,cancelRefetch:t.cancelRefetch??true}).then(()=>(this.updateResult(),y(this,tn)))}createResult(t,r){let o=y(this,Zt),n=this.options,i=y(this,tn),s=y(this,Ea),a=y(this,Jl),c=t!==o?t.state:y(this,md),{state:p}=t,g={...p},k=false,d;if(r._optimisticResults){let b=this.hasListeners(),A=!b&&Kb(t,r),O=b&&Gb(t,o,r,n);(A||O)&&(g={...g,...Qb(p.data,t.options)}),r._optimisticResults==="isRestoring"&&(g.fetchStatus="idle");}let{error:f,errorUpdatedAt:S,status:h}=g;d=g.data;let w=false;if(r.placeholderData!==void 0&&d===void 0&&h==="pending"){let b;i?.isPlaceholderData&&r.placeholderData===a?.placeholderData?(b=i.data,w=true):b=typeof r.placeholderData=="function"?r.placeholderData(y(this,Xl)?.state.data,y(this,Xl)):r.placeholderData,b!==void 0&&(h="success",d=Im(i?.data,b,r),k=true);}if(r.select&&d!==void 0&&!w)if(i&&d===s?.data&&r.select===y(this,hd))d=y(this,Zl);else try{G(this,hd,r.select),d=r.select(d),d=Im(i?.data,d,r),G(this,Zl,d),G(this,Xs,null);}catch(b){G(this,Xs,b);}y(this,Xs)&&(f=y(this,Xs),d=y(this,Zl),S=Date.now(),h="error");let v=g.fetchStatus==="fetching",I=h==="pending",x=h==="error",P=I&&v,m=d!==void 0,T={status:h,fetchStatus:g.fetchStatus,isPending:I,isSuccess:h==="success",isError:x,isInitialLoading:P,isLoading:P,data:d,dataUpdatedAt:g.dataUpdatedAt,error:f,errorUpdatedAt:S,failureCount:g.fetchFailureCount,failureReason:g.fetchFailureReason,errorUpdateCount:g.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:g.dataUpdateCount>c.dataUpdateCount||g.errorUpdateCount>c.errorUpdateCount,isFetching:v,isRefetching:v&&!I,isLoadingError:x&&!m,isPaused:g.fetchStatus==="paused",isPlaceholderData:k,isRefetchError:x&&m,isStale:Mm(t,r),refetch:this.refetch,promise:y(this,as),isEnabled:Dn(r.enabled,t)!==false};if(this.options.experimental_prefetchInRender){let b=T.data!==void 0,A=T.status==="error"&&!b,O=W=>{A?W.reject(T.error):b&&W.resolve(T.data);},F=()=>{let W=G(this,as,T.promise=Pm());O(W);},B=y(this,as);switch(B.status){case "pending":t.queryHash===o.queryHash&&O(B);break;case "fulfilled":(A||T.data!==B.value)&&F();break;case "rejected":(!A||T.error!==B.reason)&&F();break}}return T}updateResult(){let t=y(this,tn),r=this.createResult(y(this,Zt),this.options);if(G(this,Ea,y(this,Zt).state),G(this,Jl,this.options),y(this,Ea).data!==void 0&&G(this,Xl,y(this,Zt)),pp(r,t))return;G(this,tn,r);let o=()=>{if(!t)return true;let{notifyOnChangeProps:n}=this.options,i=typeof n=="function"?n():n;if(i==="all"||!i&&!y(this,ec).size)return true;let s=new Set(i??y(this,ec));return this.options.throwOnError&&s.add("error"),Object.keys(y(this,tn)).some(a=>{let l=a;return y(this,tn)[l]!==t[l]&&s.has(l)})};Wt(this,Cr,Jb).call(this,{listeners:o()});}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Wt(this,Cr,Om).call(this);}},yn=new WeakMap,Zt=new WeakMap,md=new WeakMap,tn=new WeakMap,Ea=new WeakMap,Jl=new WeakMap,as=new WeakMap,Xs=new WeakMap,hd=new WeakMap,Zl=new WeakMap,Xl=new WeakMap,Wa=new WeakMap,Ma=new WeakMap,ea=new WeakMap,ec=new WeakMap,Cr=new WeakSet,fd=function(t){Wt(this,Cr,Bm).call(this);let r=y(this,Zt).fetch(this.options,t);return t?.throwOnError||(r=r.catch(ql)),r},Fm=function(){Wt(this,Cr,Vm).call(this);let t=Ql(this.options.staleTime,y(this,Zt));if(Kl.isServer()||y(this,tn).isStale||!Rm(t))return;let o=Nb(y(this,tn).dataUpdatedAt,t)+1;G(this,Wa,ud.setTimeout(()=>{y(this,tn).isStale||this.updateResult();},o));},Dm=function(){return (typeof this.options.refetchInterval=="function"?this.options.refetchInterval(y(this,Zt)):this.options.refetchInterval)??false},Am=function(t){Wt(this,Cr,Lm).call(this),G(this,ea,t),!(Kl.isServer()||Dn(this.options.enabled,y(this,Zt))===false||!Rm(y(this,ea))||y(this,ea)===0)&&G(this,Ma,ud.setInterval(()=>{(this.options.refetchIntervalInBackground||Bb.isFocused())&&Wt(this,Cr,fd).call(this);},y(this,ea)));},Om=function(){Wt(this,Cr,Fm).call(this),Wt(this,Cr,Am).call(this,Wt(this,Cr,Dm).call(this));},Vm=function(){y(this,Wa)!==void 0&&(ud.clearTimeout(y(this,Wa)),G(this,Wa,void 0));},Lm=function(){y(this,Ma)!==void 0&&(ud.clearInterval(y(this,Ma)),G(this,Ma,void 0));},Bm=function(){let t=y(this,yn).getQueryCache().build(y(this,yn),this.options);if(t===y(this,Zt))return;let r=y(this,Zt);G(this,Zt,t),G(this,md,t.state),this.hasListeners()&&(r?.removeObserver(this),t.addObserver(this));},Jb=function(t){pd.batch(()=>{t.listeners&&this.listeners.forEach(r=>{r(y(this,tn));}),y(this,yn).getQueryCache().notify({query:y(this,Zt),type:"observerResultsUpdated"});});},Yb);function B1(e,t){return Dn(t.enabled,e)!==false&&e.state.data===void 0&&!(e.state.status==="error"&&Dn(t.retryOnMount,e)===false)}function Kb(e,t){return B1(e,t)||e.state.data!==void 0&&Em(e,t,t.refetchOnMount)}function Em(e,t,r){if(Dn(t.enabled,e)!==false&&Ql(t.staleTime,e)!=="static"){let o=typeof r=="function"?r(e):r;return o==="always"||o!==false&&Mm(e,t)}return false}function Gb(e,t,r,o){return (e!==t||Dn(o.enabled,e)===false)&&(!r.suspense||e.state.status!=="error")&&Mm(e,r)}function Mm(e,t){return Dn(t.enabled,e)!==false&&e.isStaleByTime(Ql(t.staleTime,e))}function E1(e,t){return !pp(e.getCurrentResult(),t)}var W1=ta__namespace.createContext(void 0),Zb=e=>{let t=ta__namespace.useContext(W1);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t};var Xb=ta__namespace.createContext(false),ew=()=>ta__namespace.useContext(Xb);Xb.Provider;function M1(){let e=false;return {clearReset:()=>{e=false;},reset:()=>{e=true;},isReset:()=>e}}var z1=ta__namespace.createContext(M1()),tw=()=>ta__namespace.useContext(z1);var ow=(e,t,r)=>{let o=r?.state.error&&typeof e.throwOnError=="function"?fp(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||o)&&(t.isReset()||(e.retryOnMount=false));},nw=e=>{ta__namespace.useEffect(()=>{e.clearReset();},[e]);},iw=({result:e,errorResetBoundary:t,throwOnError:r,query:o,suspense:n})=>e.isError&&!t.isReset()&&!e.isFetching&&o&&(n&&e.data===void 0||fp(r,[e.error,o]));var sw=e=>{if(e.suspense){let r=n=>n==="static"?n:Math.max(n??1e3,1e3),o=e.staleTime;e.staleTime=typeof o=="function"?(...n)=>r(o(...n)):r(o),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3));}},aw=(e,t)=>e.isLoading&&e.isFetching&&!t,lw=(e,t)=>e?.suspense&&t.isPending,zm=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset();});function cw(e,t,r){if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');let o=ew(),n=tw(),i=Zb(),s=i.defaultQueryOptions(e);i.getDefaultOptions().queries?._experimental_beforeQuery?.(s);let a=i.getQueryCache().get(s.queryHash);process.env.NODE_ENV!=="production"&&(s.queryFn||console.error(`[${s.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`));let l=e.subscribed!==false;s._optimisticResults=o?"isRestoring":l?"optimistic":void 0,sw(s),ow(s,n,a),nw(n);let c=!i.getQueryCache().get(s.queryHash),[p]=ta__namespace.useState(()=>new t(i,s)),g=p.getOptimisticResult(s),k=!o&&l;if(ta__namespace.useSyncExternalStore(ta__namespace.useCallback(d=>{let f=k?p.subscribe(pd.batchCalls(d)):ql;return p.updateResult(),f},[p,k]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),ta__namespace.useEffect(()=>{p.setOptions(s);},[s,p]),lw(s,g))throw zm(s,p,n);if(iw({result:g,errorResetBoundary:n,throwOnError:s.throwOnError,query:a,suspense:s.suspense}))throw g.error;return i.getDefaultOptions().queries?._experimental_afterQuery?.(s,g),s.experimental_prefetchInRender&&!Kl.isServer()&&aw(g,o)&&(c?zm(s,p,n):a?.promise)?.catch(ql).finally(()=>{p.updateResult();}),s.notifyOnChangeProps?g:p.trackResult(g)}function ls(e,t){return cw(e,Wm)}function hp(e,t=true){return ls({queryKey:["unifold","supportedDestinationTokens",e],queryFn:()=>Ed(e),staleTime:1e3*60*5,gcTime:1e3*60*30,refetchOnMount:false,enabled:t})}function Um(e){let{sourceChainType:t,sourceChainId:r,sourceTokenAddress:o,sourceTokenSymbol:n,publishableKey:i,enabled:s=true}=e;return ls({queryKey:["unifold","sourceTokenValidation",t??null,r??null,o??null,i],queryFn:async()=>{let l=await Wi(i),c=null,p=null,g=null,k=null,d,f,S,h=l.data.some(w=>w.chains.some(v=>{let I=v.chain_type===t&&v.chain_id===r&&v.token_address.toLowerCase()===o.toLowerCase();return I&&(c=v.minimum_deposit_amount_usd,p=v.estimated_processing_time,g=v.max_slippage_percent,k=v.estimated_price_impact_percent,S=v.chain_name,f=w),I}));if(f){let w=it(f,"png");w&&(d=ye(w));}return {isSupported:h,minimumAmountUsd:c,estimatedProcessingTime:p,maxSlippagePercent:g,priceImpactPercent:k,errorMessage:h?null:`${n||"Source token"} is not a supported withdrawal token. Supported tokens include USDC, USDT, and other stablecoins.`,iconUrl:d,chainName:S}},enabled:s&&(!!t&&!!r&&!!o),staleTime:1e3*60*5,gcTime:1e3*60*30,refetchOnMount:false})}function Nm(e){let{address:t,chainType:r,chainId:o,tokenAddress:n,publishableKey:i,enabled:s=true}=e;return ls({queryKey:["unifold","addressBalance",t??null,r??null,o??null,n??null,i],queryFn:async()=>{let l=await Wd(t,r,o,n,i);if(l.balance){let c=l.balance.token?.decimals??6,p=l.balance.token?.symbol??"",g=l.balance.amount,k=BigInt(g),d=BigInt(10**c),f=k/d,h=(k%d).toString().padStart(c,"0").replace(/0+$/,""),w=h?`${f}.${h}`:f.toString();return {balanceBaseUnit:g,balanceHuman:w,balanceUsd:l.balance.amount_usd,exchangeRate:l.balance.exchange_rate,decimals:c,symbol:p}}return {balanceBaseUnit:"0",balanceHuman:"0",balanceUsd:"0",exchangeRate:null,decimals:6,symbol:""}},enabled:s&&(!!t&&!!r&&!!o&&!!n),staleTime:1e3*30,gcTime:1e3*60*5,refetchInterval:1e3*30,refetchOnMount:"always"})}var U1=2500,N1=3e3,H1=6e4;function Hm({userId:e,publishableKey:t,depositWalletId:r,enabled:o=false,onWithdrawSuccess:n,onWithdrawError:i}){let[s,a]=ta.useState([]),[l,c]=ta.useState(false),p=ta.useRef(new Date),g=ta.useRef(new Map),k=ta.useRef(false),d=ta.useRef(n),f=ta.useRef(i);return ta.useEffect(()=>{d.current=n;},[n]),ta.useEffect(()=>{f.current=i;},[i]),ta.useEffect(()=>{o&&!k.current&&(p.current=new Date,g.current.clear()),o||g.current.clear(),k.current=o;},[o]),ta.useEffect(()=>{if(!e||!o)return;let S=p.current,h=async()=>{try{let v=await ln(e,t,"withdraw"),I=new Date(S.getTime()-H1),x=[...v.data].sort((T,b)=>{let A=T.created_at?new Date(T.created_at).getTime():0;return (b.created_at?new Date(b.created_at).getTime():0)-A}),P=["pending","waiting","delayed"],m=["succeeded","failed"],u=null;for(let T of x){let b=T.created_at?new Date(T.created_at):null;if(!b||b<I)continue;let A=g.current.get(T.id);if(!A){u=T;break}if(P.includes(A)&&m.includes(T.status)){u=T;break}}if(u){let T=u,b=T.created_at?new Date(T.created_at):null;if(!b||b<p.current)return;let A=g.current.get(T.id);g.current.set(T.id,T.status),a(O=>{let F=O.findIndex(B=>B.id===T.id);if(F>=0){let B=[...O];return B[F]=T,B}return [...O,T]}),T.status==="succeeded"&&(!A||P.includes(A))?d.current?.({message:"Withdrawal completed successfully",transaction:T}):T.status==="failed"&&A!=="failed"&&f.current?.({message:"Withdrawal failed",code:"WITHDRAW_FAILED",error:T});}}catch(v){console.error("Failed to fetch withdraw executions:",v),f.current?.({message:"Failed to fetch withdrawal status",code:"POLLING_ERROR",error:v});}};h();let w=setInterval(h,U1);return c(true),()=>{clearInterval(w),c(false);}},[e,t,o]),ta.useEffect(()=>{if(!o||!r)return;let S=async()=>{try{await Cc({deposit_wallet_id:r},t);}catch{}};S();let h=setInterval(S,N1);return ()=>clearInterval(h)},[o,r,t]),{executions:s,isPolling:l}}var $m=(e,t)=>`${t}:${e}`;function Cd({tokens:e,selectedTokenSymbol:t,selectedChainKey:r,onTokenChange:o,onChainChange:n,isLoading:i=false,tokenLabel:s="Receive token",chainLabel:a="Receive chain",tokenPickerBorderTopLeftRadius:l,tokenPickerBorderTopRightRadius:c,chainPickerBorderTopLeftRadius:p,chainPickerBorderTopRightRadius:g}){let{colors:k,fonts:d,components:f}=z(),[S,h]=ta.useState(false),[w,v]=ta.useState(false),I=f.card,x=t?e.find(T=>T.symbol===t):void 0,P=x?.chains||[],m=r?P.find(T=>$m(T.chain_id,T.chain_type)===r):void 0,u={backgroundColor:I.backgroundColor,borderRadius:I.borderRadius,borderWidth:I.borderWidth||1,borderColor:I.borderColor};return jsxRuntime.jsxs(reactNative.View,{style:ir.row,children:[jsxRuntime.jsxs(reactNative.View,{style:ir.col,children:[jsxRuntime.jsx(reactNative.Text,{style:[ir.label,{color:I.labelColor,fontFamily:d.medium}],children:s}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[ir.selectButton,u],onPress:()=>!i&&e.length>0&&h(true),activeOpacity:.7,disabled:i||e.length===0,children:[i?jsxRuntime.jsx(reactNative.Text,{style:[ir.placeholder,{color:I.subtitleColor,fontFamily:d.regular}],children:"Loading..."}):x?jsxRuntime.jsxs(reactNative.View,{style:ir.selectedItem,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(x,"png"))},style:ir.icon}),jsxRuntime.jsx(reactNative.Text,{style:[ir.selectedText,{color:I.titleColor,fontFamily:d.medium}],numberOfLines:1,children:x.symbol})]}):jsxRuntime.jsx(reactNative.Text,{style:[ir.placeholder,{color:I.subtitleColor,fontFamily:d.regular}],children:"Select receive token"}),jsxRuntime.jsx(Ar,{size:16,color:I.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsxs(reactNative.View,{style:ir.col,children:[jsxRuntime.jsx(reactNative.Text,{style:[ir.label,{color:I.labelColor,fontFamily:d.medium}],children:a}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[ir.selectButton,u,(!x||P.length===0)&&ir.disabled],onPress:()=>!i&&x&&P.length>0&&v(true),activeOpacity:.7,disabled:i||!x||P.length===0,children:[m?jsxRuntime.jsxs(reactNative.View,{style:ir.selectedItem,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(m,"png"))},style:ir.icon}),jsxRuntime.jsx(reactNative.Text,{style:[ir.selectedText,{color:I.titleColor,fontFamily:d.medium}],numberOfLines:1,children:m.chain_name})]}):jsxRuntime.jsx(reactNative.Text,{style:[ir.placeholder,{color:I.subtitleColor,fontFamily:d.regular}],children:"Chain"}),jsxRuntime.jsx(Ar,{size:16,color:I.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsxs(rr,{visible:S,onClose:()=>h(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:l,borderTopRightRadius:c,children:[jsxRuntime.jsxs(reactNative.View,{style:ir.pickerHeader,children:[jsxRuntime.jsx(reactNative.View,{style:ir.pickerHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[ir.pickerTitle,{color:k.foreground,fontFamily:d.medium}],children:"Select Token"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:ir.pickerHeaderClose,onPress:()=>h(false),hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx($t,{size:20,color:k.foregroundMuted,strokeWidth:2})})]}),jsxRuntime.jsx(Za,{data:e,keyExtractor:T=>T.symbol,contentContainerStyle:ir.listContent,showsVerticalScrollIndicator:false,renderItem:({item:T})=>jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[ir.pickerItem,{backgroundColor:T.symbol===t?k.cardHover:"transparent"}],onPress:()=>{o(T.symbol),h(false);},activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(T,"png"))},style:ir.pickerIcon}),jsxRuntime.jsx(reactNative.Text,{style:[ir.pickerItemText,{color:k.foreground,fontFamily:d.medium}],children:T.symbol}),jsxRuntime.jsx(reactNative.Text,{style:[ir.pickerItemSub,{color:k.foregroundMuted,fontFamily:d.regular}],children:T.name}),T.symbol===t&&jsxRuntime.jsx(It,{size:18,color:k.primary,strokeWidth:2.5})]})})]}),jsxRuntime.jsxs(rr,{visible:w,onClose:()=>v(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:p,borderTopRightRadius:g,children:[jsxRuntime.jsxs(reactNative.View,{style:ir.pickerHeader,children:[jsxRuntime.jsx(reactNative.View,{style:ir.pickerHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[ir.pickerTitle,{color:k.foreground,fontFamily:d.medium}],children:"Select Chain"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:ir.pickerHeaderClose,onPress:()=>v(false),hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx($t,{size:20,color:k.foregroundMuted,strokeWidth:2})})]}),jsxRuntime.jsx(Za,{data:P,keyExtractor:T=>$m(T.chain_id,T.chain_type),contentContainerStyle:ir.listContent,showsVerticalScrollIndicator:false,renderItem:({item:T})=>{let b=$m(T.chain_id,T.chain_type);return jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[ir.pickerItem,{backgroundColor:b===r?k.cardHover:"transparent"}],onPress:()=>{n(b),v(false);},activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(T,"png"))},style:ir.pickerIcon}),jsxRuntime.jsx(reactNative.Text,{style:[ir.pickerItemText,{color:k.foreground,fontFamily:d.medium}],children:T.chain_name}),b===r&&jsxRuntime.jsx(It,{size:18,color:k.primary,strokeWidth:2.5})]})}})]})]})}var ir=reactNative.StyleSheet.create({row:{flexDirection:"column",gap:10},col:{},label:{fontSize:12,marginBottom:6},selectButton:{flexDirection:"row",alignItems:"center",paddingHorizontal:12,paddingVertical:12,gap:6,minHeight:48},selectedItem:{flex:1,flexDirection:"row",alignItems:"center",gap:6},icon:{width:20,height:20,borderRadius:10},selectedText:{fontSize:13,flexShrink:1},placeholder:{flex:1,fontSize:13},disabled:{opacity:.4},pickerHeader:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingTop:16,paddingBottom:12},pickerHeaderSpacer:{width:28},pickerHeaderClose:{width:28,alignItems:"flex-end"},pickerTitle:{flex:1,fontSize:16,textAlign:"center"},listContent:{paddingHorizontal:16,paddingVertical:8},pickerItem:{flexDirection:"row",alignItems:"center",paddingVertical:12,paddingHorizontal:12,borderRadius:10,gap:10},pickerIcon:{width:32,height:32,borderRadius:16},pickerItemText:{fontSize:15,flex:1},pickerItemSub:{fontSize:13}});function jm(e){let{chainType:t,chainId:r,tokenAddress:o,recipientAddress:n,publishableKey:i,enabled:s=true}=e,a=n?.trim()||"",l=!!t&&!!r&&!!o&&a.length>0;return ls({queryKey:["unifold","verifyRecipientAddress",t??null,r??null,o??null,a,i],queryFn:()=>qp({chain_type:t,chain_id:r,token_address:o,recipient_address:a},i),enabled:s&&l,staleTime:1e3*60*5,gcTime:1e3*60*30,retry:1,refetchOnMount:false})}function Q1(e){if(e===null)return "< 1 min";let t=Math.ceil(e/60);return t<60?`< ${t} min`:`< ${Math.ceil(t/60)} hr`}function K1(e,t){if(e<=0)return "0";if(t===0)return BigInt(Math.round(e)).toString();let r=e.toFixed(t),[o,n=""]=r.split("."),i=n.padEnd(t,"0").slice(0,t);return (BigInt(o)*BigInt(10**t)+BigInt(i)).toString()}function G1(e,t){return e===0?"0":e.toFixed(t).replace(/\.?0+$/,"")}function yp({publishableKey:e,sourceChainType:t,sourceChainId:r,sourceTokenAddress:o,sourceTokenSymbol:n,sourceChainName:i,sourceTokenIconUrl:s,recipientAddressProp:a,selectedToken:l,selectedChain:c,balanceData:p,isLoadingBalance:g,minimumWithdrawAmountUsd:k,estimatedProcessingTime:d,maxSlippagePercent:f,priceImpactPercent:S,canWithdraw:h,onDepositWalletCreation:w,onWithdraw:v,onWithdrawError:I,onWithdrawSubmitted:x,onViewTracker:P}){let m="https://unifold.io/terms",u="https://unifold.io/support",{colors:T,fonts:b,components:A}=z(),[O,F]=ta.useState(a||""),[B,W]=ta.useState(""),[N,Z]=ta.useState(false),[je,Y]=ta.useState(null),[rt,oe]=ta.useState(false),[ce,ae]=ta.useState(""),te=ta.useRef(null);ta.useEffect(()=>{F(a||""),W(""),Y(null);},[a]);let ke=O.trim();ta.useEffect(()=>{let he=setTimeout(()=>ae(ke),500);return ()=>clearTimeout(he)},[ke]);let{data:j,isLoading:Ie,error:pt}=jm({chainType:c?.chain_type,chainId:c?.chain_id,tokenAddress:c?.token_address,recipientAddress:ce,publishableKey:e,enabled:ce.length>5&&!!c}),Ge=ke!==ce,Se=ta.useMemo(()=>!ke||ke.length<=5||Ge||Ie?null:pt?"Invalid address":j&&!j.valid?j.failure_code==="account_not_found"?`Account not found on ${c?.chain_name}`:j.failure_code==="not_opted_in"?`Recipient hasn't opted in to ${l?.symbol} on ${c?.chain_name}`:"Invalid address":null,[ke,Ge,Ie,pt,j,c,l]),qe=!Ge&&!!j?.valid&&!Se,ot=ta.useMemo(()=>p?.exchangeRate?parseFloat(p.exchangeRate):0,[p]),Ye=ta.useMemo(()=>p?.balanceHuman?parseFloat(p.balanceHuman):0,[p]),dt=n||p?.symbol||"TOKEN",st=p?.decimals??6,Me=ta.useMemo(()=>{let he=parseFloat(B);return !he||he<=0?0:he},[B]),be=ta.useMemo(()=>{let he=parseFloat(B);return !he||he<=0?0:he*ot},[B,ot]),we=ta.useCallback(async()=>{try{let Ne=await eC("expo-clipboard").getStringAsync();Ne&&(F(Ne.trim()),Y(null));}catch{}},[]),ze=ta.useCallback(()=>{Ye<=0||W(p?.balanceHuman??"0");},[Ye,p]),ut=k!==null&&be>0&&be<k,ht=Me>0&&Ye>0&&Me>Ye,xt=ke.length>0&&B.trim().length>0&&Me>0&&qe&&!ut&&!ht&&!!p,lr=ta.useCallback(async()=>{if(!(!l||!c||!xt||!h)){Z(true),Y(null);try{let he=await w({destinationChainType:c.chain_type,destinationChainId:c.chain_id,destinationTokenAddress:c.token_address,recipientAddress:ke}),Ne=K1(Me,st),vt=G1(Me,st),Vt={sourceChainType:t,sourceChainId:r,sourceTokenAddress:o,sourceTokenSymbol:dt,sourceTokenIconUrl:s,destinationChainType:c.chain_type,destinationChainId:c.chain_id,destinationTokenAddress:c.token_address,destinationTokenSymbol:l.symbol,destinationChainName:c.chain_name,destinationTokenIconUrl:l?ye(it(l,"png")):void 0,amount:vt,amountBaseUnit:Ne,submittedAt:new Date,withdrawIntentAddress:he.address,recipientAddress:ke};await v(Vt),x(Vt);}catch(he){let Ne=he instanceof Error?he.message:"Withdrawal failed. Please try again.",vt=Ne.length>120?"Withdrawal failed. Please try again.":Ne;Y(vt),I?.({message:Ne,error:he,code:"WITHDRAW_FAILED"});}finally{Z(false);}}},[l,c,xt,h,ke,t,r,o,dt,s,B,Ye,p,Me,st,be,w,v,I,x]),Ue=A.input,me=A.card,Je=A.button,Qe=Se?T.error:Ue.borderColor,Ve=ta.useMemo(()=>N?"Processing...":ht?"Insufficient balance":ut?`Minimum $${k?.toFixed(2)}`:je?"Withdrawal failed \u2014 try again":"Withdraw",[N,ht,ut,k,je]);return jsxRuntime.jsxs(reactNative.View,{style:Xt.container,children:[jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsxs(reactNative.View,{style:Xt.labelRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[Xt.label,{color:me.labelColor,fontFamily:b.medium}],children:"Recipient address"}),(Ge||Ie)&&ke.length>5?jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:T.primary}):jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:we,activeOpacity:.6,hitSlop:{top:8,bottom:8,left:8,right:8},children:jsxRuntime.jsx(mh,{size:16,color:T.foregroundMuted,strokeWidth:1.75})})]}),jsxRuntime.jsx(reactNative.View,{style:[Xt.inputRow,{backgroundColor:Ue.backgroundColor,borderRadius:Ue.borderRadius,borderWidth:Ue.borderWidth,borderColor:Qe}],children:jsxRuntime.jsx(reactNative.TextInput,{style:[Xt.textInput,{color:Ue.textColor,fontFamily:b.regular}],placeholder:"Enter wallet address",placeholderTextColor:Ue.placeholderColor,value:O,onChangeText:he=>{F(he),Y(null);},autoCapitalize:"none",autoCorrect:false,returnKeyType:"done",onSubmitEditing:()=>te.current?.focus()})}),Se?jsxRuntime.jsx(reactNative.Text,{style:[Xt.errorText,{color:T.error,fontFamily:b.regular}],children:Se}):null]}),jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsxs(reactNative.Text,{style:[Xt.label,{color:me.labelColor,fontFamily:b.medium,paddingBottom:8}],children:["Amount",k!=null&&k>0&&jsxRuntime.jsx(reactNative.Text,{style:{color:T.warning,fontFamily:b.regular},children:` ($${k.toFixed(2)} min)`})]}),jsxRuntime.jsxs(reactNative.View,{style:[Xt.amountRow,{backgroundColor:Ue.backgroundColor,borderRadius:Ue.borderRadius,borderWidth:Ue.borderWidth,borderColor:Ue.borderColor}],children:[jsxRuntime.jsx(reactNative.TextInput,{ref:te,style:[Xt.amountInput,{color:Ue.textColor,fontFamily:b.regular}],placeholder:"0.00",placeholderTextColor:Ue.placeholderColor,value:B,onChangeText:he=>{(he===""||/^\d*\.?\d*$/.test(he))&&(W(he),Y(null));},keyboardType:"decimal-pad",returnKeyType:"done"}),jsxRuntime.jsx(reactNative.Text,{style:[Xt.unitLabel,{color:T.foregroundMuted,fontFamily:b.medium}],children:dt}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Xt.maxButton,{backgroundColor:`${T.primary}20`}],onPress:ze,activeOpacity:.7,children:jsxRuntime.jsx(reactNative.Text,{style:[Xt.maxText,{color:T.primary,fontFamily:b.medium}],children:"Max"})})]})]}),jsxRuntime.jsxs(reactNative.View,{style:[Xt.detailsCard,{marginTop:24,backgroundColor:me.backgroundColor,borderRadius:me.borderRadius,borderWidth:me.borderWidth||1,borderColor:me.borderColor}],children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Xt.detailsToggle,onPress:()=>oe(!rt),activeOpacity:.7,children:jsxRuntime.jsxs(reactNative.View,{style:Xt.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Xt.detailIcon,{backgroundColor:me.iconBackgroundColor,borderRadius:me.iconContainerBorderRadius}],children:jsxRuntime.jsx($o,{size:12,color:me.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Xt.detailsLabel,{color:me.titleColor,fontFamily:b.regular}],children:["Processing time:"," ",jsxRuntime.jsx(reactNative.Text,{style:{fontFamily:b.medium},children:Q1(d)})]}),jsxRuntime.jsx(reactNative.View,{style:{transform:[{rotate:rt?"180deg":"0deg"}]},children:jsxRuntime.jsx(Ar,{size:16,color:me.actionColor,strokeWidth:2})})]})}),rt&&jsxRuntime.jsxs(reactNative.View,{style:Xt.detailsExpanded,children:[jsxRuntime.jsxs(reactNative.View,{style:Xt.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Xt.detailIcon,{backgroundColor:me.iconBackgroundColor,borderRadius:me.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jo,{size:12,color:me.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Xt.detailsLabel,{color:me.titleColor,fontFamily:b.regular}],children:["Slippage:"," ",jsxRuntime.jsxs(reactNative.Text,{style:{fontFamily:b.medium},children:["Auto \u2022 ",(f??.25).toFixed(2),"%"]})]})]}),jsxRuntime.jsxs(reactNative.View,{style:Xt.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Xt.detailIcon,{backgroundColor:me.iconBackgroundColor,borderRadius:me.iconContainerBorderRadius}],children:jsxRuntime.jsx(Yn,{size:12,color:me.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Xt.detailsLabel,{color:me.titleColor,fontFamily:b.regular}],children:["Price impact:"," ",jsxRuntime.jsxs(reactNative.Text,{style:{fontFamily:b.medium},children:[(S??0).toFixed(2),"%"]})]})]})]})]}),je&&jsxRuntime.jsx(reactNative.Text,{style:[Xt.errorText,{color:T.error,fontFamily:b.regular,textAlign:"center"}],children:je}),jsxRuntime.jsxs(reactNative.View,{style:Xt.withdrawRow,children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[Xt.withdrawButton,{backgroundColor:Je.primaryBackground,borderRadius:Je.borderRadius,borderWidth:Je.borderWidth,borderColor:Je.borderColor,opacity:!xt||!h||N?.5:1}],onPress:lr,disabled:!xt||!h||N,activeOpacity:.8,children:[N&&jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:Je.primaryText}),jsxRuntime.jsx(reactNative.Text,{style:[Xt.withdrawButtonText,{color:Je.primaryText,fontFamily:b.medium}],children:Ve})]}),jsxRuntime.jsxs(reactNative.View,{style:Xt.footerRow,children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Xt.historyLink,onPress:P,activeOpacity:.7,children:[jsxRuntime.jsx($o,{size:14,color:T.foregroundMuted,strokeWidth:2}),jsxRuntime.jsx(reactNative.Text,{style:[Xt.historyText,{color:T.foregroundMuted,fontFamily:b.regular}],children:"Withdrawal history"})]}),jsxRuntime.jsxs(reactNative.View,{style:Xt.legalLinks,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>reactNative.Linking.openURL(m),activeOpacity:.7,children:jsxRuntime.jsx(reactNative.Text,{style:[Xt.legalText,{color:T.foregroundMuted,fontFamily:b.regular}],children:"Terms"})}),jsxRuntime.jsx(reactNative.Text,{style:[Xt.legalSeparator,{color:T.foregroundMuted,fontFamily:b.regular}],children:"|"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>reactNative.Linking.openURL(u),activeOpacity:.7,children:jsxRuntime.jsx(reactNative.Text,{style:[Xt.legalText,{color:T.foregroundMuted,fontFamily:b.regular}],children:"Help"})})]})]})]})]})}var Xt=reactNative.StyleSheet.create({container:{gap:12,paddingHorizontal:16,paddingBottom:16},label:{fontSize:12},labelRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:6},inputRow:{flexDirection:"row",alignItems:"center",paddingHorizontal:12,paddingVertical:6,minHeight:48},textInput:{flex:1,fontSize:14,paddingVertical:8},errorText:{fontSize:12,marginTop:4},amountRow:{flexDirection:"row",alignItems:"center",paddingHorizontal:12,paddingVertical:6,minHeight:48,gap:8},amountInput:{flex:1,fontSize:14,paddingVertical:8},unitLabel:{fontSize:14,flexShrink:0},maxButton:{paddingHorizontal:8,paddingVertical:4,borderRadius:6},maxText:{fontSize:12,fontWeight:"600"},withdrawRow:{gap:12},footerRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},historyLink:{flexDirection:"row",alignItems:"center",gap:6},historyText:{fontSize:13},legalLinks:{flexDirection:"row",alignItems:"center",gap:6},legalText:{fontSize:13},legalSeparator:{fontSize:13},detailsCard:{paddingHorizontal:12,overflow:"hidden"},detailsToggle:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:12},detailsRow:{flexDirection:"row",alignItems:"center",gap:8},detailIcon:{width:24,height:24,alignItems:"center",justifyContent:"center"},detailsLabel:{fontSize:13,flex:1},detailsExpanded:{gap:10,paddingBottom:12},withdrawButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",paddingVertical:15,gap:8},withdrawButtonText:{fontSize:16,fontWeight:"600"}});function Z1(e){try{let t=new Date(e);return t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})+" at "+t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}catch{return e}}function X1(e){return e?`$${parseFloat(e).toFixed(2)}`:"$0.00"}function Cp({execution:e,onPress:t}){let{colors:r,fonts:o,components:n}=z(),i=n.depositTracker.executionRow.card,s=e.status==="pending"||e.status==="waiting"||e.status==="delayed",a=e.status==="failed"||e.status==="refunded",l=a?r.error:s?r.warning:r.success,c=ye(it(e.destination_token_metadata,"png")||kr("/icons/tokens/png/usdc.png")),p=a?"Withdrawal Failed":s?"Withdrawal Processing":"Withdrawal Completed",g=Z1(e.created_at||new Date().toISOString()),k=X1(e.source_amount_usd);return jsxRuntime.jsxs(jr,{cardTokens:i,onPress:t,contentStyle:ds.container,children:[jsxRuntime.jsxs(reactNative.View,{style:ds.iconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:c},style:ds.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[ds.statusBadge,{backgroundColor:l,borderColor:i.backgroundColor}],children:a?jsxRuntime.jsx(gs,{size:12,color:"#FFFFFF",strokeWidth:2.5}):s?jsxRuntime.jsx(Ya,{size:12,color:"#FFFFFF",strokeWidth:2.5}):jsxRuntime.jsx(It,{size:12,color:"#FFFFFF",strokeWidth:3})})]}),jsxRuntime.jsxs(reactNative.View,{style:ds.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ds.title,{color:i.titleColor,fontFamily:o.medium}],children:p}),jsxRuntime.jsx(reactNative.Text,{style:[ds.dateTime,{color:i.subtitleColor,fontFamily:o.regular}],children:g})]}),jsxRuntime.jsxs(reactNative.View,{style:ds.rightContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ds.amount,{color:i.textRightColor,fontFamily:o.medium}],children:k}),jsxRuntime.jsx(co,{size:20,color:i.actionColor,strokeWidth:2})]})]})}var ds=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingVertical:12},iconContainer:{position:"relative",marginRight:12},tokenIcon:{width:40,height:40,borderRadius:20},statusBadge:{position:"absolute",bottom:-4,right:-4,width:22,height:22,borderRadius:11,alignItems:"center",justifyContent:"center",borderWidth:2},textContainer:{flex:1,gap:2},title:{fontSize:16},dateTime:{fontSize:13},rightContainer:{flexDirection:"row",alignItems:"center",gap:8},amount:{fontSize:16}});function Km(e){try{let t=new Date(e),o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()],n=t.getDate(),i=t.getFullYear(),s=t.getHours(),a=t.getMinutes(),l=s>=12?"PM":"AM";s=s%12||12;let c=a<10?`0${a}`:`${a}`;return `${o} ${n}, ${i} at ${s}:${c} ${l}`}catch{return e}}function Cw(e,t=6){if(!e)return "\u2014";try{let r=Number(e)/Math.pow(10,t);return r===0?"0.00":r>=1?r.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}):r.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:8,minimumSignificantDigits:2,maximumSignificantDigits:6})}catch{return "0.00"}}function t0(e,t){if(e)try{return `$${Number(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`}catch{}if(t)try{return `$${(Number(t)/1e6).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`}catch{}return "$0.00"}function Sw(e){if(!e)return "";let t=e.indexOf(".");return t===-1?e.toUpperCase():e.slice(0,t).toUpperCase()+e.slice(t)}function Tw(e){return !e||e.length<12?e:`${e.slice(0,12)}...${e.slice(-4)}`}function Sd({label:e,value:t,isLast:r}){let{fonts:o,components:n}=z(),i=n.card;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.View,{style:Nt.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[Nt.detailLabel,{color:i.subtitleColor,fontFamily:o.regular}],children:e}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.detailValue,{color:i.titleColor,fontFamily:o.regular}],children:t})]}),!r&&jsxRuntime.jsx(reactNative.View,{style:[Nt.divider,{backgroundColor:i.borderColor}]})]})}function Ym({execution:e,txInfo:t,onClose:r,onViewHistory:o,onBack:n,onHeaderClose:i}){let{colors:s,fonts:a,components:l}=z(),[c,p]=ta.useState([]),[g,k]=ta.useState(!!n),d=l.card,f=l.button,S=l.header,h=l.container;ta.useEffect(()=>{jp().then(Z=>p(Z.data)).catch(()=>{});},[]),ta.useEffect(()=>{k(!!n);},[e?.id]);let w=e?e.status==="pending"||e.status==="waiting"||e.status==="delayed":false,v=e?e.status==="failed"||e.status==="refunded":false,I=v?s.error:w?s.warning:s.success,x=v?"Failed":w?"Processing":"Completed",P=e?.destination_token_metadata?ye(it(e.destination_token_metadata,"png")):t.destinationTokenIconUrl?ye(t.destinationTokenIconUrl):ye(kr("/icons/tokens/png/usdc.png")),m=e?.created_at?Km(e.created_at):t.submittedAt?Km(t.submittedAt.toISOString()):Km(new Date().toISOString()),u=e?`${Cw(e.source_amount_base_unit,e.source_token_metadata?.decimals)} ${Sw(e.source_currency)}`:`${t.amount} ${t.sourceTokenSymbol}`,T=e?`${Cw(e.destination_amount_base_unit,e.destination_token_metadata?.decimals)} ${Sw(e.destination_currency)}`:`${t.amount} ${t.destinationTokenSymbol}`,b=e?t0(e.source_amount_usd,e.source_amount_base_unit):"$0.00",A=e?Bd(c,e.source_chain_type,e.source_chain_id):t.sourceChainId,O=e?Bd(c,e.destination_chain_type,e.destination_chain_id):t.destinationChainName??t.destinationChainId,F=e?.transaction_hash,B=e?.explorer_url,W=e?.destination_transaction_hashes?.[0],N=e?.destination_explorer_url;return jsxRuntime.jsxs(Yt,{style:Nt.scroll,contentContainerStyle:Nt.container,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsxs(reactNative.View,{style:Nt.headerRow,children:[n?jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:n,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(Ka,{size:22,color:S.buttonColor,strokeWidth:2})}):jsxRuntime.jsx(reactNative.View,{style:Nt.headerSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.headerTitle,{color:S.titleColor,fontFamily:a.medium}],children:"Withdrawal Details"}),n?jsxRuntime.jsx(reactNative.View,{style:Nt.headerSpacer}):jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:i??r,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx($t,{size:20,color:S.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:Nt.iconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:P},style:Nt.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[Nt.statusBadge,{backgroundColor:I}],children:v?jsxRuntime.jsx(gs,{size:10,color:"#FFFFFF",strokeWidth:3}):w?jsxRuntime.jsx(reactNative.View,{style:Nt.spinnerDot}):jsxRuntime.jsx(It,{size:10,color:"#FFFFFF",strokeWidth:3})})]}),jsxRuntime.jsxs(reactNative.View,{style:Nt.statusRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Nt.statusDot,{backgroundColor:I}]}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.statusText,{color:I,fontFamily:a.medium}],children:x})]}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.dateText,{color:h.subtitleColor,fontFamily:a.regular}],children:m}),jsxRuntime.jsxs(reactNative.View,{style:[Nt.detailsCard,{backgroundColor:d.backgroundColor,borderRadius:d.borderRadius,borderWidth:d.borderWidth??1,borderColor:d.borderColor}],children:[jsxRuntime.jsx(Sd,{label:"Amount Sent",value:u}),jsxRuntime.jsx(Sd,{label:"Amount Received",value:T}),jsxRuntime.jsx(Sd,{label:"USD Value",value:b}),jsxRuntime.jsx(Sd,{label:"Source Network",value:A}),jsxRuntime.jsx(Sd,{label:"Destination Network",value:O,isLast:true})]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Nt.moreDetailsRow,onPress:()=>k(Z=>!Z),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[Nt.moreDetailsText,{color:h.actionTitle,fontFamily:a.regular}],children:g?"See less":n?"See more":"See more details"}),g?jsxRuntime.jsx(di,{size:16,color:h.actionColor,strokeWidth:2}):jsxRuntime.jsx(Ar,{size:16,color:h.actionColor,strokeWidth:2})]}),g&&jsxRuntime.jsx(reactNative.View,{style:[Nt.detailsCard,{backgroundColor:d.backgroundColor,borderRadius:d.borderRadius,borderWidth:d.borderWidth??1,borderColor:d.borderColor}],children:F&&B?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Nt.txRow,onPress:()=>reactNative.Linking.openURL(B),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[Nt.txLabel,{color:d.subtitleColor,fontFamily:a.regular}],children:"Withdrawal Tx"}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.txHash,{color:d.titleColor,fontFamily:a.regular}],children:Tw(F)}),jsxRuntime.jsx(En,{size:14,color:d.actionColor,strokeWidth:2})]}),!w&&W&&N&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(reactNative.View,{style:[Nt.divider,{backgroundColor:d.borderColor}]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Nt.txRow,onPress:()=>reactNative.Linking.openURL(N),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[Nt.txLabel,{color:d.subtitleColor,fontFamily:a.regular}],children:"Completion Tx"}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.txHash,{color:d.titleColor,fontFamily:a.regular}],children:Tw(W)}),jsxRuntime.jsx(En,{size:14,color:d.actionColor,strokeWidth:2})]})]})]}):jsxRuntime.jsx(reactNative.View,{style:Nt.detailRow,children:jsxRuntime.jsx(reactNative.Text,{style:[Nt.detailLabel,{color:d.subtitleColor,fontFamily:a.regular}],children:"Transaction details not yet available"})})}),!n&&jsxRuntime.jsxs(reactNative.View,{style:Nt.buttonRow,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Nt.button,Nt.halfButton,{backgroundColor:f.secondaryBackground,borderRadius:f.borderRadius,borderWidth:f.borderWidth,borderColor:f.borderColor}],onPress:o,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Nt.buttonText,{color:f.secondaryText,fontFamily:a.medium}],children:"Withdrawal History"})}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Nt.button,Nt.halfButton,{backgroundColor:f.primaryBackground,borderRadius:f.borderRadius,borderWidth:f.borderWidth,borderColor:f.borderColor}],onPress:r,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Nt.buttonText,{color:f.primaryText,fontFamily:a.medium}],children:"Close"})})]})]})}var Nt=reactNative.StyleSheet.create({scroll:{flex:1},container:{alignItems:"center",paddingHorizontal:20,paddingTop:8,paddingBottom:32,gap:12},headerRow:{flexDirection:"row",alignItems:"center",width:"100%",paddingTop:16,marginBottom:4},headerSpacer:{width:28},headerTitle:{flex:1,fontSize:16,textAlign:"center"},iconContainer:{position:"relative",marginTop:8},tokenIcon:{width:64,height:64,borderRadius:32},statusBadge:{position:"absolute",bottom:-2,right:-2,width:22,height:22,borderRadius:11,alignItems:"center",justifyContent:"center"},spinnerDot:{width:10,height:10,borderRadius:5,borderWidth:2,borderColor:"#FFFFFF",borderTopColor:"transparent"},statusRow:{flexDirection:"row",alignItems:"center",gap:6},statusDot:{width:8,height:8,borderRadius:4},statusText:{fontSize:15},dateText:{fontSize:13,marginTop:-4},detailsCard:{width:"100%",paddingHorizontal:16,overflow:"hidden"},detailRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:12},detailLabel:{fontSize:13,flex:1},detailValue:{fontSize:13,flexShrink:0,maxWidth:"55%",textAlign:"right"},divider:{height:reactNative.StyleSheet.hairlineWidth,opacity:.5},moreDetailsRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",paddingHorizontal:4},moreDetailsText:{fontSize:14},txRow:{flexDirection:"row",alignItems:"center",gap:8,paddingVertical:12},txLabel:{fontSize:13},txHash:{fontSize:13,flex:1,textAlign:"right"},buttonRow:{flexDirection:"row",gap:10,width:"100%",marginTop:4},button:{paddingVertical:14,alignItems:"center",justifyContent:"center"},halfButton:{flex:1},fullButton:{width:"100%"},buttonText:{fontSize:14}});function kw(e){return e.length<=12?e:`${e.slice(0,6)}...${e.slice(-4)}`}function Sp({txInfo:e,executions:t,onClose:r,onViewTracker:o}){let{colors:n,fonts:i,components:s}=z(),a=t.length>0?t[t.length-1]:null,l=a?.status==="succeeded",c=a?.status==="failed",p={borderRadius:s.button.borderRadius,borderWidth:s.button.borderWidth,borderColor:s.button.borderColor};return l?jsxRuntime.jsxs(reactNative.View,{style:Wr.container,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Wr.closeButton,onPress:r,children:jsxRuntime.jsx($t,{size:20,color:s.header.buttonColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.View,{style:[Wr.iconRing,{backgroundColor:n.successBackground}],children:jsxRuntime.jsx(It,{size:32,color:n.success,strokeWidth:2.5})}),jsxRuntime.jsx(reactNative.Text,{style:[Wr.title,{color:n.foreground,fontFamily:i.medium}],children:"Withdrawal Sent"}),jsxRuntime.jsxs(reactNative.Text,{style:[Wr.subtitle,{color:n.foregroundMuted,fontFamily:i.regular}],children:[e.amount," ",e.sourceTokenSymbol," to"," ",kw(e.recipientAddress)]}),jsxRuntime.jsxs(reactNative.View,{style:Wr.buttonRow,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Wr.button,Wr.halfButton,p,{backgroundColor:s.button.secondaryBackground}],onPress:o,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Wr.buttonText,{color:s.button.secondaryText,fontFamily:i.medium}],children:"History"})}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Wr.button,Wr.halfButton,p,{backgroundColor:s.button.primaryBackground}],onPress:r,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Wr.buttonText,{color:s.button.primaryText,fontFamily:i.medium}],children:"Close"})})]})]}):c?jsxRuntime.jsxs(reactNative.View,{style:Wr.container,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Wr.closeButton,onPress:r,children:jsxRuntime.jsx($t,{size:20,color:s.header.buttonColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.View,{style:[Wr.iconRing,{backgroundColor:n.errorBackground}],children:jsxRuntime.jsx($t,{size:32,color:n.error,strokeWidth:2.5})}),jsxRuntime.jsx(reactNative.Text,{style:[Wr.title,{color:n.foreground,fontFamily:i.medium}],children:"Withdrawal Failed"}),jsxRuntime.jsx(reactNative.Text,{style:[Wr.subtitle,{color:n.foregroundMuted,fontFamily:i.regular}],children:"Something went wrong. Please try again."}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Wr.button,Wr.fullButton,p,{backgroundColor:s.button.primaryBackground}],onPress:r,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Wr.buttonText,{color:s.button.primaryText,fontFamily:i.medium}],children:"Close"})})]}):jsxRuntime.jsxs(reactNative.View,{style:Wr.container,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Wr.closeButton,onPress:r,children:jsxRuntime.jsx($t,{size:20,color:s.header.buttonColor,strokeWidth:2})}),jsxRuntime.jsx(Ct,{size:80,strokeWidth:4,iconSize:68,gradientFrom:n.primary,gradientTo:n.primary,children:e.sourceTokenIconUrl?jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(e.sourceTokenIconUrl)},style:Wr.tokenIconFill}):jsxRuntime.jsx(reactNative.View,{style:[Wr.tokenIconFill,{backgroundColor:n.cardHover}]})}),jsxRuntime.jsx(reactNative.Text,{style:[Wr.title,{color:n.foreground,fontFamily:i.medium,paddingTop:16}],children:"Checking Withdrawal"}),jsxRuntime.jsxs(reactNative.Text,{style:[Wr.subtitle,{color:n.foregroundMuted,fontFamily:i.regular}],children:[e.sourceTokenSymbol," to"," ",kw(e.recipientAddress)]})]})}var Wr=reactNative.StyleSheet.create({container:{alignItems:"center",paddingHorizontal:24,paddingTop:48,paddingBottom:24},closeButton:{position:"absolute",top:16,right:16,padding:4,zIndex:1},iconRing:{width:80,height:80,borderRadius:40,alignItems:"center",justifyContent:"center",marginBottom:20},tokenIconFill:{width:"100%",height:"100%",borderRadius:34},title:{fontSize:20,marginBottom:8,textAlign:"center"},subtitle:{fontSize:14,textAlign:"center",lineHeight:20,marginBottom:24},buttonRow:{flexDirection:"row",gap:10,width:"100%"},button:{paddingVertical:14,alignItems:"center",justifyContent:"center",borderRadius:12},halfButton:{flex:1},fullButton:{width:"100%"},buttonText:{fontSize:15}});function a0(e){let t=e.source_token_metadata?.decimals??6,r=e.source_amount_base_unit??"0",o=Number(r)/Math.pow(10,t),n=o>=1?o.toFixed(2):o.toPrecision(4).replace(/\.?0+$/,"");return {sourceChainType:e.source_chain_type,sourceChainId:e.source_chain_id,sourceTokenAddress:e.source_token_address,sourceTokenSymbol:e.source_currency?.toUpperCase()??"",sourceTokenIconUrl:ye(it(e.source_token_metadata,"png")),destinationChainType:e.destination_chain_type,destinationChainId:e.destination_chain_id,destinationTokenAddress:e.destination_token_address,destinationTokenSymbol:e.destination_currency?.toUpperCase()??"",destinationTokenIconUrl:ye(it(e.destination_token_metadata,"png")),amount:n,amountBaseUnit:r,submittedAt:e.created_at?new Date(e.created_at):void 0,withdrawIntentAddress:e.deposit_wallet?.address??"",recipientAddress:e.recipient_address??""}}var xw=(e,t)=>`${t}:${e}`;function l0(){let{colors:e}=z(),t=ta.useRef(new reactNative.Animated.Value(.5)).current,r=e.cardHover;return ta.useEffect(()=>{let o=reactNative.Animated.loop(reactNative.Animated.sequence([reactNative.Animated.timing(t,{toValue:1,duration:800,useNativeDriver:true}),reactNative.Animated.timing(t,{toValue:.5,duration:800,useNativeDriver:true})]));return o.start(),()=>o.stop()},[t]),jsxRuntime.jsx(reactNative.View,{style:{gap:12,paddingHorizontal:16},children:[1,2,3].map(o=>jsxRuntime.jsx(reactNative.Animated.View,{style:{height:48,borderRadius:12,backgroundColor:r,opacity:t}},o))})}function xp({visible:e,onClose:t,publishableKey:r,externalUserId:o,senderAddress:n,recipientAddress:i,defaultDestinationChainType:s,defaultDestinationChainId:a,defaultDestinationTokenAddress:l,modalTitle:c="Withdraw Crypto",onWithdraw:p,onWithdrawSuccess:g,onWithdrawError:k,heightPercent:d=.94,sheetBorderRadius:f,sourceChainType:S,sourceChainId:h,sourceTokenAddress:w,sourceTokenSymbol:v,sourceChainName:I,sourceTokenIconUrl:x}){let{colors:P,fonts:m}=z(),[u,T]=ta.useState("form"),[b,A]=ta.useState(S),[O,F]=ta.useState(h),[B,W]=ta.useState(w),[N,Z]=ta.useState(v),[je,Y]=ta.useState(I),[rt,oe]=ta.useState(x),[ce,ae]=ta.useState(null),[te,ke]=ta.useState(null),[j,Ie]=ta.useState(null),[pt,Ge]=ta.useState(),[Se,qe]=ta.useState([]),[ot,Ye]=ta.useState(null),[dt,st]=ta.useState("form"),Me=ta.useRef(new reactNative.Animated.Value(reactNative.Dimensions.get("window").width)).current,be=ta.useRef(null),we=!!b&&!!O&&!!B,{data:ze,isLoading:ut}=hp(r,e&&u==="form"),ht=ze?.data??[],{data:xt,isLoading:lr}=Um({sourceChainType:b,sourceChainId:O,sourceTokenAddress:B,sourceTokenSymbol:N,publishableKey:r,enabled:e&&we&&u==="form"}),Ue=gc.includes(b)?b:void 0,{data:me,isLoading:Je}=Nm({address:n,chainType:Ue,chainId:O,tokenAddress:B,publishableKey:r,enabled:e&&we}),{executions:Qe}=Hm({userId:o,publishableKey:r,depositWalletId:pt,enabled:!!pt&&e,onWithdrawSuccess:g,onWithdrawError:k});ta.useEffect(()=>{if(!e||u!=="tracker")return;let J=false;return ln(o,r,"withdraw").then(K=>{J||qe(K.data);}).catch(console.error),()=>{J=true;}},[e,u,o,r]),ta.useEffect(()=>{e&&(be.current&&(clearTimeout(be.current),be.current=null),T("form"),A(S),F(h),W(w),Z(v),Y(I),oe(x),ae(null),ke(null),Ie(null),Ge(void 0),qe([]),Ye(null),st("form"),Me.setValue(reactNative.Dimensions.get("window").width));},[e]),ta.useEffect(()=>()=>{be.current&&clearTimeout(be.current);},[]),ta.useEffect(()=>{rt||xt?.iconUrl&&oe(xt.iconUrl);},[xt?.iconUrl,rt]),ta.useEffect(()=>{je||xt?.chainName&&Y(xt.chainName);},[xt?.chainName,je]),ta.useEffect(()=>{if(!ht.length||ce)return;let J,K;if(s&&a)if(l)for(let _e of ht){let et=_e.chains.find(L=>L.chain_type===s&&L.chain_id===a&&L.token_address.toLowerCase()===l.toLowerCase());if(et){J=_e,K=et;break}}else for(let _e of ht){let et=_e.chains.find(L=>L.chain_type===s&&L.chain_id===a);if(et){J=_e,K=et;break}}J||(J=ht[0]),J&&(ae(J),ke(K??J.chains[0]??null));},[ht,ce,s,a,l]),ta.useEffect(()=>{u==="confirming"&&Qe.length>0&&T("details");},[u,Qe]);let Ve=ta.useCallback(()=>{t(),be.current=setTimeout(()=>{T("form"),A(S),F(h),W(w),Z(v),Y(I),oe(x),ae(null),ke(null),Ie(null),Ge(void 0),qe([]),Ye(null),st("form"),be.current=null;},300);},[t,S,h,w,v,I,x]),he=ta.useCallback(J=>{let K=ht.find(_e=>_e.symbol===J);K&&(ae(K),K.chains.length>0&&ke(K.chains[0]));},[ht]),Ne=ta.useCallback(J=>{if(!ce)return;let K=ce.chains.find(_e=>xw(_e.chain_id,_e.chain_type)===J);K&&ke(K);},[ce]),vt=ta.useCallback(async J=>{let K=await Zo({external_user_id:o,destination_chain_type:J.destinationChainType,destination_chain_id:J.destinationChainId,destination_token_address:J.destinationTokenAddress,recipient_address:J.recipientAddress,action_type:"withdraw"},r);if(!b)throw new Error("sourceChainType is required for withdrawal");let _e=an(K.data,b);if(!_e)throw new Error(`No deposit wallet found for chain type: ${b}`);return Ge(_e.id),{id:_e.id,address:_e.address}},[o,r,b]),Vt=ta.useCallback(J=>{Ie(J),T("confirming");},[]),Ht=ta.useCallback(J=>{Ye(J),Me.setValue(reactNative.Dimensions.get("window").width),reactNative.Animated.timing(Me,{toValue:0,duration:280,useNativeDriver:true}).start();},[Me]),lt=ta.useCallback(()=>{reactNative.Animated.timing(Me,{toValue:reactNative.Dimensions.get("window").width,duration:250,useNativeDriver:true}).start(()=>Ye(null));},[Me]),er=ut||lr,Xe=xt?.isSupported??null,yt=u==="confirming"?"Withdrawal Status":c,gt=f?.globalBorderTopLeftRadius,De=f?.globalBorderTopRightRadius,at=f?.main?.borderTopLeftRadius??gt,X=f?.main?.borderTopRightRadius??De,Pe=f?.tokenSelector?.borderTopLeftRadius??gt,_=f?.tokenSelector?.borderTopRightRadius??De,C=f?.chainSelector?.borderTopLeftRadius??gt,M=f?.chainSelector?.borderTopRightRadius??De,q=(()=>{if(u!=="form"||!we||Je||!me)return;let J=N||me.symbol,K=me.balanceUsd;if(K!=null){let L=`$${parseFloat(K).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})}`;return J?`Balance: ${L} ${J}`:`Balance: ${L}`}let _e=me.balanceHuman;if(!(!_e||_e==="0"))return J?`Balance: ${_e} ${J}`:`Balance: ${_e}`})();return jsxRuntime.jsx(rr,{visible:e,onClose:Ve,closeOnBackdropPress:false,enablePanDownToClose:u==="tracker"||u==="form",showHandle:u==="tracker"||u==="form",heightPercent:u==="confirming"?.3:u==="details"?.7:u==="tracker"?.9:d,borderTopLeftRadius:at,borderTopRightRadius:X,children:u==="confirming"&&j?jsxRuntime.jsx(Sp,{txInfo:j,executions:Qe,onClose:Ve,onViewTracker:()=>{st("confirming"),T("tracker");}}):u==="details"&&j?jsxRuntime.jsx(Ym,{execution:Qe.length>0?Qe[Qe.length-1]:null,txInfo:j,onClose:Ve,onViewHistory:()=>{st("details"),T("tracker");},onHeaderClose:()=>T("form")}):u==="tracker"?jsxRuntime.jsxs(reactNative.View,{style:Vi.trackerContainer,children:[jsxRuntime.jsx(fo,{title:"Withdrawal History",onClose:()=>T(dt)}),Se.length===0?jsxRuntime.jsx(reactNative.View,{style:Vi.emptyState,children:jsxRuntime.jsx(reactNative.Text,{style:[Vi.emptyText,{color:P.foregroundMuted,fontFamily:m.regular}],children:"No withdrawals to track yet"})}):jsxRuntime.jsx(Za,{data:Se,keyExtractor:J=>J.id,contentContainerStyle:Vi.listContent,showsVerticalScrollIndicator:false,renderItem:({item:J})=>jsxRuntime.jsx(Cp,{execution:J,onPress:()=>Ht(J)})}),ot&&jsxRuntime.jsx(reactNative.Animated.View,{style:[Vi.historyDetailOverlay,{backgroundColor:P.background,transform:[{translateX:Me}]}],children:jsxRuntime.jsx(Ym,{execution:ot,txInfo:a0(ot),onClose:Ve,onBack:lt,onViewHistory:lt})})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fo,{title:yt,subtitle:q,onClose:Ve}),er?jsxRuntime.jsx(l0,{}):Xe===false?jsxRuntime.jsxs(reactNative.View,{style:Vi.unsupportedContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Vi.unsupportedTitle,{color:P.foreground,fontFamily:m.medium}],children:"Unsupported Token"}),jsxRuntime.jsx(reactNative.Text,{style:[Vi.unsupportedMessage,{color:P.foregroundMuted,fontFamily:m.regular}],children:xt?.errorMessage})]}):jsxRuntime.jsx(c0,{publishableKey:r,sourceChainType:b??"",sourceChainId:O??"",sourceTokenAddress:B??"",sourceTokenSymbol:N,sourceChainName:je,sourceTokenIconUrl:rt,recipientAddressProp:i,destinationTokens:ht,selectedToken:ce,selectedChain:te,selectedChainKey:te?xw(te.chain_id,te.chain_type):null,onTokenChange:he,onChainChange:Ne,tokensLoading:ut,balanceData:me??null,isLoadingBalance:Je,sourceValidation:xt??null,onDepositWalletCreation:vt,onWithdraw:p,onWithdrawError:k,onWithdrawSubmitted:Vt,onViewTracker:()=>{st("form"),T("tracker");},tokenSelectorLeft:Pe,tokenSelectorRight:_,chainSelectorLeft:C,chainSelectorRight:M})]})})}function c0({publishableKey:e,sourceChainType:t,sourceChainId:r,sourceTokenAddress:o,sourceTokenSymbol:n,sourceChainName:i,sourceTokenIconUrl:s,recipientAddressProp:a,destinationTokens:l,selectedToken:c,selectedChain:p,selectedChainKey:g,onTokenChange:k,onChainChange:d,tokensLoading:f,balanceData:S,isLoadingBalance:h,sourceValidation:w,onDepositWalletCreation:v,onWithdraw:I,onWithdrawError:x,onWithdrawSubmitted:P,onViewTracker:m,tokenSelectorLeft:u,tokenSelectorRight:T,chainSelectorLeft:b,chainSelectorRight:A}){return jsxRuntime.jsx(reactNative.KeyboardAvoidingView,{behavior:reactNative.Platform.OS==="ios"?"padding":void 0,style:{flex:1},children:jsxRuntime.jsxs(Yt,{style:{flex:1,paddingTop:16},contentContainerStyle:Vi.scrollContent,keyboardShouldPersistTaps:"handled",showsVerticalScrollIndicator:false,children:[jsxRuntime.jsx(reactNative.View,{style:Vi.doubleInputWrapper,children:jsxRuntime.jsx(Cd,{tokens:l,selectedTokenSymbol:c?.symbol??null,selectedChainKey:g,onTokenChange:k,onChainChange:d,isLoading:f,tokenPickerBorderTopLeftRadius:u,tokenPickerBorderTopRightRadius:T,chainPickerBorderTopLeftRadius:b,chainPickerBorderTopRightRadius:A})}),jsxRuntime.jsx(yp,{publishableKey:e,sourceChainType:t,sourceChainId:r,sourceTokenAddress:o,sourceTokenSymbol:n,sourceChainName:i,sourceTokenIconUrl:s,recipientAddressProp:a,selectedToken:c,selectedChain:p,balanceData:S,isLoadingBalance:h,minimumWithdrawAmountUsd:w?.minimumAmountUsd??null,estimatedProcessingTime:w?.estimatedProcessingTime??null,maxSlippagePercent:w?.maxSlippagePercent??null,priceImpactPercent:w?.priceImpactPercent??null,canWithdraw:true,onDepositWalletCreation:v,onWithdraw:I,onWithdrawError:x,onWithdrawSubmitted:P,onViewTracker:m})]})})}var Vi=reactNative.StyleSheet.create({scrollContent:{paddingBottom:32},doubleInputWrapper:{paddingHorizontal:16,paddingBottom:12,paddingTop:4},listContent:{paddingHorizontal:16,paddingBottom:32,gap:8},trackerContainer:{flex:1,overflow:"hidden"},historyDetailOverlay:{position:"absolute",top:0,left:0,right:0,bottom:0},emptyState:{flex:1,alignItems:"center",justifyContent:"center",paddingVertical:48},emptyText:{fontSize:14},unsupportedContainer:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:24,paddingVertical:48},unsupportedTitle:{fontSize:18,fontWeight:"600",marginBottom:8,textAlign:"center"},unsupportedMessage:{fontSize:14,textAlign:"center",lineHeight:20,maxWidth:280}});reactNative.StyleSheet.create({container:{paddingHorizontal:16,paddingTop:16,paddingBottom:24,gap:16},fieldGroup:{gap:8},fieldLabel:{fontSize:12},walletCard:{paddingHorizontal:12,paddingVertical:12,minHeight:48,justifyContent:"center"},walletAddress:{fontSize:13},primaryButton:{paddingVertical:14,alignItems:"center",justifyContent:"center",marginTop:4},primaryButtonText:{fontSize:16},secondaryButton:{paddingVertical:14,alignItems:"center",justifyContent:"center"},secondaryButtonText:{fontSize:16}});reactNative.StyleSheet.create({base:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8},text:{fontWeight:"600",textAlign:"center"},fullWidth:{width:"100%"},disabled:{opacity:.5}});reactNative.StyleSheet.create({icon:{backgroundColor:"transparent"}});var Rw=ta.createContext(null);function C0({children:e,publishableKey:t,config:r}){let[o]=ta.useState(()=>new Bf({defaultOptions:{queries:{retry:1,staleTime:3e5}}})),[n,i]=ta.useState(false),[s,a]=ta.useState(null),[l,c]=ta.useState(false),[p,g]=ta.useState(null),k=reactNative.useColorScheme(),d=ta.useRef(false);d.current||(Ad({publishableKey:t}),d.current=true);let f=ta.useMemo(()=>{let W=r?.appearance||"dark";return W==="auto"?k==="dark"?"dark":"light":W},[r?.appearance,k]);ta.useEffect(()=>{if(!t||t.trim()===""){console.error("Unifold: publishableKey is required. Please provide a valid publishable key.");return}!t.startsWith("pk_test_")&&!t.startsWith("pk_live_")&&console.warn('Unifold: publishableKey should start with "pk_test_" or "pk_live_". Please ensure you are using a valid publishable key.'),Ad({publishableKey:t});},[t]),ta.useEffect(()=>()=>{h.current&&clearTimeout(h.current),u.current&&clearTimeout(u.current);},[]);let S=ta.useRef(null),h=ta.useRef(null),w=ta.useRef(void 0),v=ta.useCallback(W=>{h.current&&(clearTimeout(h.current),h.current=null),S.current&&(console.warn("[UnifoldProvider] A deposit is already in progress. Cancelling previous deposit."),S.current.reject({message:"Deposit cancelled - new deposit started",code:"DEPOSIT_SUPERSEDED"}),S.current=null);let N=new Promise((Z,je)=>{S.current={resolve:Z,reject:je};});return w.current=W.onDismiss,a(W),i(true),N},[]),I=ta.useCallback(()=>{let W=S.current!==null;S.current&&(S.current.reject({message:"Deposit cancelled by user",code:"DEPOSIT_CANCELLED"}),S.current=null);let N=w.current;w.current=void 0,i(false),h.current=setTimeout(()=>{a(null),h.current=null;},200),W&&N?.();},[]),x=ta.useCallback(W=>{s?.onSuccess&&s.onSuccess(W),S.current&&(S.current.resolve(W),S.current=null);},[s]),P=ta.useCallback(W=>{console.error("[UnifoldProvider] Deposit error:",W),s?.onError&&s.onError(W),S.current&&(S.current.reject(W),S.current=null);},[s]),m=ta.useRef(null),u=ta.useRef(null),T=ta.useRef(void 0),b=ta.useCallback(W=>{u.current&&(clearTimeout(u.current),u.current=null),m.current&&(console.warn("[UnifoldProvider] A withdrawal is already in progress. Cancelling previous withdrawal."),m.current.reject({message:"Withdrawal cancelled - new withdrawal started",code:"WITHDRAW_SUPERSEDED"}),m.current=null);let N=new Promise((Z,je)=>{m.current={resolve:Z,reject:je};});return T.current=W.onClose,g(W),c(true),N},[]),A=ta.useCallback(()=>{m.current&&(m.current.reject({message:"Withdrawal cancelled by user",code:"WITHDRAW_CANCELLED"}),m.current=null),T.current?.(),T.current=void 0,c(false),u.current=setTimeout(()=>{g(null),u.current=null;},200);},[]),O=ta.useCallback(W=>{p?.onSuccess&&p.onSuccess(W),m.current&&(m.current.resolve(W),m.current=null);},[p]),F=ta.useCallback(W=>{console.error("[UnifoldProvider] Withdraw error:",W),p?.onError&&p.onError(W),m.current&&(m.current.reject(W),m.current=null);},[p]),B=ta.useMemo(()=>({publishableKey:t,beginDeposit:v,closeDeposit:I,beginWithdraw:b,closeWithdraw:A}),[t,v,I,b,A]);return jsxRuntime.jsx(Ef,{client:o,children:jsxRuntime.jsx(Rw.Provider,{value:B,children:jsxRuntime.jsxs(Ja,{mode:f,accentColor:r?.accentColor,theme:r?.theme,fontFamily:r?.fontFamily,fonts:r?.fonts,components:r?.components,children:[e,s&&jsxRuntime.jsx(dp,{visible:n,onClose:I,closeOnBackdropPress:s.closeOnBackdropPress??false,publishableKey:t,modalTitle:r?.modalTitle,transferCryptoTitle:r?.transferCryptoTitle,externalUserId:s.externalUserId,user:s.user,destinationChainType:s.destinationChainType,destinationChainId:s.destinationChainId,destinationTokenSymbol:s.destinationTokenSymbol,recipientAddress:s.recipientAddress,destinationTokenAddress:s.destinationTokenAddress,defaultChainType:s.defaultChainType,defaultChainId:s.defaultChainId,defaultTokenAddress:s.defaultTokenAddress,showBalance:s.showBalance,stripeTheme:{mode:f,accentColor:r?.accentColor,theme:r?.theme,fontFamily:r?.fontFamily,fonts:r?.fonts,components:r?.components},depositConfirmationMode:s.depositConfirmationMode??"auto_ui",initialScreen:s.initialScreen,hideDepositTracker:r?.hideDepositTracker,transferInputVariant:r?.transferInputVariant,depositMenuDisplay:r?.depositMenuDisplay,enableStripeLink:r?.enableStripeLink,enableTransferCrypto:r?.enableTransferCrypto,enableCashApp:r?.enableCashApp,enableConnectWallet:r?.enableConnectWallet,enableCoinbaseApplePay:r?.enableCoinbaseApplePay,enableFiatOnramp:r?.enableFiatOnramp,stripePaymentSelectorPosition:r?.stripeLink?.paymentSelectorPosition,stripeSkipSuccessConfirmation:r?.stripeLink?.skipSuccessConfirmation,StripeOnrampComponent:Og(),onDepositSuccess:x,onDepositError:P,theme:f,sheetBorderRadius:r?.sheetBorderRadius}),p&&jsxRuntime.jsx(xp,{visible:l,onClose:A,publishableKey:t,externalUserId:p.externalUserId,senderAddress:p.senderAddress,recipientAddress:p.recipientAddress,sourceChainType:p.sourceChainType,sourceChainId:p.sourceChainId,sourceTokenAddress:p.sourceTokenAddress,sourceTokenSymbol:p.sourceTokenSymbol,defaultDestinationChainType:p.defaultDestinationChainType,defaultDestinationChainId:p.defaultDestinationChainId,defaultDestinationTokenAddress:p.defaultDestinationTokenAddress,onWithdraw:p.withdraw,onWithdrawSuccess:O,onWithdrawError:F,sheetBorderRadius:r?.sheetBorderRadius?{globalBorderTopLeftRadius:r.sheetBorderRadius.globalBorderTopLeftRadius,globalBorderTopRightRadius:r.sheetBorderRadius.globalBorderTopRightRadius,tokenSelector:r.sheetBorderRadius.tokenSelector,chainSelector:r.sheetBorderRadius.chainSelector}:void 0})]})})})}function S0(){let e=ta.useContext(Rw);if(!e)throw new Error("useUnifold must be used within UnifoldProvider");return e}
|
|
124
|
+
`}function Du({externalUserId:e,publishableKey:t,recipientAddress:r="",destinationChainType:o,destinationChainId:n,destinationTokenAddress:i,destinationTokenSymbol:s,enabled:a=true,user:l,prefilledEmail:c,preloadedWallets:p,onBack:g,onClose:k,onDepositSuccess:d,onDepositError:f,onExecutionsChange:S}){let{colors:h,fonts:w,components:v}=z(),I=v.input.borderRadius,x=v.input.borderWidth,P=v.button.borderRadius,m=v.card.borderRadius,u=l?.email?.trim(),T=u&&Iu.test(u)?u:null,b=`${t}:${e}`,A=_k,[O,F]=ta.useState("loading"),[B,W]=ta.useState(""),[N,Z]=ta.useState(""),[je,Y]=ta.useState(false),[rt,oe]=ta.useState([]),[ce,ae]=ta.useState(null),[te,ke]=ta.useState(null),[j,Ie]=ta.useState(""),[pt,Ge]=ta.useState(""),[Se,qe]=ta.useState(null),[ot,Ye]=ta.useState(false),[dt,st]=ta.useState(0),[Me,be]=ta.useState(""),[we,ze]=ta.useState(""),[ut,ht]=ta.useState(null),[xt,lr]=ta.useState(null),[Ue,me]=ta.useState(null),[Je,Qe]=ta.useState(null),[Ve,he]=ta.useState(false),[Ne,vt]=ta.useState(p??[]),[Vt,Ht]=ta.useState(null),[lt,er]=ta.useState(false),[Xe,yt]=ta.useState(false),[gt,De]=ta.useState(false),[at,X]=ta.useState(null),[Pe,_]=ta.useState(null),[C,M]=ta.useState(false),[q,J]=ta.useState(""),[K,_e]=ta.useState(""),[et,L]=ta.useState(null),[U,kt]=ta.useState(false),Le=N.length===10?`+1${N}`:"",Fe=Iu.test(B),bt=/^\+1\d{10}$/.test(Le),nt=ut??vk,ee=ta.useRef(true),vr=zo(O),ft=zo(we),tr=zo(B),Mt=zo(xt),qr=zo(Ue),Mr=zo(Je),li=zo(Ne),on=zo(Vt),yo=zo(Xe),Bo=zo(Pe),nn=zo(at),ko=zo(lt),na=zo(Ve),bo=zo(Le),Lt=zo(Fe),Qr=zo(bt),ne=zo(U),ue=ta.useRef(null),zt=ta.useRef(null),ur=ta.useRef(null),Go=ta.useRef(null),sn=ta.useRef(null),D=ta.useRef(null),$=ta.useRef(null),Te=ta.useRef(null),Ae=ta.useRef(null),He=ta.useRef(null),Ze=ta.useRef(null),Rt=ta.useRef(null),Tr=ta.useRef(null),Bt=ta.useRef(null),Kr=ta.useRef(null);ta.useEffect(()=>(ee.current=true,wn(),()=>{ee.current=false,wo();}),[]),ta.useEffect(()=>{let R=null;if(O==="emailInput"?R=Rt:O==="phoneInput"?R=Tr:O==="emailOtp"||O==="phoneOtp"?R=Bt:O==="limitUpgradeForm"&&(R=Kr),!R)return;let E=setTimeout(()=>R?.current?.focus(),300);return ()=>clearTimeout(E)},[O]);function wo(){ur.current&&clearTimeout(ur.current),ur.current=null,Go.current&&(Go.current.cancelled=true),Go.current=null,Bi(),D.current&&(D.current.cancelled=true),D.current=null,$.current&&clearInterval($.current),$.current=null,Ae.current&&clearTimeout(Ae.current),Ae.current=null,Ze.current&&clearTimeout(Ze.current),Ze.current=null;}function eo(){let R,E=on.current;if(E){let Q=E.destination_token_metadata?.chain_type;R=Q&&Wk.includes(Q)?Q:o;}else R=o;if(R)return li.current.find(Q=>Q.chain_type===R)}async function wn(){if(!a){F("disabled");return}p&&p.length>0?(vt(p),li.current=p):await Rr(),Te.current=Ln(),Yo(),await Eo();}async function Rr(){try{let R=await Zo({external_user_id:e,destination_chain_type:o??"ethereum",destination_chain_id:n,destination_token_address:i,recipient_address:r},t);if(!ee.current)return;vt(R.data),li.current=R.data;}catch{}}async function Ln(){if(!i||!n||!o)return;let R="US",E;try{let Q=await aa();R=(Q.alpha2||"US").toUpperCase(),E=Q.state&&Q.state.length>0?Q.state:void 0;}catch{}for(let Q=0;Q<My;Q++)try{let ge=await yc({token_address:i,chain_id:n,chain_type:o,country_code:R,subdivision_code:E},t);if(!ee.current)return;Ht(ge),on.current=ge;return}catch{if(!ee.current)return;Q<My-1&&await rd(Ek);}}async function Yo(){try{let R=await Rh(t);if(!ee.current)return;oe(R.agreements??[]);}catch{}}async function Eo(){let R=await Us.get(b),E=c&&Iu.test(c)?c:null;if(T){W(T),tr.current=T,Y(true);let Et=R&&R.email.toLowerCase()===T.toLowerCase()?om(R.phone):"";Z(Et);}else if(R){W(R.email),tr.current=R.email;let Et=om(R.phone);Z(Et),Y(true);}else Y(false),E&&(W(E),tr.current=E);if(!R){F(T?"phoneInput":"emailInput");return}if(T&&R.email.toLowerCase()!==T.toLowerCase()){bo.current="",Qr.current=false,F("phoneInput");return}let Q=om(R.phone),ge=Q.length===10?`+1${Q}`:"";if(bo.current=ge,Qr.current=/^\+1\d{10}$/.test(ge),Us.isOnrampTokenFresh(R)&&R.onrampToken&&R.onrampTokenExpiresAtMs!=null){let Et={token:R.onrampToken,token_type:"Bearer",expires_in:Math.max(0,Math.floor((R.onrampTokenExpiresAtMs-Date.now())/1e3))};lr(Et),Mt.current=Et;}let pr=Us.isPhoneVerificationFresh(R),cr=/^\+1\d{10}$/.test(ge)&&R.phone===ge&≺if(cr)try{let Et=await Sc(ge,t);Cn(Et);let Gr=fs(Et);if(Gr){ia(Gr,Et.upgradeStatus);return}}catch{}if(Mt.current!=null&&cr){F("amount");return}Iu.test(tr.current)&&/^\+1\d{10}$/.test(ge)?await xd():F("phoneInput");}function Cn(R){let E=null;for(let Q of R.limits){if(!Q.currency)continue;let ge=parseFloat(Q.remaining);Number.isFinite(ge)&&(E=E==null?ge:Math.min(E,ge));}E!=null&&ee.current&&ht(Math.max(0,E));}function fs(R){if(!R.limitReached)return null;switch(R.upgradeStatus){case zk:return "limitUpgradeIntro";case rm:return "limitUpgradeForm";case Uk:return "limitUpgradeSubmitting";case zy:return null;case void 0:return R.limitUpgradeOptions&&R.limitUpgradeOptions.length>0?"limitUpgradeIntro":"guestLimitReached";default:return "guestLimitReached"}}function Bn(){if(!Qr.current){F("guestLimitReached");return}(async()=>{try{let R=await Sc(bo.current,t);if(!ee.current)return;Cn(R);let E=fs(R);E?ia(E,R.upgradeStatus):Mt.current!=null?F("amount"):await xd();}catch{ee.current&&F("guestLimitReached");}})();}function ia(R,E){me(null),qr.current=null,Qe(null),Mr.current=null,er(false),ko.current=false,L(R==="limitUpgradeForm"&&E===rm?se.upgradeVerifyFailed:null),F(R),R==="limitUpgradeSubmitting"&&oh();}async function vp(){!Lt.current||!Qr.current||await xd();}async function xd(){F("submittingSession"),be("");try{let R=await Ih({email:tr.current,phone:bo.current,terms_accepted:!0,email_already_verified:!0},t),E=R.client_secret;if(!E)throw new Error("Missing required field: client_secret");await Fp();let Q=Md(R.email)?"phone":"email";if(await zd(R.id,Q,E,t),!ee.current)return;ae(R),ke(E),Rp(),F(Q==="phone"?"phoneOtp":"emailOtp");}catch(R){if(!ee.current)return;be(Bl(R)),F("phoneInput");}}async function Iw(){let R=ce,E=te;if(!(!R||!E||j.length!==Ru||ot)){qe(null),Ye(true);try{let Q=await Zp(R.id,"email",E,j,t);if(Md(Q.email)){if(await Fp({emailVerifiedAt:Q.email.verified_at}),await zd(Q.id,"phone",E,t),!ee.current)return;ae(Q),Ie(""),Rp(),Ye(!1),F("phoneOtp");}else {if(!ee.current)return;qe(se.incorrectCode),Ie(""),Ye(!1);}}catch(Q){if(!ee.current)return;qe(Bl(Q)),Ie(""),Ye(false);}}}async function Pw(){let R=ce,E=te;if(!(!R||!E||pt.length!==Ru||ot)){qe(null),Ye(true);try{let Q=await Zp(R.id,"phone",E,pt,t);if(Md(Q.phone)&&Q.status==="verified"){let ge=await Ph(Q.id,E,t);if(await Fp({emailVerifiedAt:Q.email.verified_at,phoneVerifiedAt:Q.phone.verified_at,onrampToken:ge.token,onrampTokenExpiresAtMs:Date.now()+ge.expires_in*1e3}),!ee.current)return;ae(Q),lr(ge),Mt.current=ge,Y(!0),Ge("");try{let pr=await Sc(bo.current,t);Cn(pr);let cr=fs(pr);if(cr){if(!ee.current)return;Ye(!1),ia(cr,pr.upgradeStatus);return}}catch{}if(!ee.current)return;Ye(!1),F("amount");}else {if(!ee.current)return;qe(se.incorrectCode),Ge(""),Ye(!1);}}catch(Q){if(!ee.current)return;qe(Bl(Q)),Ge(""),Ye(false);}}}function Fw(R){let E=ce,Q=te;!E||!Q||(async()=>{try{if(await zd(E.id,R?"email":"phone",Q,t),!ee.current)return;qe(null),Rp();}catch(ge){ee.current&&qe(Bl(ge));}})();}function Rp(){st(Ik),$.current&&clearInterval($.current),$.current=setInterval(()=>{st(R=>R<=1?($.current&&clearInterval($.current),$.current=null,0):R-1);},1e3);}function ja(R){let E=R;if(!(E===""||/^\d*\.?\d{0,2}$/.test(E))){let Gr=Mr.current??"";ze(Gr),ft.current=Gr;return}if(E.length>1&&E.startsWith("0")&&!E.startsWith("0.")&&(E=E.replace(/^0+/,""),E===""&&(E="0")),ze(E),ft.current=E,be(""),Mr.current===E&&qr.current!=null)return;let Q=parseFloat(E)||0,ge=E!==""&&Q>=A&&Q<=nt;Mr.current!==E&&(me(null),qr.current=null,Qe(null),Mr.current=null,er(false),ko.current=false),ur.current&&clearTimeout(ur.current),ur.current=null,Go.current&&(Go.current.cancelled=true),Go.current=null;let pr=Mt.current?.token;if(!ge||!pr){he(false);return}let cr={cancelled:false};Go.current=cr;let Et=E;ur.current=setTimeout(()=>{(async()=>{if(!cr.cancelled){he(true);try{await Aw(pr,Et,cr);}finally{ee.current&&Go.current===cr&&(qr.current!=null&&Mr.current===Et||he(false));}}})();},Pk);}function Dw(R){if(na.current)return;let E=ft.current;if(R==="\u232B"){E.length>0&&ja(E.slice(0,-1));return}if(R==="."){if(E.includes("."))return;ja(E===""?"0.":E+".");return}let Q=E.indexOf(".");if(Q>=0){if(E.length-(Q+1)>=2)return;ja(E+R);}else {let ge=E+R;for(;ge.length>1&&ge.startsWith("0");)ge=ge.slice(1);ja(ge);}}function Xm(){if(Mt.current==null||qr.current!=null)return;let R=parseFloat(ft.current)||0;ft.current!==""&&R>=A&&R<=nt&&ja(ft.current);}async function Aw(R,E,Q){if(Te.current&&await Te.current,Q.cancelled)return;let ge=!!i&&!!n&&!!o;if(on.current==null&&ge){let wt=Ln();if(Te.current=wt,await wt,Q.cancelled||!ee.current)return}let pr,cr,Et=on.current;if(Et)pr=Et.destination_currency,cr=Et.destination_network;else {if(!o||!n){if(!ee.current)return;be(se.destinationNotConfigured);return}let wt=Qk(o,n);if(!wt){if(!ee.current)return;be(ge?se.networkError:se.networkUnsupported);return}cr=wt,pr=(s??"USDC").toLowerCase();}let Gr=eo()?.address;if(!Gr){if(!ee.current)return;be(se.depositWalletUnavailable);return}let Yr=By("orsext");try{let wt=await Fh({source_currency:"usd",source_amount:E,destination_currency:pr,destination_network:cr,wallet_address:Gr,email:tr.current||T||void 0,external_id:Yr},R,t);if(Q.cancelled||!ee.current||E!==ft.current)return;me({url:wt.url}),qr.current={url:wt.url},Qe(E),Mr.current=E;}catch(wt){if(Q.cancelled||!ee.current)return;let Io=wt instanceof Error?wt.message:String(wt);if(Zk(wt)){let ms=await Us.get(b);if(ms&&(ms.onrampToken=null,ms.onrampTokenExpiresAtMs=null,await Us.set(b,ms)),!ee.current)return;lr(null),Mt.current=null,me(null),qr.current=null,Qe(null),Mr.current=null,Y(true),F("phoneInput");return}if(Jk(Io)){me(null),qr.current=null,Qe(null),Mr.current=null,be(""),Bn();return}me(null),qr.current=null,Qe(null),Mr.current=null,be(Bl(wt));}}function eh(R,E,Q){switch(R){case "unifold.pay_authorized":{if(vr.current!=="amount"||yo.current)return;yt(true),yo.current=true,Ip();break}case "unifold.pay_cancelled":{if(vr.current!=="amount"||!yo.current||Bo.current!=null||nn.current!=null)return;Bi(),De(false),ue.current=null,yt(false),yo.current=false;break}case "onramp_api.commit_success":case "onramp_api.polling_success":{if(vr.current!=="amount"||nn.current!=null)return;let ge=Bo.current;if(ge&&["succeeded","failed","refunded"].includes(ge.status))return;yo.current?sn.current==null&&Ip():(yt(true),yo.current=true,Ip());break}case "onramp_api.commit_error":{E&&["ERROR_CODE_GUEST_TRANSACTION_COUNT","ERROR_CODE_GUEST_DAILY_TRANSACTION_COUNT","ERROR_CODE_GUEST_TRANSACTION_LIMIT"].includes(E)?(Bi(),yt(false),yo.current=false,Bn()):th(Q);break}case "onramp_api.polling_error":case "onramp_api.polling_failed":{th(Q);break}}}function th(R){if(vr.current!=="amount")return;let E=Bo.current;if(E&&["succeeded","failed","refunded"].includes(E.status))return;Bi(),De(false),_(null),Bo.current=null,ue.current=null;let Q=R&&R.trim().length>0?R.trim():se.paymentErrorFallback;X(Q),nn.current=Q,yo.current||(yt(true),yo.current=true),f?.({message:Q});}function Bi(){sn.current&&(sn.current.cancelled=true),sn.current=null;}function Ip(){Bi(),De(false),X(null),nn.current=null;let R={cancelled:false};sn.current=R;let E=Date.now();(async()=>{let Q=E+Ak,ge=zt.current,pr=ge!=null;if(ge==null)for(let wt=0;wt<Ey&&!R.cancelled&&Date.now()<Q;wt++){if(ge=await rh(),R.cancelled)return;if(ge!=null){pr=wt===0;break}await rd(Wy);}if(R.cancelled)return;let cr=ge!=null&&pr,Et=cr?ge:new Set,Gr=cr?E-Vk:E;for(;!R.cancelled&&Date.now()<Q;){if(await Vw(R,Gr,Et),R.cancelled)return;let wt=eo()?.id;if(wt)try{await Cc({deposit_wallet_id:wt},t);}catch{}await rd(Ok);}if(R.cancelled||!ee.current)return;let Yr=Bo.current;Yr&&["succeeded","failed","refunded"].includes(Yr.status)||yo.current&&(De(true),f?.({message:"Timed out waiting for the deposit to be detected. It may still complete.",code:"polling_timeout"}));})();}async function rh(){try{let R=await ln(e,t,"deposit");return new Set(R.data.map(E=>E.id))}catch{return null}}async function Ow(){for(let R=0;R<Ey&&ee.current;R++){let E=await rh();if(!ee.current)return;if(E!=null){zt.current=E;return}await rd(Wy);}}async function Vw(R,E,Q){try{let pr=[...(await ln(e,t,"deposit")).data].sort((Gr,Yr)=>{let wt=Fu(Gr.created_at)??0;return (Fu(Yr.created_at)??0)-wt}),cr=eo()?.id,Et=pr.find(Gr=>{let Yr=ue.current;if(Yr)return Gr.id===Yr;let wt=Fu(Gr.created_at);return wt===null||wt<=E||!cr||Gr.deposit_wallet_id!==cr?!1:!Q.has(Gr.id)});if(!Et||R.cancelled||!ee.current)return;ue.current==null&&(ue.current=Et.id),_(Et),Bo.current=Et,S?.([Et]),Et.status==="succeeded"?(Bi(),yt(!1),yo.current=!1,F("success"),d?.({message:"Deposit completed successfully",executionId:Et.id,transaction:Et})):(Et.status==="failed"||Et.status==="refunded")&&(Bi(),yt(!1),yo.current=!1,F("success"),f?.({message:`Deposit ${Et.status}`}));}catch{}}function Pp(){_e(""),J("");}function Lw(){if(ne.current)return;let R=Hy(q);!R||!/^\d{4}$/.test(K)||(kt(true),ne.current=true,L(null),F("limitUpgradeSubmitting"),D.current&&(D.current.cancelled=true),D.current=null,(async()=>{try{await Dh({phone:bo.current,fields:{ssnLast4:K,dateOfBirth:R}},t);}catch(E){if(!ee.current)return;let Q=E instanceof Error?E.message:String(E);kt(false),ne.current=false,Xk(Q)?(Pp(),L(null),F("guestLimitReached")):(L(Bl(E)),F("limitUpgradeForm"));return}ee.current&&(kt(false),ne.current=false,oh());})());}function oh(){D.current&&(D.current.cancelled=true);let R={cancelled:false};D.current=R,Bw(R);}async function Bw(R){let E=Date.now(),Q=true;for(;Date.now()-E<Bk;){if(R.cancelled||(Q||await rd(Lk),Q=false,R.cancelled))return;let ge;try{ge=await Sc(bo.current,t);}catch{continue}if(R.cancelled||!ee.current)return;Cn(ge);let pr=ge.upgradeStatus,cr=ge.limitReached;if(pr===zy||!cr){let Et=Mt.current!=null;if(Pp(),L(null),Et)F("amount");else {if(R.cancelled)return;await xd();}return}if(pr===Nk){Pp(),L(null),F("guestLimitReached");return}if(pr===rm){_e(""),L(se.upgradeVerifyFailed),F("limitUpgradeForm");return}}R.cancelled||!ee.current||(L(null),F("limitUpgradeFailed"));}async function Fp(R){let E=await Us.get(b),ge=E?.phone===bo.current&&E?.email.toLowerCase()===tr.current.toLowerCase()?E:null,pr={email:tr.current,phone:bo.current,termsAcceptedAt:ge?.termsAcceptedAt??tx(),phoneVerifiedAt:R?.phoneVerifiedAt??ge?.phoneVerifiedAt??null,emailVerifiedAt:R?.emailVerifiedAt??ge?.emailVerifiedAt??null,onrampToken:R?.onrampToken??ge?.onrampToken??null,onrampTokenExpiresAtMs:R?.onrampTokenExpiresAtMs??ge?.onrampTokenExpiresAtMs??null};await Us.set(b,pr);}function nh(){if(Xe){Bi(),yt(false),yo.current=false,De(false),X(null),nn.current=null,_(null),Bo.current=null,ue.current=null,be(""),me(null),qr.current=null,Qe(null),Mr.current=null,er(false),ko.current=false,Xm();return}switch(O){case "phoneInput":je?g():F("emailInput");break;case "emailOtp":Ie(""),F("phoneInput");break;case "phoneOtp":Ge(""),F("phoneInput");break;case "checkingDeposit":Bi(),De(false),X(null),nn.current=null,me(null),qr.current=null,Qe(null),Mr.current=null,be(""),_(null),Bo.current=null,ue.current=null,F("amount");break;case "limitUpgradeForm":L(null),F("limitUpgradeIntro");break;default:g();break}}function Dp(){wo(),k();}let Ew=(()=>{if(Xe)return se.checkingHeaderTitle;switch(O){case "emailInput":case "phoneInput":case "submittingSession":return se.title;case "emailOtp":return se.emailOtpHeaderTitle;case "phoneOtp":return se.phoneHeaderTitle;case "amount":return se.amountHeaderTitle;case "checkingDeposit":return se.checkingHeaderTitle;case "guestLimitReached":case "limitUpgradeIntro":case "limitUpgradeFailed":return se.guestLimitHeaderTitle;case "limitUpgradeForm":case "limitUpgradeSubmitting":return se.upgradeHeaderTitle;default:return se.title}})(),Ww=(()=>{if(Xe)return true;switch(O){case "phoneInput":return !je;case "emailOtp":case "phoneOtp":case "checkingDeposit":case "limitUpgradeForm":return true;default:return false}})();function ci({title:R,enabled:E,loading:Q,onPress:ge}){return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:ge,disabled:!E,activeOpacity:.85,style:[V.primaryButton,{backgroundColor:E?h.primary:`${h.primary}80`,borderRadius:P}],children:[Q&&jsxRuntime.jsx(Ct,{size:18,strokeWidth:2,gradientFrom:h.primaryForeground,gradientTo:h.primaryForeground}),jsxRuntime.jsx(reactNative.Text,{style:[V.primaryButtonText,{color:h.primaryForeground,fontFamily:w.medium}],children:R})]})}function ih(){let R=rt.length>0?rt:Mk;return jsxRuntime.jsx(reactNative.View,{style:V.legalWrapper,children:jsxRuntime.jsxs(reactNative.Text,{style:[V.legalText,{color:h.foregroundMuted,fontFamily:w.regular}],children:[se.disclaimerPrefix,R.map((E,Q)=>{let ge="";return Q<R.length-2?ge=", ":Q===R.length-2&&(ge=", and "),jsxRuntime.jsxs(reactNative.Text,{children:[jsxRuntime.jsx(reactNative.Text,{style:{color:h.foreground,textDecorationLine:"underline"},onPress:()=>reactNative.Linking.openURL(E.url).catch(()=>{}),children:E.name}),ge]},E.key)}),se.disclaimerSuffix]})})}function _d(R,E){return jsxRuntime.jsxs(reactNative.View,{style:V.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.detailLabel,{color:h.foregroundMuted,fontFamily:w.regular}],children:R}),jsxRuntime.jsx(reactNative.Text,{style:[V.detailValue,{color:h.foreground,fontFamily:w.medium}],children:E})]},R)}function sh(R,E,Q){return jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[V.txRow,{backgroundColor:h.card,borderColor:h.border,borderRadius:m}],onPress:()=>reactNative.Linking.openURL(Q).catch(()=>{}),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.txLabel,{color:h.foreground,fontFamily:w.medium}],children:R}),jsxRuntime.jsxs(reactNative.View,{style:V.txRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.txHash,{color:h.foregroundMuted}],children:E}),jsxRuntime.jsx(reactNative.Text,{style:[V.txArrow,{color:h.foregroundMuted}],children:"\u2197"})]})]},R)}function Mw(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredFull,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.centerIcon,{color:h.foregroundMuted}],children:"\u26A0\uFE0E"}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.medium}],children:se.disabledTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.disabledDescription})]})}function zw(){return jsxRuntime.jsxs(reactNative.View,{style:V.formContainer,children:[jsxRuntime.jsx(reactNative.View,{style:V.flex}),jsxRuntime.jsx(reactNative.Text,{style:[V.fieldLabel,{color:h.foregroundMuted,fontFamily:w.medium}],children:se.emailLabel}),jsxRuntime.jsx(reactNative.TextInput,{ref:Rt,value:B,onChangeText:R=>{let E=R.replace(/\s/g,"");W(E),tr.current=E;},placeholder:se.emailPlaceholder,placeholderTextColor:h.foregroundMuted,keyboardType:"email-address",autoCapitalize:"none",autoCorrect:false,style:[V.input,{color:h.foreground,backgroundColor:h.card,borderColor:h.border,borderRadius:I,borderWidth:x,fontFamily:w.regular}]}),jsxRuntime.jsx(reactNative.View,{style:{height:24}}),ih(),jsxRuntime.jsx(ci,{title:se.continueButton,enabled:Fe,loading:false,onPress:()=>F("phoneInput")}),jsxRuntime.jsx(reactNative.View,{style:V.flex})]})}function Uw(){let R=O==="submittingSession";return jsxRuntime.jsxs(reactNative.View,{style:V.formContainer,children:[jsxRuntime.jsx(reactNative.View,{style:V.flex}),jsxRuntime.jsx(reactNative.Text,{style:[V.fieldLabel,{color:h.foregroundMuted,fontFamily:w.medium}],children:se.phoneLabel}),jsxRuntime.jsxs(reactNative.View,{style:[V.phoneRow,{backgroundColor:h.card,borderColor:h.border,borderRadius:I,borderWidth:x}],children:[jsxRuntime.jsx(reactNative.View,{style:[V.phonePrefix,{borderRightColor:h.border}],children:jsxRuntime.jsx(reactNative.Text,{style:[V.phonePrefixText,{color:h.foregroundMuted,fontFamily:w.medium}],children:"+1"})}),jsxRuntime.jsx(reactNative.TextInput,{ref:Tr,value:N,editable:!R,onChangeText:E=>{let Q=E.replace(/\D/g,"");Q.length===11&&Q.startsWith("1")&&(Q=Q.slice(1)),Q.length>10&&(Q=Q.slice(0,10)),Z(Q);},placeholder:se.phonePlaceholder,placeholderTextColor:h.foregroundMuted,keyboardType:"number-pad",style:[V.phoneInput,{color:h.foreground,fontFamily:w.regular}]})]}),N.length>0&&!bt?jsxRuntime.jsx(reactNative.Text,{style:[V.warningText,{color:h.warning,fontFamily:w.regular}],children:se.phoneInvalid}):null,Me.length>0?jsxRuntime.jsx(reactNative.Text,{style:[V.warningText,{color:h.warning,fontFamily:w.regular}],children:Me}):null,jsxRuntime.jsx(reactNative.View,{style:{height:24}}),je?ih():null,jsxRuntime.jsx(ci,{title:se.sendCode,enabled:bt&&!R,loading:R,onPress:()=>{vp();}}),jsxRuntime.jsx(reactNative.View,{style:V.flex})]})}function Nw(){let R=O==="emailOtp",E=R?Hk(B):$k(Le),Q=R?j:pt,ge=Q.length===Ru&&!ot;return jsxRuntime.jsxs(reactNative.View,{style:V.formContainer,children:[jsxRuntime.jsx(reactNative.View,{style:V.flex}),jsxRuntime.jsx(reactNative.Text,{style:[V.otpSentTo,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.sentTo(E)}),jsxRuntime.jsx(reactNative.TextInput,{ref:Bt,value:Q,onChangeText:pr=>{let cr=pr.replace(/\D/g,"").slice(0,Ru);R?Ie(cr):Ge(cr),qe(null);},placeholder:se.otpPlaceholder,placeholderTextColor:h.foregroundMuted,keyboardType:"number-pad",style:[V.otpInput,{color:h.foreground,backgroundColor:h.card,borderColor:Se?h.error:h.border,borderRadius:I,fontFamily:w.medium}]}),Se?jsxRuntime.jsx(reactNative.Text,{style:[V.errorTextCentered,{color:h.error,fontFamily:w.regular}],children:Se}):null,jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>Fw(R),disabled:dt>0||!ce||!te,style:V.resendButton,children:jsxRuntime.jsx(reactNative.Text,{style:[V.resendText,{color:h.foregroundMuted,fontFamily:w.regular}],children:dt>0?se.resendIn(dt):se.resendCode})}),jsxRuntime.jsx(reactNative.View,{style:{height:24}}),jsxRuntime.jsx(ci,{title:se.verify,enabled:ge,loading:ot,onPress:()=>R?void Iw():void Pw()}),jsxRuntime.jsx(reactNative.View,{style:V.flex})]})}function Hw(){let R=parseFloat(we)||0,E=we!==""&&R>0,Q=E&&R<A,ge=E&&R>nt,pr=E&&!Q&&!ge,cr=Je===we&&pr&&Ue?.url?rx(Ue.url):null,Et=Math.max(60-we.length*2.5,32),Gr=[["1","2","3"],["4","5","6"],["7","8","9"],[".","0","\u232B"]];return jsxRuntime.jsxs(reactNative.View,{style:V.flex,children:[jsxRuntime.jsx(reactNative.View,{style:{flex:1,minHeight:24}}),jsxRuntime.jsxs(reactNative.View,{style:V.amountSection,children:[jsxRuntime.jsxs(reactNative.View,{style:V.amountRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.amountDollar,{color:h.foreground,fontSize:Et}],children:"$"}),jsxRuntime.jsx(reactNative.Text,{style:[V.amountValue,{color:we===""?h.foregroundMuted:h.foreground,fontSize:Et}],children:we===""?"0":we})]}),Q?jsxRuntime.jsx(reactNative.Text,{style:[V.amountHint,{color:h.warning,fontFamily:w.regular}],children:se.minimumAmount(Uy(A))}):null,ge?jsxRuntime.jsx(reactNative.Text,{style:[V.amountHint,{color:h.warning,fontFamily:w.regular}],children:se.maximumAmount(Uy(nt))}):null,Me.length>0?jsxRuntime.jsx(reactNative.Text,{style:[V.amountHint,{color:h.warning,fontFamily:w.regular,textAlign:"center"}],children:Me}):null]}),jsxRuntime.jsx(reactNative.View,{style:{flex:1,minHeight:24}}),jsxRuntime.jsxs(reactNative.View,{style:[V.keypadArea,{opacity:Ve?.5:1}],children:[jsxRuntime.jsx(reactNative.View,{style:V.quickAmountsRow,children:Rk.map(Yr=>{let wt=parseFloat(we)===Yr,Io=Yr>nt;return jsxRuntime.jsx(reactNative.TouchableOpacity,{disabled:Ve||Io,onPress:()=>ja(String(Yr)),activeOpacity:.7,style:[V.quickAmountButton,{backgroundColor:h.card,borderColor:wt?h.primary:h.border,borderRadius:I,opacity:Io?.4:1}],children:jsxRuntime.jsxs(reactNative.Text,{style:[V.quickAmountText,{color:h.foreground,fontFamily:w.medium}],children:["$",Yr]})},Yr)})}),jsxRuntime.jsx(reactNative.View,{style:V.keypad,children:Gr.map((Yr,wt)=>jsxRuntime.jsx(reactNative.View,{style:V.keypadRow,children:Yr.map(Io=>jsxRuntime.jsx(reactNative.TouchableOpacity,{disabled:Ve,onPress:()=>Dw(Io),activeOpacity:.6,style:V.keypadKey,children:jsxRuntime.jsx(reactNative.Text,{style:[V.keypadKeyText,{color:h.foreground,fontFamily:w.medium}],children:Io==="\u232B"?"\u232B":Io})},Io))},wt))})]}),jsxRuntime.jsx(reactNative.View,{style:V.payButtonContainer,children:cr?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[lt?jsxRuntime.jsxs(reactNative.View,{style:V.applePayMarkRow,children:[jsxRuntime.jsx(ox,{size:16,color:h.foregroundMuted}),jsxRuntime.jsx(reactNative.Text,{style:[V.applePayMarkText,{color:h.foregroundMuted,fontFamily:w.medium}],children:"Pay"})]}):null,jsxRuntime.jsxs(reactNative.View,{style:V.applePayButtonStack,children:[jsxRuntime.jsx(reactNativeWebview.WebView,{ref:He,source:{uri:cr},style:[V.applePayWebView,{opacity:lt?.02:0}],containerStyle:V.applePayWebViewContainer,pointerEvents:lt?"auto":"none",originWhitelist:["*"],javaScriptEnabled:true,domStorageEnabled:true,scrollEnabled:false,bounces:false,androidLayerType:"hardware",injectedJavaScriptBeforeContentLoaded:nx(P,jy),onMessage:Yr=>{try{let wt=JSON.parse(Yr.nativeEvent.data);if(!wt)return;if(!wt.__uf){if(typeof wt.eventName=="string"){let Io=wt.data||{};eh(wt.eventName,Io.errorCode,Io.errorMessage);}return}if(wt.channel==="cbSize")Number(wt.body)>0&&(Ze.current&&(clearTimeout(Ze.current),Ze.current=null),ko.current||(er(!0),ko.current=!0),he(!1));else if(wt.channel==="cbProbe")ch(Number(wt.body)===1);else if(wt.channel==="cbOnramp"){let Io=typeof wt.body=="string"?JSON.parse(wt.body):wt.body;if(!Io)return;let ms=Io.data||{};eh(Io.eventName,ms.errorCode,ms.errorMessage);}}catch{}}},cr),lt?jsxRuntime.jsx(reactNative.View,{pointerEvents:"none",style:[V.applePayBrandButton,{backgroundColor:h.primary,borderRadius:P}],children:jsxRuntime.jsx(reactNative.Text,{style:[V.applePayBrandText,{color:"#fff",fontFamily:w.semibold}],children:se.continuePay})}):null,lt?null:ah(pr)]})]}):ah(pr)})]})}function ah(R){return jsxRuntime.jsxs(reactNative.View,{style:[V.preparingButton,{backgroundColor:`${h.primary}80`,borderRadius:P}],children:[R?jsxRuntime.jsx(Ct,{size:18,strokeWidth:2,gradientFrom:"#fff",gradientTo:"#fff"}):null,jsxRuntime.jsx(reactNative.Text,{style:[V.preparingButtonText,{color:"#fff",fontFamily:w.medium}],children:R?se.preparingApplePay:se.enterAmount})]})}function lh(){return at?jw(at):gt?$w():Pe?qw(Pe):jsxRuntime.jsxs(reactNative.View,{style:V.centeredFull,children:[jsxRuntime.jsx(Ct,{size:80,strokeWidth:4}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.checkingTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.checkingDescription})]})}function $w(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredWithButton,children:[jsxRuntime.jsxs(reactNative.View,{style:V.centeredContent,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.centerIcon,{color:h.foregroundMuted}],children:"\u23F1"}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.checkingTimeoutTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.checkingTimeoutDescription})]}),jsxRuntime.jsx(reactNative.View,{style:V.bottomButton,children:jsxRuntime.jsx(ci,{title:se.done,enabled:true,loading:false,onPress:Dp})})]})}function jw(R){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredWithButton,children:[jsxRuntime.jsxs(reactNative.View,{style:V.centeredContent,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.centerIcon,{color:h.error}],children:"\u26A0\uFE0E"}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.paymentErrorTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:R})]}),jsxRuntime.jsx(reactNative.View,{style:V.bottomButton,children:jsxRuntime.jsx(ci,{title:se.tryAgain,enabled:true,loading:false,onPress:nh})})]})}function qw(R){let E=["pending","waiting","delayed"].includes(R.status),Q=["failed","refunded"].includes(R.status),ge=Q?h.error:E?h.warning:h.success,pr=Q?se.failed:E?se.inProgress:se.completed,cr=Kk(R.created_at),Et=R.destination_token_metadata,Gr=Et?.icon_urls?.find(Yr=>Yr.format==="png")?.url??Et?.icon_url??null;return jsxRuntime.jsxs(reactNative.View,{style:V.flex,children:[jsxRuntime.jsxs(reactNative.ScrollView,{contentContainerStyle:V.detailScrollContent,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsxs(reactNative.View,{style:V.tokenIconWrapper,children:[Gr?jsxRuntime.jsx(reactNative.Image,{source:{uri:Gr,cache:"force-cache"},style:V.tokenIcon,resizeMode:"contain"}):jsxRuntime.jsx(reactNative.View,{style:[V.tokenIconFallback,{backgroundColor:h.cardHover}],children:jsxRuntime.jsx(reactNative.Text,{style:[V.tokenIconFallbackText,{color:h.foreground}],children:"$"})}),jsxRuntime.jsx(reactNative.View,{style:[V.statusBadge,{backgroundColor:ge}],children:jsxRuntime.jsx(reactNative.Text,{style:V.statusBadgeText,children:Q?"\u2715":E?"\u21BB":"\u2713"})})]}),jsxRuntime.jsxs(reactNative.View,{style:V.statusRow,children:[jsxRuntime.jsx(reactNative.View,{style:[V.statusDot,{backgroundColor:ge}]}),jsxRuntime.jsx(reactNative.Text,{style:[V.statusText,{color:h.foreground,fontFamily:w.semibold}],children:pr})]}),Q?jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular,marginBottom:8}],children:se.depositFailedDescription}):null,cr?jsxRuntime.jsx(reactNative.Text,{style:[V.dateText,{color:h.foregroundMuted,fontFamily:w.regular}],children:cr}):null,jsxRuntime.jsxs(reactNative.View,{style:[V.detailCard,{backgroundColor:h.card,borderColor:h.border,borderRadius:m}],children:[we!==""?_d(se.amountSent,`$${jk(we)} USD`):null,_d(se.amountReceived,`${Gk(R)} ${Yk(R)}`),R.source_amount_usd?_d(se.usdValue,`$${(parseFloat(R.source_amount_usd)||0).toFixed(2)}`):null,R.destination_chain_id?_d(se.destinationNetwork,qk(R.destination_chain_type??"",R.destination_chain_id)):null]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:V.seeMoreRow,onPress:()=>M(Yr=>!Yr),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.seeMoreText,{color:h.foreground,fontFamily:w.medium}],children:C?se.seeLess:se.seeMoreDetails}),jsxRuntime.jsx(reactNative.Text,{style:[V.seeMoreChevron,{color:h.foregroundMuted}],children:C?"\u25B2":"\u25BC"})]}),C?jsxRuntime.jsxs(reactNative.View,{style:V.txHashSection,children:[R.explorer_url?sh(se.depositTx,Ny(R.transaction_hash),R.explorer_url):null,!E&&!Q&&R.destination_explorer_url&&R.destination_transaction_hashes?.[0]?sh(se.completionTx,Ny(R.destination_transaction_hashes[0]),R.destination_explorer_url):null]}):null]}),jsxRuntime.jsx(reactNative.View,{style:[V.bottomButton,V.detailBottomButton],children:jsxRuntime.jsx(ci,{title:se.done,enabled:true,loading:false,onPress:Dp})})]})}function Qw(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredWithButton,children:[jsxRuntime.jsxs(reactNative.View,{style:V.centeredContent,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.guestLimitTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.guestLimitDescription})]}),jsxRuntime.jsx(reactNative.View,{style:V.bottomButton,children:jsxRuntime.jsx(ci,{title:se.returnButton,enabled:true,loading:false,onPress:g})})]})}function Kw(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredWithButton,children:[jsxRuntime.jsxs(reactNative.View,{style:V.centeredContent,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.guestLimitTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.upgradeIntroDescription})]}),jsxRuntime.jsxs(reactNative.View,{style:V.bottomButton,children:[jsxRuntime.jsx(ci,{title:se.continueButton,enabled:true,loading:false,onPress:()=>{L(null),F("limitUpgradeForm");}}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>{L(null),g();},style:V.textButton,children:jsxRuntime.jsx(reactNative.Text,{style:[V.textButtonLabel,{color:h.foregroundMuted,fontFamily:w.medium}],children:se.cancelButton})})]})]})}function Gw(){let R=Hy(q)!=null,E=/^\d{4}$/.test(K),Q=R&&E;return jsxRuntime.jsxs(reactNative.View,{style:V.formContainer,children:[jsxRuntime.jsx(reactNative.View,{style:V.flex}),jsxRuntime.jsx(reactNative.Text,{style:[V.fieldLabel,{color:h.foregroundMuted,fontFamily:w.medium}],children:se.dobLabel}),jsxRuntime.jsx(reactNative.TextInput,{ref:Kr,value:q,onChangeText:ge=>{J(ex(ge)),et&&L(null);},placeholder:se.dobPlaceholder,placeholderTextColor:h.foregroundMuted,keyboardType:"number-pad",style:[V.input,{color:h.foreground,backgroundColor:h.card,borderColor:h.border,borderRadius:I,borderWidth:x,fontFamily:w.regular}]}),jsxRuntime.jsx(reactNative.View,{style:{height:16}}),jsxRuntime.jsx(reactNative.Text,{style:[V.fieldLabel,{color:h.foregroundMuted,fontFamily:w.medium}],children:se.ssnLabel}),jsxRuntime.jsx(reactNative.TextInput,{value:K,onChangeText:ge=>{_e(ge.replace(/\D/g,"").slice(0,4)),et&&L(null);},placeholder:se.ssnPlaceholder,placeholderTextColor:h.foregroundMuted,keyboardType:"number-pad",secureTextEntry:true,style:[V.input,{color:h.foreground,backgroundColor:h.card,borderColor:h.border,borderRadius:I,borderWidth:x,fontFamily:w.regular}]}),et?jsxRuntime.jsx(reactNative.Text,{style:[V.warningText,{color:h.warning,fontFamily:w.regular}],children:et}):null,jsxRuntime.jsx(reactNative.View,{style:V.flex}),jsxRuntime.jsx(ci,{title:se.submitButton,enabled:Q&&!U,loading:U,onPress:Lw}),jsxRuntime.jsx(reactNative.View,{style:V.flex})]})}function Yw(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredFull,children:[jsxRuntime.jsx(Ct,{size:80,strokeWidth:4}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.verifyingTitle}),jsxRuntime.jsx(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:se.verifyingDescription})]})}function Jw(){return jsxRuntime.jsxs(reactNative.View,{style:V.centeredWithButton,children:[jsxRuntime.jsxs(reactNative.View,{style:V.centeredContent,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.stateTitle,{color:h.foreground,fontFamily:w.semibold}],children:se.upgradeFailedTitle}),jsxRuntime.jsxs(reactNative.Text,{style:[V.stateDescription,{color:h.foregroundMuted,fontFamily:w.regular}],children:[se.upgradeFailedPrefix,jsxRuntime.jsx(reactNative.Text,{style:{color:h.primary,textDecorationLine:"underline"},onPress:()=>reactNative.Linking.openURL(se.supportUrl).catch(()=>{}),children:se.contactSupport}),se.upgradeFailedSuffix]})]}),jsxRuntime.jsx(reactNative.View,{style:V.bottomButton,children:jsxRuntime.jsx(ci,{title:se.returnButton,enabled:true,loading:false,onPress:()=>{L(null),g();}})})]})}function Zw(){switch(O){case "loading":return jsxRuntime.jsx(reactNative.View,{style:V.centeredFull,children:jsxRuntime.jsx(Ct,{size:40,strokeWidth:3})});case "disabled":return Mw();case "emailInput":return zw();case "phoneInput":case "submittingSession":return Uw();case "emailOtp":case "phoneOtp":return Nw();case "amount":return jsxRuntime.jsxs(reactNative.View,{style:V.flex,children:[Hw(),Xe?jsxRuntime.jsx(reactNative.View,{style:[V.overlay,{backgroundColor:h.background}],children:lh()}):null]});case "checkingDeposit":case "success":return lh();case "guestLimitReached":return Qw();case "limitUpgradeIntro":return Kw();case "limitUpgradeForm":return Gw();case "limitUpgradeSubmitting":return Yw();case "limitUpgradeFailed":return Jw();default:return null}}ta.useEffect(()=>{O==="amount"&&Xm();},[O]);function Xw(){!ee.current||ko.current||(er(true),ko.current=true,he(false));}function ch(R){if(Ze.current&&clearTimeout(Ze.current),Ze.current=null,!(!ee.current||ko.current)){if(R){Xw();return}me(null),qr.current=null,Qe(null),Mr.current=null,er(false),ko.current=false,he(false),be(se.applePayButtonUnavailable);}}return ta.useEffect(()=>{if(!(!(Je===we&&Ue?.url&&Ue.url)||lt))return Ae.current&&clearTimeout(Ae.current),Ae.current=setTimeout(()=>{!ee.current||ko.current||(He.current?.injectJavaScript(ix()),Ze.current&&clearTimeout(Ze.current),Ze.current=setTimeout(()=>{ch(false);},Dk));},Fk),()=>{Ae.current&&clearTimeout(Ae.current),Ae.current=null,Ze.current&&clearTimeout(Ze.current),Ze.current=null;}},[Ue,Je,we,lt]),ta.useEffect(()=>{lt?Ow():zt.current=null;},[lt]),jsxRuntime.jsxs(reactNative.View,{style:[V.root,{backgroundColor:h.background}],children:[jsxRuntime.jsx(fo,{title:Ew,showBack:Ww,showClose:true,onBack:nh,onClose:Dp}),jsxRuntime.jsx(reactNative.KeyboardAvoidingView,{style:V.flex,behavior:reactNative.Platform.OS==="ios"?"padding":void 0,children:Zw()})]})}var Pu={position:"absolute",left:0,right:0,top:0,bottom:0},V=reactNative.StyleSheet.create({root:{flex:1},flex:{flex:1},overlay:{...Pu},formContainer:{flex:1,paddingHorizontal:16,paddingTop:16,paddingBottom:16},fieldLabel:{fontSize:12,paddingHorizontal:4,marginBottom:6},input:{fontSize:15,padding:14},phoneRow:{flexDirection:"row",alignItems:"center",height:50,overflow:"hidden"},phonePrefix:{paddingHorizontal:12,height:"100%",justifyContent:"center",borderRightWidth:1},phonePrefixText:{fontSize:15},phoneInput:{flex:1,fontSize:15,padding:14},warningText:{fontSize:12,paddingHorizontal:4,marginTop:6},otpSentTo:{fontSize:14,textAlign:"center",marginBottom:24},otpInput:{fontSize:24,textAlign:"center",paddingVertical:14,borderWidth:1.5},errorTextCentered:{fontSize:12,textAlign:"center",marginTop:8},resendButton:{marginTop:12,alignItems:"center"},resendText:{fontSize:12},legalWrapper:{paddingHorizontal:4,marginBottom:24},legalText:{fontSize:11,lineHeight:16},primaryButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,paddingVertical:16},primaryButtonText:{fontSize:16},amountSection:{alignItems:"center",paddingHorizontal:16},amountRow:{flexDirection:"row",alignItems:"center",justifyContent:"center",height:70},amountDollar:{fontWeight:"400"},amountValue:{fontWeight:"400"},amountHint:{fontSize:14,marginTop:4},keypadArea:{paddingHorizontal:16,paddingBottom:12,gap:16},quickAmountsRow:{flexDirection:"row",gap:12},quickAmountButton:{flex:1,alignItems:"center",paddingVertical:10,borderWidth:1},quickAmountText:{fontSize:14},keypad:{gap:10},keypadRow:{flexDirection:"row",gap:10},keypadKey:{flex:1,height:52,alignItems:"center",justifyContent:"center"},keypadKeyText:{fontSize:24},payButtonContainer:{paddingHorizontal:16,paddingBottom:16},applePayMarkRow:{flexDirection:"row",alignItems:"center",gap:4,marginBottom:8},applePayMarkText:{fontSize:19},applePayButtonStack:{height:jy,position:"relative"},applePayBrandButton:{...Pu,alignItems:"center",justifyContent:"center"},applePayBrandText:{fontSize:16},applePayWebView:{...Pu,backgroundColor:"transparent"},applePayWebViewContainer:{...Pu,backgroundColor:"transparent"},preparingButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,paddingVertical:16},preparingButtonText:{fontSize:16},centeredFull:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:32,gap:16},centeredWithButton:{flex:1,justifyContent:"space-between",paddingHorizontal:16,paddingBottom:16},centeredContent:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:16,gap:12},centerIcon:{fontSize:40},stateTitle:{fontSize:20,textAlign:"center"},stateDescription:{fontSize:14,textAlign:"center",lineHeight:20},bottomButton:{gap:8},detailBottomButton:{paddingHorizontal:16,paddingBottom:16},textButton:{alignItems:"center",paddingVertical:14,marginTop:4},textButtonLabel:{fontSize:16},detailScrollContent:{paddingHorizontal:20,paddingBottom:16,alignItems:"center"},tokenIconWrapper:{position:"relative",marginTop:8,marginBottom:8,alignSelf:"center"},tokenIcon:{width:72,height:72,borderRadius:36},tokenIconFallback:{width:72,height:72,borderRadius:36,alignItems:"center",justifyContent:"center"},tokenIconFallbackText:{fontSize:36},statusBadge:{position:"absolute",right:-4,bottom:-4,width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},statusBadgeText:{color:"#fff",fontSize:12,fontWeight:"bold"},statusRow:{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4},statusDot:{width:8,height:8,borderRadius:4},statusText:{fontSize:16},dateText:{fontSize:13,marginBottom:16},detailCard:{width:"100%",borderWidth:1,padding:16,gap:32,marginBottom:8},detailRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},detailLabel:{fontSize:14},detailValue:{fontSize:14},seeMoreRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",paddingVertical:8},seeMoreText:{fontSize:14},seeMoreChevron:{fontSize:12},txHashSection:{width:"100%",gap:8},txRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingVertical:14,borderWidth:1},txLabel:{fontSize:14},txRight:{flexDirection:"row",alignItems:"center",gap:6},txHash:{fontSize:13,fontFamily:reactNative.Platform.OS==="ios"?"Menlo":"monospace"},txArrow:{fontSize:14}});var Qy=5e3,Ky=2500,Gy=5e3,Yy=6e4;function si(e){let{depositConfirmationMode:t,enabled:r=true,depositAddress:o,chain:n,externalUserId:i,publishableKey:s,modalOpenedAt:a,depositWalletId:l,depositExecutions:c,trackedExecutions:p,setDepositExecutions:g,setTrackedExecutions:k,setLatestExecution:d,setShowStatusSheet:f,onDepositSuccess:S,onExecutionsChange:h,onDepositError:w}=e,[v,I]=ta.useState(false),[x,P]=ta.useState(false);return ta.useEffect(()=>{if(!r||t!=="auto_ui"&&t!=="auto_silent"||!o)return;I(false),t==="auto_ui"&&P(false);let u=setTimeout(()=>{I(true),t==="auto_ui"&&P(true);},Qy);return ()=>clearTimeout(u)},[r,t,o,n]),ta.useEffect(()=>{if(!r||!i||!a)return;let u=new Date(a.getTime()-Yy),T=setInterval(async()=>{try{let O=[...(await ln(i,s,"deposit")).data??[]].sort((B,W)=>{let N=B.created_at?new Date(B.created_at).getTime():0;return (W.created_at?new Date(W.created_at).getTime():0)-N}),F=null;for(let B of O){let W=B.created_at?new Date(B.created_at):null;if(!W||W<=u)continue;let N=p.get(B.id);if(!N){F=B;break}if(["pending","waiting","delayed"].includes(N)&&B.status==="succeeded"){F=B;break}}if(F){let B=F;g(W=>{let N=W.findIndex(Z=>Z.id===B.id);if(N>=0){let Z=[...W];return Z[N]=B,Z}return [...W,B]}),k(W=>{let N=new Map(W);return N.set(B.id,B.status),N}),d(B),f(!0),B.status==="succeeded"&&S?.({message:"Deposit completed successfully",executionId:B.id}),h?.([...c,B]);}}catch(b){w?.({message:"Failed to check deposit status",error:b});}},Ky);return ()=>clearInterval(T)},[r,i,s,a,p,c,h,S,w]),ta.useEffect(()=>{if(!r||!v||!l)return;let u=async()=>{try{await Vd(l,s);}catch{}};u();let T=setInterval(u,Gy);return ()=>clearInterval(T)},[r,v,l,s]),{pollingEnabled:v,showWaitingUi:x,handleIveDeposited:()=>{I(true),P(true);}}}function Zy({depositConfirmationMode:e,depositAddress:t,showWaitingUi:r,latestExecution:o,onIveDeposited:n}){return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(od,{showWaitingUi:r,latestExecution:o}),jsxRuntime.jsx(im,{depositConfirmationMode:e,depositAddress:t,showWaitingUi:r,onIveDeposited:n})]})}function od({showWaitingUi:e,latestExecution:t}){let{colors:r,fonts:o}=z(),n=ta.useRef(new reactNative.Animated.Value(0)).current;ta.useEffect(()=>{if(e&&!t){n.setValue(0);let s=reactNative.Animated.loop(reactNative.Animated.timing(n,{toValue:1,duration:1500,easing:reactNative.Easing.linear,useNativeDriver:true}));return s.start(),()=>s.stop()}},[e,t,n]);let i=n.interpolate({inputRange:[0,1],outputRange:["0deg","360deg"]});return jsxRuntime.jsx(reactNative.View,{style:Ou.processingCard,children:e&&!t?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(reactNative.Animated.View,{style:{transform:[{rotate:i}]},children:jsxRuntime.jsx(cc,{size:16,color:r.primary,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[Ou.processingCardTitle,{color:r.foregroundMuted,fontFamily:o.regular}],children:"Checking for deposit"})]}):null})}function im({depositConfirmationMode:e,depositAddress:t,showWaitingUi:r,onIveDeposited:o}){let{colors:n,fonts:i,components:s}=z();return e!=="manual"||!t||r?null:jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:o,activeOpacity:.8,style:[Ou.iveDepositedButton,{backgroundColor:n.primary,borderRadius:s.button.borderRadius,borderWidth:s.button.borderWidth,borderColor:s.button.borderColor}],children:jsxRuntime.jsx(reactNative.Text,{style:[Ou.iveDepositedButtonText,{color:n.primaryForeground??"#FFF",fontFamily:i.semibold}],children:"I've made the deposit"})})}var Ou=reactNative.StyleSheet.create({iveDepositedButton:{paddingVertical:14,alignItems:"center",justifyContent:"center",marginBottom:12},iveDepositedButtonText:{fontSize:16},processingCard:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,marginBottom:24},processingCardTitle:{fontSize:14}});function Lu(e){let t=e.icon_urls.find(o=>o.format==="png")?.url,r=e.icon_urls.find(o=>o.format==="svg")?.url;return ye(t||r||e.icon_url)}function fx(e){if(!e.supports_mobile_browse)return false;if(!e.mobile_browse_platforms)return true;let t=reactNative.Platform.OS==="ios"?"ios":"android";return e.mobile_browse_platforms.includes(t)}var Bu=18,Eu=12,mx=2;function hx({uri:e,chainTypes:t,size:r=40}){let o=t.includes("ethereum"),n=t.includes("solana"),i=o&&n;return jsxRuntime.jsxs(reactNative.View,{style:{width:r+6,height:r+4},children:[jsxRuntime.jsx(en,{uri:e,width:r,height:r,borderRadius:10}),i?jsxRuntime.jsxs(reactNative.View,{style:Yi.cluster,children:[jsxRuntime.jsx(reactNative.View,{style:[Yi.badge,Yi.backBadge],children:jsxRuntime.jsx(rl,{size:Eu})}),jsxRuntime.jsx(reactNative.View,{style:[Yi.badge,Yi.frontBadge],children:jsxRuntime.jsx(Xa,{size:Eu})})]}):o?jsxRuntime.jsx(reactNative.View,{style:[Yi.badge,Yi.singleBadge],children:jsxRuntime.jsx(Xa,{size:Eu})}):n?jsxRuntime.jsx(reactNative.View,{style:[Yi.badge,Yi.singleBadge],children:jsxRuntime.jsx(rl,{size:Eu})}):null]})}var Yi=reactNative.StyleSheet.create({badge:{width:Bu,height:Bu,borderRadius:Bu/2,borderWidth:mx,borderColor:"#fff",alignItems:"center",justifyContent:"center",overflow:"hidden"},cluster:{position:"absolute",bottom:-2,right:-4,flexDirection:"row"},backBadge:{marginRight:-6.3,zIndex:0},frontBadge:{zIndex:1},singleBadge:{position:"absolute",bottom:-2,right:-4}});function Wu({externalUserId:e,publishableKey:t,recipientAddress:r,destinationChainType:o,destinationChainId:n,destinationTokenAddress:i,onBack:s,onClose:a,onDepositSuccess:l,onDepositError:c,onExecutionsChange:p,onLatestExecution:g,onShowStatusSheet:k}){let{colors:d,fonts:f,components:S}=z(),h=ta.useRef(true);ta.useEffect(()=>{reactNative.Platform.OS==="android"&&reactNative.UIManager.setLayoutAnimationEnabledExperimental&&reactNative.UIManager.setLayoutAnimationEnabledExperimental(true);},[]);let w=ta.useRef(false),[v,I]=ta.useState("selectWallet"),[x,P]=ta.useState([]),[m,u]=ta.useState(true),[T,b]=ta.useState(null),[A,O]=ta.useState(null),[F,B]=ta.useState(null),[W,N]=ta.useState(null),[Z,je]=ta.useState(null),[Y,rt]=ta.useState([]),[oe,ce]=ta.useState(false),[ae,te]=ta.useState(null),[ke,j]=ta.useState([]),[Ie,pt]=ta.useState(new Map),[Ge]=ta.useState(()=>new Date),[Se,qe]=ta.useState(null),[ot,Ye]=ta.useState(false),[dt,st]=ta.useState(null),[Me,be]=ta.useState(false);ta.useEffect(()=>{if(v==="depositProcessing"||v==="depositComplete")return;if(v!=="waitingForDeposit"){be(false);return}reactNative.AppState.currentState==="active"&&be(true);let L=reactNative.AppState.addEventListener("change",U=>{U==="active"&&be(true);});return ()=>L.remove()},[v]);let we=v==="waitingForDeposit"&&Me||v==="depositProcessing",ze=W||F||A?.chain_types[0]||o||"ethereum",ut=an(Y,ze),ht=ut?.address||"",xt=ut?.id??"",lr=`${ze}:${n||""}`;ta.useEffect(()=>(h.current=true,()=>{h.current=false;}),[]),ta.useEffect(()=>{Qe();},[t]),ta.useEffect(()=>{Se&&g?.(Se);},[Se]),ta.useEffect(()=>{p?.(ke);},[ke]);let[Ue,me]=ta.useState(false);ta.useEffect(()=>{!ot||!Se||(Ye(false),Se.status==="succeeded"?(I("depositComplete"),l?.({message:"Deposit completed successfully",executionId:Se.id,transaction:Se})):Se.status==="failed"||Se.status==="refunded"?(I("failed"),c?.({message:`Deposit ${Se.status}`,code:Se.status})):I("depositProcessing"));},[ot,Se]),ta.useEffect(()=>{v!=="depositProcessing"||!Se||(Se.status==="succeeded"?(I("depositComplete"),l?.({message:"Deposit completed successfully",executionId:Se.id,transaction:Se})):(Se.status==="failed"||Se.status==="refunded")&&(I("failed"),c?.({message:`Deposit ${Se.status}`,code:Se.status})));},[Se?.status]);let{showWaitingUi:Je}=si({depositConfirmationMode:"auto_ui",enabled:we,depositAddress:ht,chain:lr,externalUserId:e,publishableKey:t,modalOpenedAt:dt??Ge,depositWalletId:xt,depositExecutions:ke,trackedExecutions:Ie,setDepositExecutions:j,setTrackedExecutions:pt,setLatestExecution:qe,setShowStatusSheet:Ye,onExecutionsChange:p,onDepositError:c});async function Qe(){u(true),b(null);try{let L=await Yp(t);if(!h.current)return;let U=L.data.filter(fx),kt=U.map(Lu).filter(Boolean);if(kt.length>0&&await Hc(kt),!h.current)return;P(U);}catch(L){if(!h.current)return;b(L instanceof Error?L.message:"Failed to load wallets");}finally{h.current&&u(false);}}function Ve(L){O(L),N(null),te(null),L.chain_types.length>1?(B(null),I("selectNetwork")):Ne(L);}function he(L){B(L),A&&Ne(A,L);}async function Ne(L,U){if(w.current)return;w.current=true,ce(true),I("connecting");let kt=U||L.chain_types[0]||null;try{let Le=await Zo({external_user_id:e,destination_chain_type:o||"ethereum",destination_chain_id:n,destination_token_address:i,recipient_address:r},t);if(!h.current)return;rt(Le.data);let Fe=Le.data.map(Mt=>({chain_type:Mt.chain_type,address:Mt.address})),bt=kt?Fe.filter(Mt=>Mt.chain_type===kt):Fe,nt=bt.length>0,ee=nt?bt:Fe,vr=nt?kt:ee[0]?.chain_type??kt;N(vr??null);let ft=await Jp(L.id,ee,t);if(!h.current)return;if(je(ft),ce(!1),!ft.supported||!ft.deeplink&&!ft.pay_url){te(`${L.name} doesn't support in-app browser on this device`),I("failed");return}let tr=ft.deeplink||ft.pay_url;try{await reactNative.Linking.openURL(tr);}catch{if(!h.current)return;te(`Could not open ${L.name}. Make sure it is installed.`),I("failed");return}if(!h.current)return;st(new Date),I("waitingForDeposit");}catch(Le){if(!h.current)return;ce(false),te(Le instanceof Error?Le.message:"Failed to connect wallet"),I("failed");}}function vt(){if(!Z)return;let L=Z.deeplink||Z.pay_url;reactNative.Linking.openURL(L).catch(()=>{});}function Vt(){w.current=false,O(null),B(null),N(null),je(null),rt([]),st(null),te(null),ce(false),I("selectWallet");}function Ht(){return m?jsxRuntime.jsx(reactNative.View,{style:Dt.centeredContainer,children:jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:d.primary})}):T?jsxRuntime.jsxs(reactNative.View,{style:Dt.centeredContainer,children:[jsxRuntime.jsx(gs,{size:48,color:d.error,strokeWidth:1.5}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.errorTitle,{color:d.foreground,fontFamily:f.semibold}],children:"Failed to load wallets"}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.errorSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:T}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:Qe,style:[Dt.retryButton,{backgroundColor:d.primary}],activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Dt.retryButtonText,{color:d.primaryForeground??"#FFF",fontFamily:f.semibold}],children:"Retry"})})]}):x.length===0?jsxRuntime.jsxs(reactNative.View,{style:Dt.centeredContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Dt.errorTitle,{color:d.foreground,fontFamily:f.semibold}],children:"No wallets available"}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.errorSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:"No supported wallets found for this device."})]}):jsxRuntime.jsxs(reactNative.ScrollView,{style:Dt.walletList,contentContainerStyle:Dt.walletListContent,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsx(reactNative.Text,{style:[Dt.pickerSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Select a wallet to deposit from"}),x.map(L=>jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>Ve(L),activeOpacity:.7,disabled:oe,style:[Dt.walletRow,{backgroundColor:S.card.backgroundColor,borderRadius:S.card.borderRadius,borderWidth:S.card.borderWidth,borderColor:S.card.borderColor,opacity:oe?.5:1}],children:[jsxRuntime.jsx(hx,{uri:Lu(L),chainTypes:L.chain_types}),jsxRuntime.jsxs(reactNative.View,{style:Dt.walletTextContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Dt.walletName,{color:d.foreground,fontFamily:f.medium}],children:L.name}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.walletChains,{color:d.foregroundMuted,fontFamily:f.regular}],children:L.chain_types.map(U=>U.charAt(0).toUpperCase()+U.slice(1)).join(" \u2022 ")})]}),jsxRuntime.jsx(co,{size:16,color:d.foregroundMuted,strokeWidth:2})]},L.id))]})}function lt(){if(!A)return null;let L=Lu(A),U=Le=>Le==="n1"?"N1":Le==="xrpl"?"XRPL":Le.charAt(0).toUpperCase()+Le.slice(1),kt=A.chain_types.map(Le=>({id:Le,name:U(Le),Icon:Le==="ethereum"?Xa:rl}));return jsxRuntime.jsxs(reactNative.View,{style:Dt.networkPickerContainer,children:[jsxRuntime.jsxs(reactNative.View,{style:Dt.networkPickerHeader,children:[jsxRuntime.jsx(en,{uri:L,width:48,height:48,borderRadius:12}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.statusTitle,{color:d.foreground,fontFamily:f.semibold,marginTop:12}],children:"Select Network"}),jsxRuntime.jsxs(reactNative.Text,{style:[Dt.statusSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:["Choose which network to deposit from with ",A.name]})]}),jsxRuntime.jsx(reactNative.View,{style:Dt.networkList,children:kt.map(({id:Le,name:Fe,Icon:bt})=>jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>he(Le),activeOpacity:.7,disabled:oe,style:[Dt.networkRow,{backgroundColor:S.card.backgroundColor,borderRadius:S.card.borderRadius,borderWidth:S.card.borderWidth,borderColor:S.card.borderColor,opacity:oe?.5:1}],children:[jsxRuntime.jsx(reactNative.View,{style:Dt.networkIconContainer,children:jsxRuntime.jsx(bt,{size:32})}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.networkName,{color:d.foreground,fontFamily:f.medium}],children:Fe}),jsxRuntime.jsx(co,{size:16,color:d.foregroundMuted,strokeWidth:2})]},Le))})]})}function er(){return jsxRuntime.jsxs(reactNative.View,{style:Dt.centeredContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:d.primary}),jsxRuntime.jsxs(reactNative.Text,{style:[Dt.statusTitle,{color:d.foreground,fontFamily:f.semibold}],children:["Opening ",A?.name??"wallet","\u2026"]}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.statusSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Preparing your deposit session"})]})}function Xe(){let L=A?.name??"your wallet",U=A?Lu(A):null;return jsxRuntime.jsxs(reactNative.View,{style:Dt.centeredContainer,children:[U?jsxRuntime.jsx(Ct,{size:80,children:jsxRuntime.jsx(en,{uri:U,width:40,height:40,borderRadius:10})}):jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:d.primary}),jsxRuntime.jsxs(reactNative.Text,{style:[Dt.statusTitle,{color:d.foreground,fontFamily:f.semibold}],children:["Continue in ",L]}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.statusSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Complete the deposit in your wallet app. Return here when you're done."}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:vt,activeOpacity:.8,style:[Dt.primaryButton,{backgroundColor:d.primary,borderRadius:S.button.borderRadius,borderWidth:S.button.borderWidth,borderColor:S.button.borderColor}],children:[jsxRuntime.jsx(En,{size:16,color:d.primaryForeground??"#FFF",strokeWidth:2}),jsxRuntime.jsxs(reactNative.Text,{style:[Dt.primaryButtonText,{color:d.primaryForeground??"#FFF",fontFamily:f.semibold}],children:["Open ",L]})]}),jsxRuntime.jsx(reactNative.View,{style:{marginTop:24,minHeight:44},children:jsxRuntime.jsx(od,{showWaitingUi:Je,latestExecution:Se})})]})}function yt(L,U){let kt=parseFloat(L)/Math.pow(10,U);return kt===0?"0.00":kt>=1?kt.toFixed(2):parseFloat(kt.toPrecision(6)).toString()}function gt(L,U){let kt={1:"Ethereum",137:"Polygon",42161:"Arbitrum",10:"Optimism",8453:"Base",56:"BSC",mainnet:"Solana"};return L==="n1"?"N1":L==="cardano"?"Cardano":kt[U]??`${L.charAt(0).toUpperCase()+L.slice(1)} (${U})`}function De(L){if(!L)return "";let U=L.indexOf(".");return U!==-1?L.slice(0,U).toUpperCase()+L.slice(U):L.toUpperCase()}function at(L){return L.length<=12?L:`${L.slice(0,6)}...${L.slice(-4)}`}function X(L){if(!L)return "";try{return new Date(L).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}catch{return ""}}function Pe(L){let U=L.destination_amount_base_unit;return U?yt(U,L.destination_token_metadata?.decimals??6):"\u2014"}function _(L){let U=L.destination_token_metadata;return U?U.icon_urls?.length?ui(U.icon_urls,"png")??U.icon_url??null:U.icon_url??null:null}function C(){if(!Se)return null;let L=_(Se);return jsxRuntime.jsx(reactNative.View,{style:mt.centeredFull,children:jsxRuntime.jsxs(reactNative.View,{style:mt.centeredContent,children:[jsxRuntime.jsx(Ct,{size:84,strokeWidth:4,iconSize:48,children:L?jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(L)},style:mt.loaderIcon,resizeMode:"contain"}):jsxRuntime.jsx(reactNative.View,{style:[mt.loaderIcon,{backgroundColor:d.cardHover}]})}),jsxRuntime.jsx(reactNative.Text,{style:[mt.stateTitle,{color:d.foreground,fontFamily:f.semibold}],children:"Deposit Processing"}),jsxRuntime.jsx(reactNative.Text,{style:[mt.stateDescription,{color:d.foregroundMuted,fontFamily:f.regular}],children:"This usually takes less than a minute."})]})})}function M(){if(!Se)return C();let L=Se,U=["pending","waiting","delayed"].includes(L.status),kt=_(L),Le=X(L.created_at);return jsxRuntime.jsxs(reactNative.View,{style:mt.flex,children:[jsxRuntime.jsxs(reactNative.ScrollView,{style:mt.flex,contentContainerStyle:mt.scrollContent,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsxs(reactNative.View,{style:mt.tokenIconWrapper,children:[kt?jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(kt)},style:mt.tokenIcon,resizeMode:"contain"}):jsxRuntime.jsx(reactNative.View,{style:[mt.tokenIcon,{backgroundColor:d.cardHover}]}),jsxRuntime.jsx(reactNative.View,{style:[mt.statusBadge,{backgroundColor:U?d.warning:S.container.iconBackgroundColor}],children:U?jsxRuntime.jsx(reactNative.Text,{style:mt.statusBadgeText,children:"\u21BB"}):jsxRuntime.jsx(It,{size:14,color:S.container.iconColor,strokeWidth:3})})]}),jsxRuntime.jsxs(reactNative.View,{style:mt.statusRow,children:[jsxRuntime.jsx(reactNative.View,{style:[mt.statusDot,{backgroundColor:U?d.warning:d.success}]}),jsxRuntime.jsx(reactNative.Text,{style:[mt.statusText,{color:d.foreground,fontFamily:f.semibold}],children:U?"In Progress":"Completed"})]}),Le?jsxRuntime.jsx(reactNative.Text,{style:[mt.dateText,{color:d.foregroundMuted,fontFamily:f.regular}],children:Le}):null,jsxRuntime.jsxs(reactNative.View,{style:[mt.detailCard,{backgroundColor:d.card,borderColor:d.cardHover}],children:[L.source_amount_usd?jsxRuntime.jsxs(reactNative.View,{style:mt.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.detailLabel,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Amount Sent"}),jsxRuntime.jsxs(reactNative.Text,{style:[mt.detailValue,{color:d.foreground,fontFamily:f.medium}],children:["$",parseFloat(L.source_amount_usd).toFixed(2)," USD"]})]}):null,jsxRuntime.jsxs(reactNative.View,{style:mt.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.detailLabel,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Amount Received"}),jsxRuntime.jsxs(reactNative.Text,{style:[mt.detailValue,{color:d.foreground,fontFamily:f.medium}],children:[Pe(L)," ",De(L.destination_currency)]})]}),L.source_chain_id?jsxRuntime.jsxs(reactNative.View,{style:mt.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.detailLabel,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Source Network"}),jsxRuntime.jsx(reactNative.Text,{style:[mt.detailValue,{color:d.foreground,fontFamily:f.medium}],children:gt(L.source_chain_type??"",L.source_chain_id)})]}):null,L.destination_chain_id?jsxRuntime.jsxs(reactNative.View,{style:mt.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.detailLabel,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Destination Network"}),jsxRuntime.jsx(reactNative.Text,{style:[mt.detailValue,{color:d.foreground,fontFamily:f.medium}],children:gt(L.destination_chain_type??"",L.destination_chain_id)})]}):null]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:mt.seeMoreRow,onPress:()=>{reactNative.LayoutAnimation.configureNext(reactNative.LayoutAnimation.Presets.easeInEaseOut),me(Fe=>!Fe);},activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.seeMoreText,{color:d.foreground,fontFamily:f.medium}],children:Ue?"See less":"See more details"}),jsxRuntime.jsx(reactNative.Text,{style:[mt.seeMoreChevron,{color:d.foregroundMuted}],children:Ue?"\u25B2":"\u25BC"})]}),Ue&&jsxRuntime.jsxs(reactNative.View,{style:mt.txHashSection,children:[L.explorer_url?jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[mt.txRow,{backgroundColor:d.card,borderColor:d.cardHover}],onPress:()=>reactNative.Linking.openURL(L.explorer_url),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.txLabel,{color:d.foreground,fontFamily:f.medium}],children:"Deposit Tx"}),jsxRuntime.jsxs(reactNative.View,{style:mt.txRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.txHash,{color:d.foregroundMuted}],children:at(L.transaction_hash)}),jsxRuntime.jsx(reactNative.Text,{style:[mt.txArrow,{color:d.foregroundMuted}],children:"\u2197"})]})]}):null,!U&&L.destination_explorer_url&&L.destination_transaction_hashes?.[0]?jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[mt.txRow,{backgroundColor:d.card,borderColor:d.cardHover}],onPress:()=>reactNative.Linking.openURL(L.destination_explorer_url),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.txLabel,{color:d.foreground,fontFamily:f.medium}],children:"Completion Tx"}),jsxRuntime.jsxs(reactNative.View,{style:mt.txRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[mt.txHash,{color:d.foregroundMuted}],children:at(L.destination_transaction_hashes[0])}),jsxRuntime.jsx(reactNative.Text,{style:[mt.txArrow,{color:d.foregroundMuted}],children:"\u2197"})]})]}):null]})]}),jsxRuntime.jsx(reactNative.View,{style:mt.bottomButtonContainer,children:jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Dt.primaryButton,{backgroundColor:d.primary,borderRadius:S.button.borderRadius,borderWidth:S.button.borderWidth,borderColor:S.button.borderColor}],onPress:a,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Dt.primaryButtonText,{color:d.primaryForeground??"#FFF",fontFamily:f.medium}],children:"Done"})})})]})}function q(){return jsxRuntime.jsxs(reactNative.View,{style:Dt.centeredContainer,children:[jsxRuntime.jsx(gs,{size:48,color:d.error,strokeWidth:1.5}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.statusTitle,{color:d.foreground,fontFamily:f.semibold}],children:ae||"Connection failed"}),jsxRuntime.jsx(reactNative.Text,{style:[Dt.statusSubtitle,{color:d.foregroundMuted,fontFamily:f.regular}],children:"Please try again or use a different wallet."}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:Vt,activeOpacity:.8,style:[Dt.primaryButton,{backgroundColor:d.primary,borderRadius:S.button.borderRadius,borderWidth:S.button.borderWidth,borderColor:S.button.borderColor}],children:jsxRuntime.jsx(reactNative.Text,{style:[Dt.primaryButtonText,{color:d.primaryForeground??"#FFF",fontFamily:f.semibold}],children:"Try Again"})})]})}function J(){switch(v){case "selectWallet":return Ht();case "selectNetwork":return lt();case "connecting":return er();case "waitingForDeposit":return Xe();case "depositProcessing":return C();case "depositComplete":return M();case "failed":return q()}}let K=v==="selectWallet"||v==="selectNetwork"||v==="failed",_e=v==="selectNetwork"?A?.name??"Select Network":v==="depositProcessing"?"Deposit Processing":v==="depositComplete"?"Deposit Summary":"Connect Wallet";function et(){v==="selectNetwork"?(w.current=false,O(null),B(null),N(null),I("selectWallet")):s();}return jsxRuntime.jsxs(reactNative.View,{style:Dt.container,children:[jsxRuntime.jsx(fo,{title:_e,showBack:K,onBack:et,onClose:a}),J()]})}var Dt=reactNative.StyleSheet.create({container:{flex:1},centeredContainer:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:24,gap:12},walletList:{flex:1},walletListContent:{paddingHorizontal:16,paddingTop:8,paddingBottom:24,gap:8},pickerSubtitle:{fontSize:14,textAlign:"center",marginBottom:8},walletRow:{flexDirection:"row",alignItems:"center",paddingVertical:14,paddingHorizontal:14,gap:12},walletTextContainer:{flex:1},walletName:{fontSize:15,marginBottom:2},walletChains:{fontSize:12},statusTitle:{fontSize:18,textAlign:"center",marginTop:4},statusSubtitle:{fontSize:14,textAlign:"center",maxWidth:280,lineHeight:20},errorTitle:{fontSize:18,textAlign:"center",marginTop:16},errorSubtitle:{fontSize:14,textAlign:"center",maxWidth:280,lineHeight:20},primaryButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,paddingVertical:14,paddingHorizontal:24,alignSelf:"stretch",marginTop:8},primaryButtonText:{fontSize:16},retryButton:{paddingVertical:12,paddingHorizontal:24,borderRadius:8,marginTop:8},retryButtonText:{fontSize:14},networkPickerContainer:{flex:1,paddingHorizontal:16,paddingTop:16},networkPickerHeader:{alignItems:"center",marginBottom:24},networkList:{gap:8},networkRow:{flexDirection:"row",alignItems:"center",paddingVertical:14,paddingHorizontal:14,gap:12},networkIconContainer:{width:40,height:40,alignItems:"center",justifyContent:"center"},networkName:{flex:1,fontSize:16}}),mt=reactNative.StyleSheet.create({flex:{flex:1},centeredFull:{flex:1,justifyContent:"space-between"},centeredContent:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:32,gap:16},stateTitle:{fontSize:20,textAlign:"center"},stateDescription:{fontSize:14,textAlign:"center",lineHeight:20},loaderIcon:{width:48,height:48,borderRadius:24},scrollContent:{paddingHorizontal:20,paddingBottom:16,alignItems:"center"},tokenIconWrapper:{position:"relative",marginTop:24,marginBottom:8,alignSelf:"center"},tokenIcon:{width:72,height:72,borderRadius:36},statusBadge:{position:"absolute",right:-4,bottom:-4,width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},statusBadgeText:{color:"#fff",fontSize:12,fontWeight:"bold"},statusRow:{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4},statusDot:{width:8,height:8,borderRadius:4},statusText:{fontSize:16},dateText:{fontSize:13,marginBottom:28},detailCard:{width:"100%",borderRadius:12,borderWidth:1,padding:16,gap:32,marginBottom:8},detailRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},detailLabel:{fontSize:14},detailValue:{fontSize:14},seeMoreRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",paddingVertical:8},seeMoreText:{fontSize:14},seeMoreChevron:{fontSize:12},txHashSection:{width:"100%",gap:8},txRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingVertical:14,borderRadius:12,borderWidth:1},txLabel:{fontSize:14},txRight:{flexDirection:"row",alignItems:"center",gap:6},txHash:{fontSize:13,fontFamily:reactNative.Platform.OS==="ios"?"Menlo":"monospace"},txArrow:{fontSize:14},bottomButtonContainer:{paddingHorizontal:16,paddingBottom:16,gap:8}});var Zi=7,Ji=4,El=4;function Tx(e,t,r){return e<Zi&&t<Zi||e<Zi&&t>=r-Zi||e>=r-Zi&&t<Zi}function js({value:e,size:t=180,logoUri:r,logoSize:o=40,logoBackgroundColor:n,badgeUri:i,badgeSize:s=20}){let{isDark:a}=z(),l=a?"#1a1a1a":"#ffffff",c=a?"#ffffff":"#000000",p=n||l,g=ta.useMemo(()=>{try{return Sx__default.default(e||"placeholder","H")}catch{return null}},[e]),k=g?g.length:0,d=k?(t-Ji*2)/k:0,f=d*.38,S=o+12,h=S/2+4,w=t/2,v=t/2,I=k?[{x:Ji,y:Ji},{x:Ji+(k-Zi)*d,y:Ji},{x:Ji,y:Ji+(k-Zi)*d}]:[],x=Zi*d,P=5*d,m=d,u=3*d,T=2*d;return jsxRuntime.jsxs(reactNative.View,{style:[dm.container,{width:t,height:t}],children:[jsxRuntime.jsxs(Ir__default.default,{width:t,height:t,children:[jsxRuntime.jsx(Ir.Rect,{x:0,y:0,width:t,height:t,fill:l}),g?.map((b,A)=>b.map((O,F)=>{if(!O||Tx(A,F,k))return null;let B=Ji+F*d+d/2,W=Ji+A*d+d/2;if(r){let N=B-w,Z=W-v;if(Math.sqrt(N*N+Z*Z)<h)return null}return jsxRuntime.jsx(Ir.Circle,{cx:B,cy:W,r:f,fill:c},`${A}-${F}`)})),I.map((b,A)=>jsxRuntime.jsxs(ta__namespace.default.Fragment,{children:[jsxRuntime.jsx(Ir.Rect,{x:b.x,y:b.y,width:x,height:x,rx:El,ry:El,fill:c}),jsxRuntime.jsx(Ir.Rect,{x:b.x+m,y:b.y+m,width:P,height:P,rx:El-1,ry:El-1,fill:l}),jsxRuntime.jsx(Ir.Rect,{x:b.x+T,y:b.y+T,width:u,height:u,rx:El-1.5,ry:El-1.5,fill:c})]},`finder-${A}`))]}),r&&jsxRuntime.jsxs(reactNative.View,{style:[dm.logoContainer,{width:S,height:S,top:v-S/2,left:w-S/2,backgroundColor:p,borderRadius:S/2}],children:[jsxRuntime.jsx(en,{uri:r,width:o,height:o,borderRadius:o/2}),i&&jsxRuntime.jsx(reactNative.View,{style:[dm.badgeContainer,{width:s+4,height:s+4,borderRadius:(s+4)/2,backgroundColor:p}],children:jsxRuntime.jsx(en,{uri:i,width:s,height:s,borderRadius:s/2})})]})]})}var dm=reactNative.StyleSheet.create({container:{alignItems:"center",justifyContent:"center",position:"relative"},logoContainer:{position:"absolute",alignItems:"center",justifyContent:"center"},badgeContainer:{position:"absolute",bottom:-2,right:-2,alignItems:"center",justifyContent:"center"}});var Rx=e=>e.length<=16?e:`${e.slice(0,8)}...${e.slice(-6)}`,Ml=(e,t)=>`${t}:${e}`,Ix=e=>{let[t,r]=e.split(":");return {chainType:t,chainId:r}};function Nu({externalUserId:e,publishableKey:t,recipientAddress:r,destinationChainType:o,destinationChainId:n,destinationTokenAddress:i,destinationTokenSymbol:s,defaultChainType:a,defaultChainId:l,defaultTokenAddress:c,depositConfirmationMode:p="auto_ui",onExecutionsChange:g,onDepositSuccess:k,onDepositError:d,onLatestExecution:f,onShowStatusSheet:S,onSelectedTokenIconUrl:h,borderTopLeftRadius:w,borderTopRightRadius:v,sheetBorderRadius:I}){let{colors:x,fonts:P,components:m}=z(),u=a&&l?`${a}:${l}`:"solana:mainnet",[T,b]=ta.useState("USDC"),[A,O]=ta.useState(u),[F,B]=ta.useState([]),[W,N]=ta.useState(true),[Z,je]=ta.useState([]),[Y,rt]=ta.useState(true),[oe,ce]=ta.useState(false),[ae,te]=ta.useState(false),[ke,j]=ta.useState(false),[Ie,pt]=ta.useState(false),[Ge,Se]=ta.useState([]),[qe,ot]=ta.useState(new Map),[Ye]=ta.useState(()=>new Date),[dt,st]=ta.useState(null),[Me,be]=ta.useState(false),[we,ze]=ta.useState(null),[ut,ht]=ta.useState(false);ta.useEffect(()=>{we&&f?.(we);},[we]),ta.useEffect(()=>{Me&&(S?.(true),be(false));},[Me]);let xt=new Map;Z.forEach(_=>{_.chains.forEach(C=>{let M=`${C.chain_type}:${C.chain_id}`;xt.has(M)||xt.set(M,C);});});let lr=Array.from(xt.values()),Ue=Ix(A),Je=lr.find(_=>_.chain_type===Ue.chainType&&_.chain_id===Ue.chainId)?.chain_type||"ethereum",Qe=an(F,Je),Ve=Qe?.address||"",he=ta.useRef(false);ta.useEffect(()=>{async function _(){try{rt(!0),st(null);let M=await Wi(t,i&&n&&o?{destination_token_address:i,destination_chain_id:n,destination_chain_type:o}:void 0);if(je(M.data),M.data.length>0&&!he.current){he.current=!0;let q,J;if(a&&l)if(c)for(let K of M.data){let _e=K.chains.find(et=>et.chain_type===a&&et.chain_id===l&&et.token_address.toLowerCase()===c.toLowerCase());if(_e){q=K,J=_e;break}}else {let K=et=>et.chain_type===a&&et.chain_id===l,_e=M.data.find(et=>et.symbol==="USDC"&&et.chains.some(K));if(_e)q=_e,J=_e.chains.find(K);else for(let et of M.data){let L=et.chains.find(K);if(L){q=et,J=L;break}}}if(!q&&i)for(let K of M.data){let _e=K.chains.find(et=>et.token_address.toLowerCase()===i.toLowerCase());if(_e){q=K,J=_e;break}}q||(q=M.data.find(K=>K.symbol==="USDC"),q&&q.chains.length>0&&(J=q.chains[0])),q||(q=M.data.find(K=>K.symbol==="USDT"),q&&q.chains.length>0&&(J=q.chains[0])),q||(q=M.data[0],q.chains.length>0&&(J=q.chains[0])),q&&b(q.symbol),J&&O(Ml(J.chain_id,J.chain_type));}}catch(C){console.error("Error fetching supported tokens:",C),st("Failed to load supported tokens"),d?.({message:"Failed to load supported tokens",error:C});}finally{rt(false);}}_();},[t,d,a,l,c,i,n,o]),ta.useEffect(()=>{async function _(){try{N(!0),st(null);let C=await Zo({external_user_id:e,recipient_address:r,destination_chain_type:o,destination_chain_id:n,destination_token_address:i},t);B(C.data);}catch(C){console.error("Error fetching wallets:",C),st("Failed to load wallets"),d?.({message:"Failed to load wallets",error:C});}finally{N(false);}}_();},[e,r,o,n,i,t,d]);let Ne=Qe?.id??"",{showWaitingUi:vt,handleIveDeposited:Vt}=si({depositConfirmationMode:p,depositAddress:Ve,chain:A,externalUserId:e,publishableKey:t,modalOpenedAt:Ye,depositWalletId:Ne,depositExecutions:Ge,trackedExecutions:qe,setDepositExecutions:Se,setTrackedExecutions:ot,setLatestExecution:ze,setShowStatusSheet:be,onDepositSuccess:k,onExecutionsChange:g,onDepositError:d});ta.useEffect(()=>{if(!Z.length)return;let _=Z.find(M=>M.symbol===T);if(!_||_.chains.length===0){let M=Z.find(q=>q.symbol==="USDC")||Z[0];M&&(b(M.symbol),M.chains.length>0&&O(Ml(M.chains[0].chain_id,M.chains[0].chain_type)));return}if(!_.chains.some(M=>Ml(M.chain_id,M.chain_type)===A)){let M=_.chains[0];O(Ml(M.chain_id,M.chain_type));}},[T,Z,A]);let Ht=Z.find(_=>_.symbol===T),lt=it(Ht,"png")||void 0;ta.useEffect(()=>{h?.(lt);},[lt]);let er=Ht?.chains||[],Xe=er.find(_=>Ml(_.chain_id,_.chain_type)===A),yt=async()=>{if(Ve)try{reactNative.Clipboard.setString(Ve),ce(!0),setTimeout(()=>ce(!1),2e3);}catch(_){console.error("Failed to copy:",_);}},gt=Xe?.estimated_price_impact_percent??0,De=Xe?.max_slippage_percent??.25,at=Xe?.minimum_deposit_amount_usd??3;if(Y)return jsxRuntime.jsxs(reactNative.View,{style:re.loadingContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:x.primary}),jsxRuntime.jsx(reactNative.Text,{style:[re.loadingText,{color:x.foregroundMuted,fontFamily:P.regular}],children:"Loading currencies..."})]});if(dt&&Z.length===0)return jsxRuntime.jsxs(reactNative.View,{style:re.errorContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[re.errorText,{color:x.error,fontFamily:P.regular}],children:dt}),jsxRuntime.jsx(reactNative.Text,{style:[re.errorHint,{color:x.foregroundMuted,fontFamily:P.regular}],children:"Please check your network connection and try again."})]});let X=()=>jsxRuntime.jsxs(rr,{visible:ke,onClose:()=>j(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:I?.tokenSelector?.borderTopLeftRadius??w,borderTopRightRadius:I?.tokenSelector?.borderTopRightRadius??v,children:[jsxRuntime.jsxs(reactNative.View,{style:[re.sheetHeader,{borderBottomColor:x.border}],children:[jsxRuntime.jsx(reactNative.View,{style:re.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[re.sheetTitle,{color:m.header.titleColor,fontFamily:P.medium}],children:"Select Token"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>j(false),style:re.sheetCloseButton,children:jsxRuntime.jsx($t,{size:20,color:m.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(Yt,{style:re.sheetList,contentContainerStyle:re.sheetListContent,showsVerticalScrollIndicator:false,children:Z.map(_=>jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{b(_.symbol),j(false);},activeOpacity:.7,style:[re.sheetItem,{backgroundColor:T===_.symbol?m.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(_,"png"))},style:re.sheetItemIcon}),jsxRuntime.jsxs(reactNative.View,{style:re.sheetItemText,children:[jsxRuntime.jsx(reactNative.Text,{style:[re.sheetItemTitle,{color:m.card.titleColor,fontFamily:P.medium}],children:_.symbol}),jsxRuntime.jsxs(reactNative.Text,{style:[re.sheetItemSubtitle,{color:m.card.subtitleColor,fontFamily:P.regular}],children:[_.chains.length," network",_.chains.length!==1?"s":""," available"]})]}),T===_.symbol&&jsxRuntime.jsx(It,{size:20,color:x.primary,strokeWidth:2})]},_.symbol))})]}),Pe=()=>jsxRuntime.jsxs(rr,{visible:Ie,onClose:()=>pt(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:I?.chainSelector?.borderTopLeftRadius??w,borderTopRightRadius:I?.chainSelector?.borderTopRightRadius??v,children:[jsxRuntime.jsxs(reactNative.View,{style:[re.sheetHeader,{borderBottomColor:x.border}],children:[jsxRuntime.jsx(reactNative.View,{style:re.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[re.sheetTitle,{color:m.header.titleColor,fontFamily:P.medium}],children:"Select Network"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>pt(false),style:re.sheetCloseButton,children:jsxRuntime.jsx($t,{size:20,color:m.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(Yt,{style:re.sheetList,contentContainerStyle:re.sheetListContent,showsVerticalScrollIndicator:false,children:er.map(_=>{let C=Ml(_.chain_id,_.chain_type),M=A===C;return jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{O(C),pt(false);},activeOpacity:.7,style:[re.sheetItem,{backgroundColor:M?m.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(_,"png"))},style:re.sheetItemIcon}),jsxRuntime.jsxs(reactNative.View,{style:re.sheetItemText,children:[jsxRuntime.jsx(reactNative.Text,{style:[re.sheetItemTitle,{color:m.card.titleColor,fontFamily:P.medium}],children:_.chain_name}),jsxRuntime.jsxs(reactNative.Text,{style:[re.sheetItemSubtitle,{fontFamily:P.regular}],children:[jsxRuntime.jsx(reactNative.Text,{style:{color:m.card.subtitleColor},children:"Minimum deposit: "}),jsxRuntime.jsxs(reactNative.Text,{style:{color:x.warning},children:["$",_.minimum_deposit_amount_usd]})]})]}),M&&jsxRuntime.jsx(It,{size:20,color:x.primary,strokeWidth:2})]},C)})})]});return jsxRuntime.jsxs(reactNative.View,{style:re.container,children:[jsxRuntime.jsxs(reactNative.View,{style:re.selectorSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[re.selectorLabel,{color:m.card.labelColor,fontFamily:P.regular}],children:"Token"}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>j(true),style:[re.selector,{backgroundColor:m.card.backgroundColor,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth,borderColor:m.card.borderColor}],children:[Ht&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Ht,"png"))},style:re.selectorIcon}),jsxRuntime.jsx(reactNative.Text,{style:[re.selectorText,{color:m.card.titleColor,fontFamily:P.medium}],children:T}),jsxRuntime.jsx(Ar,{size:16,color:m.card.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsxs(reactNative.View,{style:re.selectorSection,children:[jsxRuntime.jsxs(reactNative.Text,{style:[re.selectorLabel,{color:m.card.labelColor,fontFamily:P.regular}],children:["Network"," ",jsxRuntime.jsxs(reactNative.Text,{style:[re.minDeposit,{color:x.warning,fontFamily:P.regular}],children:["($",at," minimum)"]})]}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>pt(true),style:[re.selector,{backgroundColor:m.card.backgroundColor,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth,borderColor:m.card.borderColor}],children:[Xe&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Xe,"png"))},style:re.selectorIcon}),jsxRuntime.jsx(reactNative.Text,{style:[re.selectorText,{color:m.card.titleColor,fontFamily:P.medium}],numberOfLines:1,children:Xe?.chain_name||"Select network"}),jsxRuntime.jsx(Ar,{size:16,color:m.card.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsx(reactNative.Text,{style:[re.intentAddressLabel,{color:x.foregroundMuted,fontFamily:P.medium}],children:"Intent address"}),jsxRuntime.jsx(reactNative.View,{style:re.qrContainer,children:jsxRuntime.jsx(reactNative.View,{style:[re.qrWrapper,{backgroundColor:x.background,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth>0?m.card.borderWidth:1,borderColor:m.card.borderColor}],children:W?jsxRuntime.jsxs(reactNative.View,{style:re.qrLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:x.primary}),jsxRuntime.jsx(reactNative.Text,{style:[re.loadingText,{color:x.foregroundMuted,fontFamily:P.regular}],children:"Loading..."})]}):Ve?jsxRuntime.jsx(js,{value:Ve,size:160,logoUri:ye(it(Xe,"png")||kr("/icons/networks/png/ethereum.png")),logoSize:40}):jsxRuntime.jsx(reactNative.View,{style:re.qrLoading,children:jsxRuntime.jsx(reactNative.Text,{style:[re.errorText,{color:x.error,fontFamily:P.regular}],children:"No address available"})})})}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:yt,disabled:W||!Ve,style:re.addressRow,activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[re.addressTruncated,{color:x.foregroundMuted,fontFamily:P.regular}],numberOfLines:1,children:W?"Loading...":Ve?Rx(Ve):"No address"}),oe?jsxRuntime.jsx(It,{size:16,color:x.success,strokeWidth:2}):jsxRuntime.jsx(Gn,{size:16,color:x.foregroundMuted,strokeWidth:1.5})]}),jsxRuntime.jsx(od,{showWaitingUi:vt,latestExecution:we}),jsxRuntime.jsxs(reactNative.View,{style:[re.detailsCard,{backgroundColor:m.card.backgroundColor,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth,borderColor:m.card.borderColor}],children:[jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>te(!ae),style:re.detailsHeader,children:[jsxRuntime.jsxs(reactNative.View,{style:re.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[re.detailIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx($o,{size:12,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[re.detailsLabel,{color:m.card.titleColor,fontFamily:P.regular}],children:"Processing time: < 1 min"})]}),jsxRuntime.jsx(reactNative.View,{style:re.chevronContainer,children:ae?jsxRuntime.jsx(di,{size:16,color:m.card.actionColor,strokeWidth:2}):jsxRuntime.jsx(Ar,{size:16,color:m.card.actionColor,strokeWidth:2})})]}),ae&&jsxRuntime.jsxs(reactNative.View,{style:re.detailsContent,children:[jsxRuntime.jsxs(reactNative.View,{style:re.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[re.detailIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Yn,{size:12,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[re.detailsLabel,{color:m.card.titleColor,fontFamily:P.regular}],children:["Price impact: ",gt.toFixed(2),"%"]}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx(Jn,{size:14,color:m.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:re.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[re.detailIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jo,{size:12,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[re.detailsLabel,{color:m.card.titleColor,fontFamily:P.regular}],children:["Slippage: Auto \u2022 ",De.toFixed(2),"%"]}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx(Jn,{size:14,color:m.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:re.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[re.detailIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Ga,{size:12,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[re.detailsLabel,{color:m.card.titleColor,fontFamily:P.regular}],children:["Need help?"," ",jsxRuntime.jsx(reactNative.Text,{style:{textDecorationLine:"underline"},children:"Contact support"})]})]}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>reactNative.Linking.openURL("https://unifold.io/terms"),style:re.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[re.detailIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jn,{size:12,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[re.detailsLabel,{color:x.primary,fontFamily:P.regular,textDecorationLine:"underline"}],children:"Terms apply"})]})]})]}),jsxRuntime.jsx(im,{depositConfirmationMode:p,depositAddress:Ve,showWaitingUi:vt,onIveDeposited:Vt}),X(),Pe(),jsxRuntime.jsxs(rr,{visible:ut,onClose:()=>ht(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.55,maxHeightPercent:.9,borderTopLeftRadius:I?.infoSheet?.borderTopLeftRadius??w,borderTopRightRadius:I?.infoSheet?.borderTopRightRadius??v,children:[jsxRuntime.jsxs(reactNative.View,{style:[re.sheetHeader,{borderBottomColor:x.border}],children:[jsxRuntime.jsx(reactNative.View,{style:re.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[re.sheetTitle,{color:m.header.titleColor,fontFamily:P.medium}],children:"Price Impact & Slippage"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(false),style:re.sheetCloseButton,children:jsxRuntime.jsx($t,{size:20,color:m.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:re.infoSheetContent,children:[jsxRuntime.jsxs(reactNative.View,{style:[re.infoCard,{backgroundColor:m.card.backgroundColor,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth,borderColor:m.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:re.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[re.infoCardIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Yn,{size:16,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[re.infoCardTitle,{color:m.card.titleColor,fontFamily:P.medium}],children:"Price Impact"}),jsxRuntime.jsxs(reactNative.Text,{style:[re.infoCardValue,{color:m.card.titleColor,fontFamily:P.medium}],children:[gt.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[re.infoCardDescription,{color:m.card.descriptionColor,fontFamily:P.regular}],children:"Price impact is the difference between the current market price and the price you'll receive for your swap. This occurs due to liquidity pool mechanics and trade size."})]}),jsxRuntime.jsxs(reactNative.View,{style:[re.infoCard,{backgroundColor:m.card.backgroundColor,borderRadius:m.card.borderRadius,borderWidth:m.card.borderWidth,borderColor:m.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:re.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[re.infoCardIcon,{backgroundColor:m.card.iconBackgroundColor,borderRadius:m.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jo,{size:16,color:m.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[re.infoCardTitle,{color:m.card.titleColor,fontFamily:P.medium}],children:"Max Slippage"}),jsxRuntime.jsxs(reactNative.Text,{style:[re.infoCardValue,{color:m.card.titleColor,fontFamily:P.medium}],children:[De.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[re.infoCardDescription,{color:m.card.descriptionColor,fontFamily:P.regular}],children:"Max slippage is the maximum price difference you're willing to accept between when you submit a transaction and when it executes. Your transaction will revert if the price moves beyond this threshold."})]})]})]})]})}var re=reactNative.StyleSheet.create({container:{flex:1,padding:16},loadingContainer:{padding:40,alignItems:"center",gap:12},loadingText:{fontSize:14},errorContainer:{padding:40,alignItems:"center",gap:8},errorText:{fontSize:14,textAlign:"center"},errorHint:{fontSize:12,textAlign:"center"},selectorSection:{marginBottom:12},selectorLabel:{fontSize:13,marginBottom:8},minDeposit:{fontSize:10},selector:{flexDirection:"row",alignItems:"center",gap:10,padding:12,borderRadius:12},selectorIcon:{width:24,height:24,borderRadius:12},selectorText:{flex:1,fontSize:14,fontWeight:"500"},qrContainer:{alignItems:"center",marginVertical:16},qrWrapper:{padding:16},qrLoading:{width:160,height:160,alignItems:"center",justifyContent:"center"},intentAddressLabel:{fontSize:14,textAlign:"center",marginTop:8},addressRow:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,paddingVertical:8,marginBottom:16},addressTruncated:{fontSize:14},detailsCard:{borderRadius:8,padding:4,marginBottom:16},detailsHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:8,paddingLeft:8,paddingRight:8},detailsContent:{paddingRight:12,paddingLeft:8,paddingBottom:12,gap:10},detailsRow:{flexDirection:"row",alignItems:"center",gap:8},detailIcon:{width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},detailsLabel:{fontSize:13},chevronContainer:{},spacer:{flex:1},sheetHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:16},sheetHeaderSpacer:{width:28},sheetTitle:{fontSize:16,fontWeight:"500",flex:1,textAlign:"center"},sheetCloseButton:{width:28,height:28,alignItems:"center",justifyContent:"center"},sheetList:{flex:1,paddingTop:8},sheetListContent:{paddingBottom:56},sheetItem:{flexDirection:"row",alignItems:"center",paddingVertical:12,paddingHorizontal:16,marginHorizontal:8,borderRadius:12,gap:12},sheetItemIcon:{width:40,height:40,borderRadius:20},sheetItemText:{flex:1},sheetItemTitle:{fontSize:16,fontWeight:"500"},sheetItemSubtitle:{fontSize:12,marginTop:2},infoSheetContent:{paddingHorizontal:16,paddingBottom:32,gap:16},infoCard:{borderRadius:12,padding:16,gap:12},infoCardHeader:{flexDirection:"row",alignItems:"center",gap:10},infoCardIcon:{width:32,height:32,borderRadius:16,alignItems:"center",justifyContent:"center"},infoCardTitle:{fontSize:15,fontWeight:"600",flex:1},infoCardValue:{fontSize:15,fontWeight:"600"},infoCardDescription:{fontSize:13,lineHeight:20}});function Hu({currency:e,isSelected:t,onSelect:r}){let{colors:o,fonts:n,components:i}=z();return jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>r(e.currency_code),activeOpacity:.7,style:[Ia.container,{backgroundColor:i.card.backgroundColor,borderRadius:i.list.rowBorderRadius,borderWidth:i.card.borderWidth,borderColor:i.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:Ia.leftContent,children:[jsxRuntime.jsx(reactNative.View,{style:[Ia.iconContainer,{backgroundColor:o.background}],children:jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(e,"png"))},style:Ia.icon})}),jsxRuntime.jsxs(reactNative.View,{style:Ia.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ia.name,{color:i.card.titleColor,fontFamily:n.medium}],children:e.name}),jsxRuntime.jsx(reactNative.Text,{style:[Ia.code,{color:i.card.subtitleColor,fontFamily:n.regular}],children:e.currency_code.toUpperCase()})]})]}),t&&jsxRuntime.jsx(It,{size:16,color:o.primary,strokeWidth:2})]})}var Ia=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:12,marginHorizontal:8,marginVertical:4},leftContent:{flexDirection:"row",alignItems:"center",gap:12},iconContainer:{width:40,height:40,borderRadius:20,overflow:"hidden",alignItems:"center",justifyContent:"center"},icon:{width:40,height:40,borderRadius:20},textContainer:{gap:2},name:{fontSize:14,fontWeight:"400"},code:{fontSize:12,fontWeight:"300"}});function id({title:e,currencies:t,selectedCurrency:r,onSelect:o}){let{fonts:n,components:i}=z();return t.length===0?null:jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsx(reactNative.View,{style:db.headerContainer,children:jsxRuntime.jsx(reactNative.Text,{style:[db.title,{color:i.list.titleSectionColor,fontFamily:n.medium}],children:e})}),t.map(s=>jsxRuntime.jsx(Hu,{currency:s,isSelected:r.toLowerCase()===s.currency_code.toLowerCase(),onSelect:o},s.currency_code))]})}var db=reactNative.StyleSheet.create({headerContainer:{paddingHorizontal:12,paddingBottom:8,paddingTop:4},title:{fontSize:14,fontWeight:"500"}});function ju({open:e,onOpenChange:t,currencies:r,preferredCurrencyCodes:o,selectedCurrency:n,onSelectCurrency:i,borderTopLeftRadius:s,borderTopRightRadius:a}){let{colors:l,fonts:c,components:p}=z(),[g,k]=ta.useState(""),d=o.map(x=>r.find(P=>P.currency_code.toLowerCase()===x.toLowerCase())).filter(x=>x!==void 0),f=r.filter(x=>!o.includes(x.currency_code.toLowerCase())),S=x=>{if(!g)return x;let P=g.toLowerCase();return x.filter(m=>m.name.toLowerCase().includes(P)||m.currency_code.toLowerCase().includes(P))},h=S(d),w=S(f),v=x=>{i(x),t(false),k("");},I=()=>{t(false),k("");};return jsxRuntime.jsxs(rr,{visible:e,onClose:I,closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:s,borderTopRightRadius:a,children:[jsxRuntime.jsx(fo,{title:"Currency",showBack:false,onClose:I}),jsxRuntime.jsx(reactNative.View,{style:Pa.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[Pa.searchInput,{backgroundColor:p.search.backgroundColor,color:p.search.inputColor,fontFamily:c.regular,borderRadius:p.input.borderRadius,borderWidth:p.input.borderWidth,borderColor:p.input.borderColor}],value:g,onChangeText:k,placeholder:"Search",placeholderTextColor:p.search.placeholderColor})}),jsxRuntime.jsx(Yt,{style:Pa.listContainer,showsVerticalScrollIndicator:false,keyboardShouldPersistTaps:"handled",children:jsxRuntime.jsxs(reactNative.View,{style:Pa.listContent,children:[jsxRuntime.jsx(id,{title:"Popular currencies",currencies:h,selectedCurrency:n,onSelect:v}),h.length>0&&w.length>0&&jsxRuntime.jsx(reactNative.View,{style:Pa.sectionSpacer}),jsxRuntime.jsx(id,{title:"All currencies",currencies:w,selectedCurrency:n,onSelect:v}),h.length===0&&w.length===0&&jsxRuntime.jsx(reactNative.View,{style:Pa.noResultsContainer,children:jsxRuntime.jsx(reactNative.Text,{style:[Pa.noResultsText,{color:p.container.subtitleColor,fontFamily:c.regular}],children:"No currencies found"})})]})})]})}var Pa=reactNative.StyleSheet.create({searchContainer:{marginTop:8,paddingHorizontal:18,paddingBottom:12},searchInput:{padding:16,fontSize:14},listContainer:{flex:1,paddingHorizontal:12},listContent:{paddingBottom:72},sectionSpacer:{height:8},noResultsContainer:{paddingVertical:32,alignItems:"center"},noResultsText:{fontSize:14}});function hm(e){try{return new Intl.NumberFormat("en",{style:"currency",currency:e.toUpperCase(),minimumFractionDigits:0,maximumFractionDigits:0}).format(0).replace(/\d/g,"").trim()}catch{return e.toUpperCase()}}function Ku({externalUserId:e,publishableKey:t,view:r,onViewChange:o,destinationTokenSymbol:n,recipientAddress:i,destinationChainType:s,destinationChainId:a,destinationTokenAddress:l,onDepositSuccess:c,onDepositError:p,onExecutionsChange:g,onLatestExecution:k,onShowStatusSheet:d,onSelectedTokenIconUrl:f,borderTopLeftRadius:S,borderTopRightRadius:h,sheetBorderRadius:w}){let{colors:v,fonts:I,components:x}=z(),[P,m]=ta.useState(""),[u,T]=ta.useState("usd"),[b,A]=ta.useState(false),[O,F]=ta.useState(false),[B,W]=ta.useState([]),[N,Z]=ta.useState(false),[je,Y]=ta.useState(null),[rt,oe]=ta.useState(null),[ce,ae]=ta.useState("amount"),[te,ke]=ta.useState(null),[j,Ie]=ta.useState(true),[pt,Ge]=ta.useState(null),[Se,qe]=ta.useState(false),ot=ta.useRef(null),Ye=ta.useRef(false);ta.useEffect(()=>{ot.current=te;},[te]),ta.useEffect(()=>{Ye.current=Se;},[Se]);let[dt,st]=ta.useState([]),[Me,be]=ta.useState(true),[we,ze]=ta.useState(60),[ut,ht]=ta.useState([]),[xt,lr]=ta.useState([]),[Ue,me]=ta.useState(null),[Je,Qe]=ta.useState(null),[Ve,he]=ta.useState(true),[Ne,vt]=ta.useState(null),[Vt,Ht]=ta.useState(false),[lt,er]=ta.useState(null),[Xe,yt]=ta.useState(false),[gt,De]=ta.useState(false),[at,X]=ta.useState(false),[Pe,_]=ta.useState(null),C=r??ce,M=ta.useRef(null),q=ut.find(ne=>ne.currency_code.toLowerCase()===u.toLowerCase()),J=ta.useCallback(ne=>{ae(ne),ne==="quotes"?o?.(ne,B.length):o?.(ne);},[B.length,o]);ta.useEffect(()=>{async function ne(){try{let ue=await aa();Qe(ue);}catch(ue){console.error("Error fetching user IP:",ue);}finally{he(false);}}ne();},[]),ta.useEffect(()=>{async function ne(){try{let ue=await Zo({external_user_id:e,recipient_address:i,destination_chain_type:s,destination_chain_id:a,destination_token_address:l},t);st(ue.data);}catch(ue){console.error("Error fetching wallets:",ue),Y("Failed to load wallet addresses");}finally{be(false);}}ne();},[e,i,s,a,l,t]);let K=n||Ue?.symbol.toUpperCase()||"USDC",_e=ui(Ue?.icon_urls,"png")||Ue?.icon_url,et=ui(Ue?.chain_icon_urls,"png")||Ue?.chain_icon_url,[L,U]=ta.useState([]),[kt,Le]=ta.useState(new Map),[Fe]=ta.useState(()=>new Date),[bt,nt]=ta.useState(null),[ee,vr]=ta.useState(false),[ft,tr]=ta.useState(null);ta.useEffect(()=>{C==="onramp"&&!ft&&tr(new Date);},[C,ft]);let Mt=Ne?.destination_token_metadata?.chain_type||s||"ethereum",qr=Ne?.destination_token_metadata?.chain_id||a||"",Mr=`${Mt}:${qr}`,li=an(dt,Mt),on=li?.address||"",yo=li?.id??"";ta.useEffect(()=>{bt&&k?.(bt);},[bt]),ta.useEffect(()=>{ee&&(d?.(true),vr(false));},[ee]),ta.useEffect(()=>{f?.(_e||void 0);},[_e]),ta.useEffect(()=>{g?.(L);},[L]),si({depositConfirmationMode:"auto_silent",enabled:C==="onramp",depositAddress:on,chain:Mr,externalUserId:e,publishableKey:t,modalOpenedAt:ft??Fe,depositWalletId:yo,depositExecutions:L,trackedExecutions:kt,setDepositExecutions:U,setTrackedExecutions:Le,setLatestExecution:nt,setShowStatusSheet:vr,onDepositSuccess:c,onExecutionsChange:g,onDepositError:p}),ta.useEffect(()=>{async function ne(){try{let ue=await bc(t);ht(ue.data),lr(ue.preferred||[]);}catch(ue){console.error("Error fetching fiat currencies:",ue);}}ne();},[t]),ta.useEffect(()=>{if(b||ut.length===0||!Je?.alpha2)return;let ne=Je.alpha2.toUpperCase(),ue=ut.find(zt=>zt.country_codes.includes(ne));if(ue)T(ue.currency_code.toLowerCase()),!P&&!O&&m(String(ue.default_amount??100));else if(!P&&!O){let zt=ut.find(ur=>ur.currency_code.toLowerCase()==="usd");zt&&m(String(zt.default_amount??100));}},[ut,Je,b,P,O]),ta.useEffect(()=>{if(ut.length!==0){if(M.current!==null&&M.current!==u){let ne=ut.find(ue=>ue.currency_code.toLowerCase()===u.toLowerCase());ne&&m(String(ne.default_amount??100));}M.current=u;}},[u,ut]),ta.useEffect(()=>{async function ne(){try{let ue=await Np({chain_type:s||"",chain_id:a||"",token_address:l||""},t);me(ue);}catch(ue){console.error("Error fetching supported tokens:",ue);}}ne();},[s,a,l,t]),ta.useEffect(()=>{async function ne(){if(!(!l||!a||!s)&&!Ve){Ht(true);try{let ue=await yc({country_code:Je?.alpha2?.toUpperCase()||"US",subdivision_code:Je?.state||void 0,token_address:l,chain_id:a,chain_type:s},t);vt(ue);}catch(ue){console.error("Error fetching default onramp token:",ue);}finally{Ht(false);}}}ne();},[l,a,s,Je,Ve,t]),ta.useEffect(()=>{let ne=parseFloat(P);if(isNaN(ne)||ne<=0){W([]),oe(null);return}if(!Ne||Vt){W([]),ke(null);return}let ue=ut.find(ur=>ur.currency_code.toLowerCase()===u.toLowerCase());if(ue){if(ne<ue.minimum_amount){W([]),ke(null),oe(`Minimum amount is ${hm(u)}${ue.minimum_amount.toLocaleString()}`);return}if(ne>ue.maximum_amount){W([]),ke(null),oe(`Maximum amount is ${hm(u)}${ue.maximum_amount.toLocaleString()}`);return}}oe(null);let zt=setTimeout(()=>{Bo(ne);},500);return ()=>clearTimeout(zt)},[P,u,t,Ne,Vt,ut]);let Bo=async ne=>{if(!Ne){Y("Loading token information...");return}Z(true),Y(null);try{let ue={country_code:Je?.alpha2?.toUpperCase()||"US",source_amount:ne.toString(),source_currency:u.toLowerCase(),destination_currency:Ne.destination_currency,destination_network:Ne.destination_network,subdivision_code:Je?.state||void 0},zt=await Hp(ue,t);W(zt.data);let ur=Ye.current,Go=ot.current;if(ur&&Go){let sn=zt.data.find(D=>D.service_provider===Go.service_provider);if(sn){if(ke(sn),zt.data.length>0){let D=zt.data[0];pt||Ge(D.service_provider),Ie(sn.service_provider===pt);}}else if(zt.data.length>0){let D=zt.data[0];ke(D),Ge(D.service_provider),Ie(!0),qe(!1);}}else if(zt.data.length>0){let sn=zt.data[0];ke(sn),Ge(sn.service_provider),Ie(!0);}ze(60);}catch(ue){console.error("Failed to fetch quotes:",ue),Y("Failed to fetch quotes. Please try again."),W([]);}finally{Z(false);}};ta.useEffect(()=>{if(B.length===0)return;let ne=setInterval(()=>{ze(ue=>{if(ue<=1){let zt=parseFloat(P);return !isNaN(zt)&&zt>0&&Bo(zt),60}return ue-1});},1e3);return ()=>clearInterval(ne)},[B.length,P]);let nn=ne=>{(/^\d*\.?\d{0,2}$/.test(ne)||ne==="")&&(m(ne),F(true));},ko=ne=>{m(ne.toString()),F(true);},na=async()=>{if(te&&Ne)try{let ne=Ne.destination_token_metadata.chain_type,ue=an(dt,ne);if(!ue?.address){Y("Wallet address not available");return}let zt={service_provider:te.service_provider,country_code:te.country_code?.toUpperCase()||Je?.alpha2?.toUpperCase()||"US",source_currency:te.source_currency,source_amount:P,destination_currency:te.destination_currency,destination_network:te.destination_network,wallet_address:ue.address,subdivision_code:Je?.state||void 0},ur=await $p(zt,t);er({provider:te,sourceCurrency:u,sourceAmount:P,sessionUrl:ur.url}),_(ur.url),X(!0);}catch(ne){console.error("Failed to create session:",ne),Y("Failed to start payment flow"),p?.({message:"Failed to start payment flow",error:ne});}},bo=hm(u),Lt=()=>{X(false),J("onramp"),c?.({message:"Payment flow completed"});},Qr=()=>jsxRuntime.jsx(Nx,{visible:at,onClose:Lt,url:Pe,providerName:te?.service_provider_display_name||"Complete Payment",colors:v,fonts:I,borderTopLeftRadius:w?.webView?.borderTopLeftRadius??S,borderTopRightRadius:w?.webView?.borderTopRightRadius??h});return C==="amount"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.View,{style:xe.amountViewContainer,children:[jsxRuntime.jsxs(Yt,{style:xe.scrollContainer,contentContainerStyle:xe.scrollContent,showsVerticalScrollIndicator:false,keyboardShouldPersistTaps:"handled",bounces:false,children:[jsxRuntime.jsx(reactNative.View,{style:xe.currencySelector,children:jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>yt(true),style:[xe.currencyButton,{backgroundColor:x.card.backgroundColor,borderRadius:x.input.borderRadius,borderWidth:x.input.borderWidth,borderColor:x.input.borderColor}],children:[q&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(q,"png"))},style:xe.currencyIcon}),jsxRuntime.jsx(reactNative.Text,{style:[xe.currencyText,{color:x.card.titleColor,fontFamily:I.medium}],children:u.toUpperCase()}),jsxRuntime.jsx(Ar,{size:16,color:x.card.actionColor,strokeWidth:2})]})}),jsxRuntime.jsx(ju,{open:Xe,onOpenChange:yt,currencies:ut,preferredCurrencyCodes:xt,selectedCurrency:u,onSelectCurrency:ne=>{T(ne.toLowerCase()),A(true);},borderTopLeftRadius:w?.currencyModal?.borderTopLeftRadius??S,borderTopRightRadius:w?.currencyModal?.borderTopRightRadius??h}),jsxRuntime.jsx(reactNative.View,{style:xe.amountContainer,children:jsxRuntime.jsxs(reactNative.View,{style:xe.amountInputRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[xe.currencySymbol,{color:x.container.titleColor,fontFamily:I.medium}],children:bo}),jsxRuntime.jsx(reactNative.TextInput,{style:[xe.amountInput,{color:x.container.titleColor,fontFamily:I.medium}],value:P,onChangeText:nn,keyboardType:"decimal-pad",placeholder:"0",placeholderTextColor:v.foregroundMuted})]})}),q?.suggested_amounts&&q.suggested_amounts.length>0&&jsxRuntime.jsx(reactNative.View,{style:xe.quickAmounts,children:q.suggested_amounts.map(ne=>jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ko(ne),style:[xe.quickAmountButton,{backgroundColor:x.card.backgroundColor,borderRadius:x.button.borderRadius,borderWidth:parseFloat(P)===ne?2:x.button.borderWidth,borderColor:parseFloat(P)===ne?v.primary:x.button.borderColor}],children:jsxRuntime.jsxs(reactNative.Text,{style:[xe.quickAmountText,{color:x.card.titleColor,fontFamily:I.medium}],children:[bo,ne.toLocaleString()]})},ne))}),rt&&jsxRuntime.jsx(reactNative.Text,{style:[xe.validationError,{color:v.error,fontFamily:I.regular}],children:rt}),jsxRuntime.jsxs(reactNative.View,{style:xe.providerSection,children:[jsxRuntime.jsxs(reactNative.View,{style:xe.providerHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:[xe.providerLabel,{color:x.card.labelColor,fontFamily:I.medium}],children:"Provider"}),B.length>0&&!N&&jsxRuntime.jsxs(reactNative.Text,{style:[xe.refreshText,{color:x.card.labelRightColor,fontFamily:I.regular}],children:["Refreshing in ",we,"s"]})]}),jsxRuntime.jsx(jr,{cardTokens:x.depositCard.quoteProvider.card,onPress:N||B.length===0?void 0:()=>De(true),contentStyle:reactNative.StyleSheet.flatten([xe.providerButton,(N||B.length===0)&&xe.disabled]),children:N?jsxRuntime.jsxs(reactNative.View,{style:xe.providerLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:v.primary}),jsxRuntime.jsx(reactNative.Text,{style:[xe.loadingText,{color:x.container.subtitleColor,fontFamily:I.regular}],children:"Finding best rates..."})]}):te?jsxRuntime.jsxs(reactNative.View,{style:xe.providerContent,children:[jsxRuntime.jsxs(reactNative.View,{style:xe.providerInfo,children:[j&&jsxRuntime.jsx(reactNative.Text,{style:[xe.autoPickedText,{color:x.container.subtitleColor,fontFamily:I.regular}],children:"Auto-picked for you"}),jsxRuntime.jsxs(reactNative.View,{style:xe.providerRow,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(Ld(te.icon_urls,"png",te.icon_url))},style:xe.providerIconImage},`provider-${te.service_provider}`),jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsx(reactNative.Text,{style:[xe.providerName,{color:x.card.titleColor,fontFamily:I.medium}],children:te.service_provider_display_name}),jsxRuntime.jsxs(reactNative.Text,{style:[xe.bestPriceText,{color:x.container.subtitleColor,fontFamily:I.regular}],children:[te.destination_amount.toFixed(2)," ",K]})]})]})]}),jsxRuntime.jsx(co,{size:20,color:x.card.actionColor,strokeWidth:2})]}):jsxRuntime.jsx(reactNative.Text,{style:[xe.noProviderText,{color:x.container.subtitleColor,fontFamily:I.regular}],children:parseFloat(P)>0?"No providers available":"Enter an amount to see providers"})}),je&&jsxRuntime.jsx(reactNative.Text,{style:[xe.errorText,{color:v.error,fontFamily:I.regular}],children:je})]}),jsxRuntime.jsxs(rr,{visible:gt,onClose:()=>De(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:w?.providerModal?.borderTopLeftRadius??S,borderTopRightRadius:w?.providerModal?.borderTopRightRadius??h,children:[jsxRuntime.jsx(fo,{title:"Select Provider",showBack:false,onClose:()=>De(false)}),jsxRuntime.jsx(Yt,{style:xe.providerModalList,contentContainerStyle:xe.providerModalListContent,showsVerticalScrollIndicator:false,children:jsxRuntime.jsx(reactNative.View,{style:xe.quotesList,children:B.map(ne=>{let ue=te?.service_provider===ne.service_provider;return jsxRuntime.jsxs(jr,{cardTokens:x.depositCard.quoteProvider.card,onPress:()=>{ke(ne),qe(true),Ie(ne.service_provider===pt),De(false);},contentStyle:reactNative.StyleSheet.flatten([xe.quoteItem,ue&&{borderWidth:2,borderColor:v.primary}]),children:[jsxRuntime.jsxs(reactNative.View,{style:xe.quoteLeft,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(Ld(ne.icon_urls,"png",ne.icon_url))},style:xe.providerIconImage}),jsxRuntime.jsx(reactNative.View,{children:jsxRuntime.jsx(reactNative.Text,{style:[xe.quoteName,{color:x.card.titleColor,fontFamily:I.medium}],children:ne.service_provider_display_name})})]}),jsxRuntime.jsxs(reactNative.View,{style:xe.quoteRight,children:[jsxRuntime.jsxs(reactNative.Text,{style:[xe.quoteAmount,{color:x.card.textRightColor,fontFamily:I.medium}],children:[ne.destination_amount.toFixed(2)," ",K]}),jsxRuntime.jsxs(reactNative.Text,{style:[xe.quoteSource,{color:x.card.subtextRightColor,fontFamily:I.regular}],children:["Fee: ",bo,ne.total_fee.toFixed(2)]})]})]},ne.service_provider)})})})]})]}),jsxRuntime.jsx(reactNative.View,{style:[xe.continueButtonContainer,{backgroundColor:v.background}],children:jsxRuntime.jsx(reactNative.View,{style:{opacity:N||Me||!te||parseFloat(P)<=0?.5:1},children:jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:na,disabled:N||Me||!te||parseFloat(P)<=0,style:[xe.continueButton,{backgroundColor:x.container.buttonColor,borderRadius:x.button.borderRadius,borderWidth:x.button.borderWidth,borderColor:x.button.borderColor}],children:jsxRuntime.jsx(reactNative.Text,{style:[xe.continueButtonText,{color:x.container.buttonTitleColor,fontFamily:I.medium}],children:Me?"Loading...":"Continue"})})})})]}),Qr()]}):C==="onramp"&<?jsxRuntime.jsxs(reactNative.View,{style:xe.onrampContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(Ld(lt.provider.icon_urls,"png",lt.provider.icon_url))},style:xe.onrampProviderIcon}),jsxRuntime.jsxs(reactNative.Text,{style:[xe.onrampTitle,{color:x.container.titleColor,fontFamily:I.medium}],children:["Complete transaction with ",lt.provider.service_provider_display_name]}),jsxRuntime.jsx(reactNative.Text,{style:[xe.onrampSubtitle,{color:x.container.subtitleColor,fontFamily:I.regular}],children:"You can close this modal."}),jsxRuntime.jsxs(reactNative.View,{style:[xe.flowDiagram,{backgroundColor:x.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:xe.flowStep,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:kr(`/icons/currencies/png/${lt.sourceCurrency.toLowerCase()}.png`)},style:xe.flowIconImage}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowLabel,{color:x.card.subtitleColor,fontFamily:I.regular}],children:"You use"}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowValue,{color:x.card.titleColor,fontFamily:I.medium}],children:lt.sourceCurrency.toUpperCase()})]}),jsxRuntime.jsx(co,{size:16,color:x.card.actionColor,strokeWidth:2}),jsxRuntime.jsxs(reactNative.View,{style:xe.flowStep,children:[jsxRuntime.jsxs(reactNative.View,{style:xe.flowIconWithBadge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ui(Ne?.destination_token_metadata?.icon_urls,"png")||Ne?.destination_token_metadata?.icon_url||kr("/icons/tokens/png/usdc.png")},style:xe.flowIconImageNoBadge}),jsxRuntime.jsx(reactNative.Image,{source:{uri:ui(Ne?.destination_token_metadata?.chain?.icon_urls,"png")||Ne?.destination_token_metadata?.chain?.icon_url||kr("/icons/networks/png/polygon.png")},style:[xe.flowNetworkBadge,{borderColor:v.background,borderRadius:x.badge.borderRadius}]})]}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowLabel,{color:x.card.subtitleColor,fontFamily:I.regular}],children:"You buy"}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowValue,{color:x.card.titleColor,fontFamily:I.medium}],children:"USDC"})]}),jsxRuntime.jsx(co,{size:16,color:x.card.actionColor,strokeWidth:2}),jsxRuntime.jsxs(reactNative.View,{style:xe.flowStep,children:[jsxRuntime.jsxs(reactNative.View,{style:xe.flowIconWithBadge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:_e||kr("/icons/tokens/png/usdc.png")},style:xe.flowIconImageNoBadge}),jsxRuntime.jsx(reactNative.Image,{source:{uri:et||kr("/icons/networks/png/polygon.png")},style:[xe.flowNetworkBadge,{borderColor:v.background,borderRadius:x.badge.borderRadius}]})]}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowLabel,{color:x.card.subtitleColor,fontFamily:I.regular}],children:"You receive"}),jsxRuntime.jsx(reactNative.Text,{style:[xe.flowValue,{color:x.card.titleColor,fontFamily:I.medium}],children:K})]})]}),jsxRuntime.jsx(reactNative.View,{style:[xe.onrampInfoBox,{backgroundColor:x.card.backgroundColor,borderRadius:x.card.borderRadius,borderWidth:x.card.borderWidth,borderColor:x.card.borderColor}],children:jsxRuntime.jsx(reactNative.Text,{style:[xe.onrampInfoText,{color:x.card.descriptionColor,fontFamily:I.regular}],children:"The wallet address displayed in the payment provider is a temporary deposit address. Your funds will be automatically converted and deposited into your account."})})]}):null}function Nx({visible:e,onClose:t,url:r,providerName:o,colors:n,fonts:i,borderTopLeftRadius:s,borderTopRightRadius:a}){return jsxRuntime.jsxs(rr,{visible:e,onClose:t,closeOnBackdropPress:false,enablePanDownToClose:false,showHandle:false,heightPercent:.92,noPadding:true,borderTopLeftRadius:s,borderTopRightRadius:a,children:[jsxRuntime.jsxs(reactNative.View,{style:Fa.header,children:[jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:t,style:Fa.headerButton,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(It,{size:20,color:n.foregroundMuted,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[Fa.headerTitle,{color:n.foreground,fontFamily:i.medium}],children:o}),jsxRuntime.jsx(reactNative.View,{style:Fa.headerSpacer})]}),r&&jsxRuntime.jsx(reactNative.View,{style:Fa.container,children:jsxRuntime.jsx(reactNativeWebview.WebView,{source:{uri:r},style:Fa.webView,startInLoadingState:true,renderLoading:()=>jsxRuntime.jsx(reactNative.View,{style:Fa.loading,children:jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:n.primary})})})})]})}var Fa=reactNative.StyleSheet.create({header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingTop:16,paddingBottom:8},headerButton:{width:28,height:28,alignItems:"center",justifyContent:"center"},headerTitle:{fontSize:16,fontWeight:"500",flex:1,textAlign:"center"},headerSpacer:{width:28,height:28},container:{flex:1},webView:{flex:1},loading:{position:"absolute",top:0,left:0,right:0,bottom:0,alignItems:"center",justifyContent:"center"}}),xe=reactNative.StyleSheet.create({amountViewContainer:{flex:1},scrollContainer:{flex:1},scrollContent:{padding:16,paddingBottom:16},currencySelector:{alignItems:"center",marginBottom:16},currencyButton:{flexDirection:"row",alignItems:"center",gap:6,paddingHorizontal:12,paddingVertical:8},currencyText:{fontSize:14,fontWeight:"500"},currencyIcon:{width:24,height:24,borderRadius:12},amountContainer:{alignItems:"center",marginBottom:24},amountInputRow:{flexDirection:"row",alignItems:"center",marginBottom:8},currencySymbol:{fontSize:48,fontWeight:"300"},amountInput:{fontSize:48,fontWeight:"300",minWidth:50},usdcPreview:{fontSize:14},quickAmounts:{flexDirection:"row",justifyContent:"center",gap:12,marginBottom:24},quickAmountButton:{paddingHorizontal:20,paddingVertical:10},quickAmountText:{fontSize:14,fontWeight:"500"},validationError:{fontSize:12,textAlign:"center",marginTop:12,paddingHorizontal:16},providerSection:{marginBottom:24},providerHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8},providerLabel:{fontSize:12,fontWeight:"500"},refreshText:{fontSize:10},providerButton:{padding:16},disabled:{opacity:.5},providerLoading:{flexDirection:"row",alignItems:"center",gap:12},loadingText:{fontSize:14},providerContent:{flexDirection:"row",justifyContent:"space-between",alignItems:"center"},providerInfo:{flex:1},autoPickedText:{fontSize:12,marginBottom:6},providerRow:{flexDirection:"row",alignItems:"center",gap:12},providerIcon:{width:32,height:32,borderRadius:16},providerIconPlaceholder:{width:32,height:32,borderRadius:8},providerIconImage:{width:32,height:32,borderRadius:8},providerName:{fontSize:14,fontWeight:"500"},bestPriceText:{fontSize:11,marginTop:2},noProviderText:{fontSize:14,textAlign:"center"},errorText:{fontSize:12,marginTop:8},continueButtonContainer:{padding:16,paddingBottom:48},continueButton:{paddingVertical:16,alignItems:"center"},continueButtonText:{fontSize:16,fontWeight:"600"},webViewHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingTop:16,paddingBottom:8},webViewHeaderButton:{width:28,height:28,alignItems:"center",justifyContent:"center"},webViewHeaderTitle:{fontSize:16,fontWeight:"500",flex:1,textAlign:"center"},webViewHeaderSpacer:{width:28,height:28},webViewContainer:{flex:1},webView:{flex:1},webViewLoading:{position:"absolute",top:0,left:0,right:0,bottom:0,alignItems:"center",justifyContent:"center"},providerModalList:{flex:1,paddingHorizontal:12,marginTop:8},providerModalListContent:{paddingBottom:72},quotesList:{gap:8,paddingBottom:24,minHeight:468},quoteItem:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:12},quoteLeft:{flexDirection:"row",alignItems:"center",gap:12},quoteIcon:{width:40,height:40,borderRadius:20},quoteName:{fontSize:14,fontWeight:"500"},quoteRight:{alignItems:"flex-end"},quoteAmount:{fontSize:14,fontWeight:"500"},quoteSource:{fontSize:12},onrampContainer:{flex:1,padding:16,alignItems:"center",paddingTop:24},onrampProviderIcon:{width:64,height:64,borderRadius:16},onrampTitle:{fontSize:18,fontWeight:"600",textAlign:"center",marginTop:20,marginBottom:8,paddingHorizontal:16},onrampSubtitle:{fontSize:14,textAlign:"center",marginBottom:24},flowDiagram:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:20,paddingHorizontal:24,borderRadius:12,width:"100%"},flowIconWithBadge:{position:"relative",width:24,height:24,marginBottom:4},flowIconImageNoBadge:{width:24,height:24,borderRadius:12},flowNetworkBadge:{position:"absolute",bottom:-4,right:-6,width:14,height:14,borderWidth:2},onrampInfoBox:{marginTop:16,padding:16,width:"100%"},onrampInfoText:{fontSize:13,lineHeight:20},flowStep:{alignItems:"center"},flowIcon:{width:28,height:28,borderRadius:14,marginBottom:4},flowIconImage:{width:24,height:24,borderRadius:12,marginBottom:4},flowLabel:{fontSize:10},flowValue:{fontSize:14,fontWeight:"500"}});function qx(e){try{let t=new Date(e);return t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})+" at "+t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}catch{return e}}function Qx(e){return e?`$${parseFloat(e).toFixed(2)}`:"$0.00"}function Ju({execution:e,onPress:t}){let {colors:r,fonts:o,components:n}=z(),i=n.depositTracker.executionRow.card,s=e.status==="pending"||e.status==="waiting"||e.status==="delayed";e.status==="succeeded";let l=ye(it(e.destination_token_metadata,"png")||kr("/icons/tokens/png/usdc.png")),c=s?"Deposit Processing":"Deposit Completed",p=qx(e.created_at||new Date().toISOString()),g=Qx(e.source_amount_usd);return jsxRuntime.jsxs(jr,{cardTokens:i,onPress:t,contentStyle:ts.container,children:[jsxRuntime.jsxs(reactNative.View,{style:ts.iconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:l},style:ts.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[ts.statusBadge,{backgroundColor:s?r.warning:r.success,borderColor:i.backgroundColor}],children:s?jsxRuntime.jsx(Ya,{size:12,color:"#FFFFFF",strokeWidth:2.5}):jsxRuntime.jsx(It,{size:12,color:"#FFFFFF",strokeWidth:3})})]}),jsxRuntime.jsxs(reactNative.View,{style:ts.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ts.title,{color:i.titleColor,fontFamily:o.medium}],children:c}),jsxRuntime.jsx(reactNative.Text,{style:[ts.dateTime,{color:i.subtitleColor,fontFamily:o.regular}],children:p})]}),jsxRuntime.jsxs(reactNative.View,{style:ts.rightContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ts.amount,{color:i.textRightColor,fontFamily:o.medium}],children:g}),jsxRuntime.jsx(co,{size:20,color:i.actionColor,strokeWidth:2})]})]})}var ts=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingVertical:12},iconContainer:{position:"relative",marginRight:12},tokenIcon:{width:40,height:40,borderRadius:20},statusBadge:{position:"absolute",bottom:-4,right:-4,width:22,height:22,borderRadius:11,alignItems:"center",justifyContent:"center",borderWidth:2},textContainer:{flex:1,gap:2},title:{fontSize:16,fontWeight:"500"},dateTime:{fontSize:13},rightContainer:{flexDirection:"row",alignItems:"center",gap:8},amount:{fontSize:16,fontWeight:"500"}});function mb(e,t){let r={solana:"Solana",ethereum:"Ethereum",bitcoin:"Bitcoin",n1:"N1",cardano:"Cardano",algorand:"Algorand",xrpl:"XRPL"};return e==="ethereum"?{1:"Ethereum",137:"Polygon",8453:"Base",42161:"Arbitrum",10:"Optimism"}[t]||r[e]||e:r[e]||e}function hb(e,t=6){if(!e)return "\u2014";try{let r=Number(e)/Math.pow(10,t);return r===0?"0.00":r>=1?r.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}):r.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:8,minimumSignificantDigits:2,maximumSignificantDigits:6})}catch{return "0.00"}}function Gx(e){return e?`$${parseFloat(e).toFixed(2)}`:"$0.00"}var gb=e=>!e||e.length<12?e:`${e.slice(0,12)}...${e.slice(-4)}`;function yb(e){if(!e)return "";let t=e.indexOf(".");return t===-1?e.toUpperCase():e.slice(0,t).toUpperCase()+e.slice(t)}function Yx(e){try{let t=new Date(e);return t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})+" at "+t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}catch{return e}}function Jx({count:e=4}){let{colors:t,components:r}=z(),o=ta.useRef(new reactNative.Animated.Value(.5)).current,n=r.depositTracker.executionRow.card,i=t.cardHover;return ta.useEffect(()=>{let s=reactNative.Animated.loop(reactNative.Animated.sequence([reactNative.Animated.timing(o,{toValue:1,duration:800,useNativeDriver:true}),reactNative.Animated.timing(o,{toValue:.5,duration:800,useNativeDriver:true})]));return s.start(),()=>s.stop()},[o]),jsxRuntime.jsx(reactNative.View,{style:Da.list,children:Array.from({length:e}).map((s,a)=>jsxRuntime.jsxs(reactNative.View,{style:[Da.row,{backgroundColor:n.backgroundColor,borderRadius:n.borderRadius??12,borderWidth:n.borderWidth,borderColor:n.borderColor}],children:[jsxRuntime.jsx(reactNative.Animated.View,{style:[Da.icon,{backgroundColor:i,opacity:o}]}),jsxRuntime.jsxs(reactNative.View,{style:Da.textBlock,children:[jsxRuntime.jsx(reactNative.Animated.View,{style:[Da.titleBar,{backgroundColor:i,opacity:o}]}),jsxRuntime.jsx(reactNative.Animated.View,{style:[Da.subtitleBar,{backgroundColor:i,opacity:o}]})]}),jsxRuntime.jsx(reactNative.Animated.View,{style:[Da.amountBar,{backgroundColor:i,opacity:o}]})]},a))})}var Da=reactNative.StyleSheet.create({list:{paddingTop:16,paddingHorizontal:16,gap:12},row:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingVertical:12},icon:{width:40,height:40,borderRadius:20,marginRight:12},textBlock:{flex:1,gap:6},titleBar:{height:14,width:"65%",borderRadius:7},subtitleBar:{height:11,width:"45%",borderRadius:5.5},amountBar:{height:14,width:50,borderRadius:7,marginLeft:12}});function bm({active:e,onClose:t,executions:r,externalUserId:o,publishableKey:n}){let{colors:i,fonts:s,components:a}=z(),[l,c]=ta.useState(r),[p,g]=ta.useState(false),[k,d]=ta.useState(null),[f,S]=ta.useState(false),h=ta.useRef(null);ta.useEffect(()=>{if(!e||!o)return;let u=async()=>{g(true);try{let A=[...(await ln(o,n,"deposit")).data].sort((O,F)=>{let B=O.created_at?new Date(O.created_at).getTime():0;return (F.created_at?new Date(F.created_at).getTime():0)-B});c(A);}catch(b){console.error("Failed to fetch executions:",b),c(r);}finally{g(false);}};u();let T=setInterval(u,1e4);return ()=>clearInterval(T)},[e,o,n,r]),ta.useEffect(()=>{r.length>0&&c(u=>{let T=new Set(u.map(A=>A.id)),b=r.filter(A=>!T.has(A.id));return b.length>0?[...b,...u]:u});},[r]),ta.useEffect(()=>{e||d(null);},[e]);let w=u=>{d(u);},v=()=>{d(null),S(false);},I=()=>{d(null),t();},x=()=>{if(!k)return null;let u=k,T=u.status==="pending"||u.status==="waiting"||u.status==="delayed",b=u.status==="succeeded",A=ye(it(u.destination_token_metadata,"png")||kr("/icons/tokens/png/usdc.png")),O=u.provider_metadata?.details,F=O?.currencyIn,B=O?.currencyOut;F?.currency?.symbol||"USDC";B?.currency?.symbol||"USDC";let Z=hb(u.source_amount_base_unit,u.source_token_metadata?.decimals),je=hb(u.destination_amount_base_unit,u.destination_token_metadata?.decimals),Y=Gx(u.source_amount_usd),rt=mb(u.source_chain_type,u.source_chain_id),oe=mb(u.destination_chain_type,u.destination_chain_id),ce=()=>{u.explorer_url&&reactNative.Linking.openURL(u.explorer_url);},ae=()=>{u.destination_explorer_url&&reactNative.Linking.openURL(u.destination_explorer_url);};return jsxRuntime.jsxs(Yt,{ref:h,style:ct.scrollContainer,contentContainerStyle:ct.detailsContent,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsxs(reactNative.View,{style:ct.iconSection,children:[jsxRuntime.jsxs(reactNative.View,{style:ct.iconWrapper,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:A},style:ct.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[ct.statusBadge,{backgroundColor:T?i.warning:i.success,borderColor:i.background}],children:T?jsxRuntime.jsx(Ar,{size:14,color:"#FFFFFF",strokeWidth:2}):jsxRuntime.jsx(It,{size:14,color:"#FFFFFF",strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:ct.statusRow,children:[jsxRuntime.jsx(reactNative.View,{style:[ct.statusDot,{backgroundColor:T?i.warning:i.success}]}),jsxRuntime.jsx(reactNative.Text,{style:[ct.statusText,{color:a.container.titleColor,fontFamily:s.semibold}],children:T?"Processing":"Completed"})]}),jsxRuntime.jsx(reactNative.Text,{style:[ct.dateText,{color:a.container.subtitleColor,fontFamily:s.regular}],children:Yx(u.created_at||new Date().toISOString())})]}),jsxRuntime.jsxs(reactNative.View,{style:[ct.card,{backgroundColor:a.card.backgroundColor,borderRadius:a.card.borderRadius,borderWidth:a.card.borderWidth,borderColor:a.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Amount Sent"}),jsxRuntime.jsxs(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:[Z," ",yb(u.source_currency)]})]}),jsxRuntime.jsx(reactNative.View,{style:[ct.cardDivider,{backgroundColor:i.border}]}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Amount Received"}),jsxRuntime.jsxs(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:[je," ",yb(u.destination_currency)]})]}),jsxRuntime.jsx(reactNative.View,{style:[ct.cardDivider,{backgroundColor:i.border}]}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"USD Value"}),jsxRuntime.jsx(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:Y})]}),jsxRuntime.jsx(reactNative.View,{style:[ct.cardDivider,{backgroundColor:i.border}]}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Source Network"}),jsxRuntime.jsx(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:rt})]}),jsxRuntime.jsx(reactNative.View,{style:[ct.cardDivider,{backgroundColor:i.border}]}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Destination Network"}),jsxRuntime.jsx(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:oe})]})]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>{let te=!f;S(te),te?setTimeout(()=>{h.current?.scrollToEnd({animated:true});},100):h.current?.scrollTo({y:0,animated:true});},style:ct.toggleButton,activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.toggleText,{color:a.container.actionTitle,fontFamily:s.regular}],children:f?"See less":"See more details"}),f?jsxRuntime.jsx(di,{size:14,color:a.container.actionColor,strokeWidth:2}):jsxRuntime.jsx(Ar,{size:14,color:a.container.actionColor,strokeWidth:2})]}),f&&jsxRuntime.jsxs(reactNative.View,{style:[ct.card,{backgroundColor:a.card.backgroundColor,borderRadius:a.card.borderRadius,borderWidth:a.card.borderWidth,borderColor:a.card.borderColor}],children:[u.explorer_url&&jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:ce,style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Deposit Tx"}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRowRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:gb(u.transaction_hash)}),jsxRuntime.jsx(En,{size:14,color:a.card.actionIcon,strokeWidth:2})]})]}),jsxRuntime.jsx(reactNative.View,{style:[ct.cardDivider,{backgroundColor:i.border}]})]}),u.destination_explorer_url&&b&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:ae,style:ct.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardLabel,{color:a.card.rowLeftLabel,fontFamily:s.regular}],children:"Completion Tx"}),jsxRuntime.jsxs(reactNative.View,{style:ct.cardRowRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.cardValue,{color:a.card.rowRightLabel,fontFamily:s.medium}],children:gb(u.destination_transaction_hashes[0])}),jsxRuntime.jsx(En,{size:14,color:a.card.actionIcon,strokeWidth:2})]})]})]})]})},P=p&&l.length===0;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fo,{title:k?"Deposit Details":"Deposit Tracker",onClose:I,showClose:!k,showBack:!!k,onBack:v}),k?x():P?jsxRuntime.jsx(Jx,{}):jsxRuntime.jsx(Yt,{style:ct.scrollContainer,contentContainerStyle:ct.scrollContent,showsVerticalScrollIndicator:false,children:l.length===0?jsxRuntime.jsxs(reactNative.View,{style:ct.emptyContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ct.emptyText,{color:a.container.titleColor,fontFamily:s.medium}],children:"No deposits yet"}),jsxRuntime.jsx(reactNative.Text,{style:[ct.emptySubtext,{color:a.container.subtitleColor,fontFamily:s.regular}],children:"Your deposit history will appear here"})]}):jsxRuntime.jsx(reactNative.View,{style:ct.executionsList,children:l.map(u=>jsxRuntime.jsx(Ju,{execution:u,onPress:()=>w(u)},u.id))})})]})}var ct=reactNative.StyleSheet.create({scrollContainer:{flex:1,paddingTop:16},scrollContent:{paddingHorizontal:16,paddingBottom:40},emptyContainer:{paddingVertical:40,paddingHorizontal:16,alignItems:"center"},emptyText:{fontSize:14,marginBottom:4},emptySubtext:{fontSize:12},executionsList:{paddingTop:8,gap:12},detailsContent:{paddingHorizontal:16,paddingBottom:32},iconSection:{alignItems:"center",marginBottom:24},iconWrapper:{position:"relative",marginBottom:12},tokenIcon:{width:72,height:72,borderRadius:36},statusBadge:{position:"absolute",bottom:0,right:0,width:28,height:28,borderRadius:14,alignItems:"center",justifyContent:"center",borderWidth:3},statusRow:{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4},statusDot:{width:8,height:8,borderRadius:4},statusText:{fontSize:16,fontWeight:"600"},dateText:{fontSize:14},card:{borderRadius:12,marginBottom:12,overflow:"hidden"},cardRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:14,paddingHorizontal:16},cardRowRight:{flexDirection:"row",alignItems:"center",gap:8},cardDivider:{height:1,marginHorizontal:16},cardLabel:{fontSize:14},cardValue:{fontSize:14,fontWeight:"500"},toggleButton:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:12,paddingHorizontal:4},toggleText:{fontSize:14},buttonSection:{marginTop:12,gap:10},actionButton:{flexDirection:"row",alignItems:"center",paddingVertical:16,paddingHorizontal:16,borderRadius:12},buttonIconLeft:{marginRight:12},buttonIconRight:{marginLeft:12},buttonText:{color:"#FFFFFF",fontSize:14,fontWeight:"600",flex:1,textAlign:"left"},hintText:{fontSize:12,textAlign:"center",marginTop:8}});function sd(e,t=true){let[r,o]=ta.useState(null),[n,i]=ta.useState(null),[s,a]=ta.useState(false),[l,c]=ta.useState(false),[p,g]=ta.useState(null),[k,d]=ta.useState(null);ta.useEffect(()=>{!t||r||(a(true),aa().then(w=>{o(w),g(null);}).catch(w=>{g(w instanceof Error?w:new Error(String(w)));}).finally(()=>{a(false);}));},[t,r]),ta.useEffect(()=>{!t||!e||n||(c(true),wc(e).then(w=>{i(w),d(null);}).catch(w=>{d(w instanceof Error?w:new Error(String(w)));}).finally(()=>{c(false);}));},[t,e,n]);let f=s||l,S=p||k||null,h=null;if(r&&n){let w=n.blocked_country_codes||[],v=r.alpha2.toUpperCase();h=!w.some(I=>I.toUpperCase()===v);}return {isAllowed:h,alpha2:r?.alpha2?.toLowerCase()??null,country:r?.country??null,isLoading:f,error:S}}var Sm="unifold_recent_tokens",r1=5,kb=[{symbol:"ETH",chainType:"ethereum",chainId:"1"},{symbol:"SOL",chainType:"solana",chainId:"mainnet"},{symbol:"USDC",chainType:"solana",chainId:"mainnet"},{symbol:"POL",chainType:"ethereum",chainId:"137"},{symbol:"BNB",chainType:"ethereum",chainId:"56"},{symbol:"BTC",chainType:"bitcoin",chainId:"mainnet"}];async function rp(){try{let e=await Tf__default.default.getItem(Sm);return e?JSON.parse(e):[]}catch{return []}}async function o1(e){try{let r=(await rp()).filter(n=>!(n.symbol===e.symbol&&n.chainType===e.chainType&&n.chainId===e.chainId));r.unshift(e);let o=r.slice(0,r1);await Tf__default.default.setItem(Sm,JSON.stringify(o));}catch{}}async function n1(e){try{let r=(await rp()).filter(o=>!(o.symbol===e.symbol&&o.chainType===e.chainType&&o.chainId===e.chainId));return await Tf__default.default.setItem(Sm,JSON.stringify(r)),r}catch{return []}}function Tm({visible:e,onClose:t,tokens:r,selectedToken:o,selectedChainKey:n,onSelect:i,borderTopLeftRadius:s,borderTopRightRadius:a,hideQuickSelect:l=false,marginHorizontal:c,heightPercent:p=.9,showHandle:g=true}){let{colors:k,fonts:d,components:f}=z(),[S,h]=ta.useState(""),[w,v]=ta.useState([]);ta.useEffect(()=>{e&&rp().then(v);},[e]),ta.useEffect(()=>{e||h("");},[e]);let I=ta.useMemo(()=>{let b=[];return r.forEach(A=>{A.chains.forEach(O=>{b.push({token:A,chain:O});});}),b},[r]),x=ta.useMemo(()=>{let b=[],A=new Set,O=(F,B,W,N)=>{let Z=`${F}-${B}:${W}`;if(A.has(Z))return;let je=r.find(rt=>rt.symbol===F);if(!je)return;let Y=je.chains.find(rt=>rt.chain_type===B&&rt.chain_id===W);Y&&(A.add(Z),b.push({token:je,chain:Y,isRecent:N}));};return w.forEach(F=>{O(F.symbol,F.chainType,F.chainId,true);}),kb.forEach(F=>{O(F.symbol,F.chainType,F.chainId,false);}),b},[r,w]),P=ta.useMemo(()=>{if(!S.trim())return I;let b=S.toLowerCase();return I.filter(({token:A,chain:O})=>A.symbol.toLowerCase().includes(b)||A.name.toLowerCase().includes(b)||O.chain_name.toLowerCase().includes(b))},[I,S]),m=(b,A,O)=>kb.some(F=>F.symbol===b&&F.chainType===A&&F.chainId===O),u=async(b,A)=>{let O=`${A.chain_type}:${A.chain_id}`;if(!m(b.symbol,A.chain_type,A.chain_id)){await o1({symbol:b.symbol,chainType:A.chain_type,chainId:A.chain_id});let F=await rp();v(F);}h(""),i(b.symbol,O),t();},T=async(b,A)=>{let O=await n1({symbol:b.symbol,chainType:A.chain_type,chainId:A.chain_id});v(O);};return jsxRuntime.jsxs(rr,{visible:e,onClose:t,closeOnBackdropPress:true,showHandle:g,heightPercent:p,borderTopLeftRadius:s,borderTopRightRadius:a,marginHorizontal:c,children:[jsxRuntime.jsxs(reactNative.View,{style:[wr.header,!g&&{paddingTop:20}],children:[jsxRuntime.jsx(reactNative.View,{style:wr.headerSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[wr.headerTitle,{color:f.header.titleColor,fontFamily:d.medium}],children:"Select token to deposit"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:t,style:wr.closeButton,hitSlop:{top:12,bottom:12,left:12,right:12},children:jsxRuntime.jsx($t,{size:20,color:f.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.View,{style:wr.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[wr.searchInput,{backgroundColor:f.search.backgroundColor,color:f.search.inputColor,fontFamily:d.regular,borderRadius:f.input.borderRadius,borderWidth:f.input.borderWidth,borderColor:f.input.borderColor}],placeholder:"Search",placeholderTextColor:f.search.placeholderColor,value:S,onChangeText:h,autoCapitalize:"none",autoCorrect:false})}),!l&&x.length>0&&!S&&jsxRuntime.jsxs(reactNative.View,{style:wr.quickSelectSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[wr.sectionLabel,{color:f.list.titleSectionColor,fontFamily:d.regular}],children:"Quick select"}),jsxRuntime.jsx(reactNative.ScrollView,{horizontal:true,showsHorizontalScrollIndicator:false,keyboardShouldPersistTaps:"handled",contentContainerStyle:wr.quickSelectScroll,children:x.map(({token:b,chain:A,isRecent:O})=>{let F=`${A.chain_type}:${A.chain_id}`;b.symbol===o&&F===n;return jsxRuntime.jsxs(reactNative.View,{children:[O&&jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>T(b,A),style:wr.removeButton,children:jsxRuntime.jsx($t,{size:12,color:k.foregroundMuted,strokeWidth:2})}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>u(b,A),activeOpacity:.7,style:[wr.quickSelectItem,{backgroundColor:f.card.backgroundColor,borderRadius:f.card.borderRadius,borderWidth:f.card.borderWidth,borderColor:f.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:wr.tokenIconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(b,"png"))},style:wr.quickSelectIcon}),jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(A,"png"))},style:[wr.quickSelectChainBadge,{borderColor:f.card.backgroundColor,borderRadius:f.badge.borderRadius}]})]}),jsxRuntime.jsxs(reactNative.View,{style:wr.quickSelectText,children:[jsxRuntime.jsx(reactNative.Text,{style:[wr.quickSelectSymbol,{color:f.card.titleColor,fontFamily:d.medium}],children:b.symbol}),jsxRuntime.jsx(reactNative.Text,{style:[wr.quickSelectChain,{color:f.card.subtitleColor,fontFamily:d.regular}],children:A.chain_name})]})]})]},`quick-${b.symbol}-${F}`)})})]}),jsxRuntime.jsx(reactNative.Text,{style:[wr.sectionLabel,{color:f.list.titleSectionColor,fontFamily:d.regular}],children:"All supported tokens"}),jsxRuntime.jsx(Yt,{style:wr.tokenList,showsVerticalScrollIndicator:false,keyboardShouldPersistTaps:"handled",contentContainerStyle:wr.tokenListContent,children:P.length===0?jsxRuntime.jsx(reactNative.View,{style:wr.emptyState,children:jsxRuntime.jsx(reactNative.Text,{style:[wr.emptyText,{color:k.foregroundMuted,fontFamily:d.regular}],children:"No tokens found"})}):P.map(({token:b,chain:A})=>{let O=`${A.chain_type}:${A.chain_id}`,F=b.symbol===o&&O===n;return jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>u(b,A),activeOpacity:.7,style:[wr.tokenItem,{backgroundColor:F?f.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsxs(reactNative.View,{style:wr.tokenIconContainerLarge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(b,"png"))},style:wr.tokenIcon}),jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(A,"png"))},style:[wr.tokenChainBadge,{borderColor:f.card.backgroundColor,borderRadius:f.badge.borderRadius}]})]}),jsxRuntime.jsxs(reactNative.View,{style:wr.tokenInfo,children:[jsxRuntime.jsx(reactNative.Text,{style:[wr.tokenSymbol,{color:f.card.titleColor,fontFamily:d.medium}],children:b.symbol}),jsxRuntime.jsx(reactNative.Text,{style:[wr.tokenChainName,{color:f.card.subtitleColor,fontFamily:d.regular}],children:A.chain_name})]}),jsxRuntime.jsxs(reactNative.Text,{style:[wr.minDeposit,{color:f.card.labelColor,fontFamily:d.regular}],children:["Minimum:"," ",jsxRuntime.jsxs(reactNative.Text,{style:{color:f.card.labelHighlightRightColor,fontFamily:d.regular},children:["$",A.minimum_deposit_amount_usd]})]})]},`${b.symbol}-${O}`)})})]})}var wr=reactNative.StyleSheet.create({header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:16},closeButton:{width:36,height:36,alignItems:"center",justifyContent:"center"},headerTitle:{fontSize:16,fontWeight:"500",textAlign:"center",flex:1},headerSpacer:{width:36},searchContainer:{paddingHorizontal:16,paddingBottom:12},searchInput:{height:40,paddingHorizontal:16,fontSize:14},quickSelectSection:{marginBottom:12},sectionLabel:{fontSize:12,paddingHorizontal:16,marginBottom:8},quickSelectScroll:{paddingHorizontal:16,gap:8},quickSelectItem:{flexDirection:"row",alignItems:"center",gap:8,paddingVertical:8,paddingHorizontal:12},removeButton:{position:"absolute",top:-2,right:-6,zIndex:1,padding:2},tokenIconContainer:{position:"relative"},quickSelectIcon:{width:28,height:28,borderRadius:14},quickSelectChainBadge:{position:"absolute",bottom:-2,right:-2,width:14,height:14,borderRadius:7,borderWidth:2},quickSelectText:{alignItems:"flex-start"},quickSelectSymbol:{fontSize:12,fontWeight:"500"},quickSelectChain:{fontSize:10},tokenList:{flex:1},tokenListContent:{paddingHorizontal:16,paddingBottom:72,gap:4},emptyState:{padding:32,alignItems:"center"},emptyText:{fontSize:14},tokenItem:{flexDirection:"row",alignItems:"center",gap:12,padding:12,borderRadius:12},tokenIconContainerLarge:{position:"relative"},tokenIcon:{width:40,height:40,borderRadius:20},tokenChainBadge:{position:"absolute",bottom:-4,right:-4,width:20,height:20,borderRadius:10,borderWidth:2},tokenInfo:{flex:1},tokenSymbol:{fontSize:14,fontWeight:"500"},tokenChainName:{fontSize:12},minDeposit:{fontSize:12}});var ad=(e,t)=>`${t}:${e}`,c1=e=>{let[t,r]=e.split(":");return {chainType:t,chainId:r}};function km({externalUserId:e,publishableKey:t,recipientAddress:r,destinationChainType:o,destinationChainId:n,destinationTokenAddress:i,destinationTokenSymbol:s,defaultChainType:a,defaultChainId:l,defaultTokenAddress:c,depositConfirmationMode:p="auto_ui",onExecutionsChange:g,onDepositSuccess:k,onDepositError:d,onLatestExecution:f,onShowStatusSheet:S,onSelectedTokenIconUrl:h,wallets:w,borderTopLeftRadius:v,borderTopRightRadius:I,sheetBorderRadius:x}){let{colors:P,fonts:m,components:u}=z(),T=a&&l?`${a}:${l}`:"solana:mainnet",[b,A]=ta.useState("USDC"),[O,F]=ta.useState(T),[B,W]=ta.useState([]),[N,Z]=ta.useState(!w?.length),je=w?.length?w:B,[Y,rt]=ta.useState([]),[oe,ce]=ta.useState(true),[ae,te]=ta.useState(false),[ke,j]=ta.useState(false),[Ie,pt]=ta.useState(false),[Ge,Se]=ta.useState([]),[qe,ot]=ta.useState(new Map),[Ye]=ta.useState(()=>new Date),[dt,st]=ta.useState(null),[Me,be]=ta.useState(false),[we,ze]=ta.useState(null),[ut,ht]=ta.useState(false);ta.useEffect(()=>{we&&f?.(we);},[we]),ta.useEffect(()=>{Me&&(S?.(true),be(false));},[Me]);let xt=new Map;Y.forEach(X=>{X.chains.forEach(Pe=>{let _=`${Pe.chain_type}:${Pe.chain_id}`;xt.has(_)||xt.set(_,Pe);});});let lr=Array.from(xt.values()),Ue=c1(O),me=lr.find(X=>X.chain_type===Ue.chainType&&X.chain_id===Ue.chainId),Je=me?.chain_type||"ethereum",Qe=an(je,Je),Ve=Qe?.address||"",he=ta.useRef(false);ta.useEffect(()=>{async function X(){try{ce(!0),st(null);let _=await Wi(t,i&&n&&o?{destination_token_address:i,destination_chain_id:n,destination_chain_type:o}:void 0);if(rt(_.data),_.data.length>0&&!he.current){he.current=!0;let C,M;if(a&&l)if(c)for(let q of _.data){let J=q.chains.find(K=>K.chain_type===a&&K.chain_id===l&&K.token_address.toLowerCase()===c.toLowerCase());if(J){C=q,M=J;break}}else {let q=K=>K.chain_type===a&&K.chain_id===l,J=_.data.find(K=>K.symbol==="USDC"&&K.chains.some(q));if(J)C=J,M=J.chains.find(q);else for(let K of _.data){let _e=K.chains.find(q);if(_e){C=K,M=_e;break}}}if(!C&&i)for(let q of _.data){let J=q.chains.find(K=>K.token_address.toLowerCase()===i.toLowerCase());if(J){C=q,M=J;break}}C||(C=_.data.find(q=>q.symbol==="USDC"),C&&C.chains.length>0&&(M=C.chains[0])),C||(C=_.data.find(q=>q.symbol==="USDT"),C&&C.chains.length>0&&(M=C.chains[0])),C||(C=_.data[0],C.chains.length>0&&(M=C.chains[0])),C&&A(C.symbol),M&&F(ad(M.chain_id,M.chain_type));}}catch(Pe){console.error("Error fetching supported tokens:",Pe),st("Failed to load supported tokens"),d?.({message:"Failed to load supported tokens",error:Pe});}finally{ce(false);}}X();},[t,i,n,o,a,l,c,d]),ta.useEffect(()=>{g&&g(Ge);},[Ge,g]),ta.useEffect(()=>{if(w?.length){Z(false);return}if(B.length>0){Z(false);return}let X=null,Pe=false,_=async()=>{if(!Pe){Z(true);try{let C=await Zo({external_user_id:e,recipient_address:r,destination_chain_type:o,destination_chain_id:n,destination_token_address:i},t);Pe||(W(C.data),st(null),Z(!1));}catch(C){console.error("Error fetching wallets, retrying in 5s:",C),Pe||(st(C instanceof Error?C.message:"Failed to load wallets"),Z(false),X=setTimeout(_,5e3));}}};return _(),()=>{Pe=true,X&&clearTimeout(X);}},[e,r,o,n,i,t,w,B.length]);let Ne=Qe?.id??"",{showWaitingUi:vt,handleIveDeposited:Vt}=si({depositConfirmationMode:p,depositAddress:Ve,chain:O,externalUserId:e,publishableKey:t,modalOpenedAt:Ye,depositWalletId:Ne,depositExecutions:Ge,trackedExecutions:qe,setDepositExecutions:Se,setTrackedExecutions:ot,setLatestExecution:ze,setShowStatusSheet:be,onDepositSuccess:k,onExecutionsChange:g,onDepositError:d});ta.useEffect(()=>{if(!Y.length)return;let X=Y.find(_=>_.symbol===b);if(!X||X.chains.length===0){let _=Y.find(C=>C.symbol==="USDC")||Y[0];_&&(A(_.symbol),_.chains.length>0&&F(ad(_.chains[0].chain_id,_.chains[0].chain_type)));return}if(!X.chains.some(_=>ad(_.chain_id,_.chain_type)===O)){let _=X.chains[0];F(ad(_.chain_id,_.chain_type));}},[b,Y,O]);let Ht=Y.find(X=>X.symbol===b),lt=it(Ht,"png")||void 0;ta.useEffect(()=>{h?.(lt);},[lt]);let Xe=(Ht?.chains||[]).find(X=>ad(X.chain_id,X.chain_type)===O),yt=async()=>{if(Ve)try{reactNative.Clipboard.setString(Ve),te(!0),setTimeout(()=>te(!1),2e3);}catch(X){console.error("Failed to copy:",X);}},gt=Xe?.estimated_price_impact_percent??0,De=Xe?.max_slippage_percent??.25,at=Xe?.minimum_deposit_amount_usd??3;return oe?jsxRuntime.jsxs(reactNative.View,{style:Ce.loadingContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:P.primary}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.loadingText,{color:P.foregroundMuted,fontFamily:m.regular}],children:"Loading currencies..."})]}):dt&&Y.length===0?jsxRuntime.jsxs(reactNative.View,{style:Ce.errorContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ce.errorText,{color:P.error,fontFamily:m.regular}],children:dt}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.errorHint,{color:P.foregroundMuted,fontFamily:m.regular}],children:"Please check your network connection and try again."})]}):jsxRuntime.jsxs(reactNative.View,{style:Ce.container,children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.selectorSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ce.selectorLabel,{color:u.card.labelColor,fontFamily:m.medium}],children:"Select token to deposit"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>pt(true),disabled:oe||Y.length===0,style:[Ce.tokenSelectorButton,{backgroundColor:u.card.backgroundColor,borderRadius:u.card.borderRadius,borderWidth:u.card.borderWidth,borderColor:u.card.borderColor}],activeOpacity:.7,children:oe?jsxRuntime.jsxs(reactNative.View,{style:Ce.tokenSelectorLoading,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.loadingIcon,{backgroundColor:P.cardHover}]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.loadingTextContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.loadingLine,{backgroundColor:P.cardHover,width:60}]}),jsxRuntime.jsx(reactNative.View,{style:[Ce.loadingLine,{backgroundColor:P.cardHover,width:100,marginTop:4}]})]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.tokenIconWrapper,children:[Ht&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Ht,"png"))},style:Ce.tokenMainIcon}),(Xe||me)&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Xe||me,"png"))},style:[Ce.tokenChainBadge,{borderColor:u.card.backgroundColor,borderRadius:u.badge.borderRadius}]})]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.tokenSelectorInfo,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ce.tokenSelectorSymbol,{color:u.card.titleColor,fontFamily:m.semibold}],children:Ht?.symbol||b}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.tokenSelectorNetwork,{color:u.card.subtitleColor,fontFamily:m.regular}],numberOfLines:1,children:Xe?.chain_name||me?.chain_name||"Select network"})]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.tokenSelectorRight,children:[jsxRuntime.jsxs(reactNative.Text,{style:[Ce.minDepositText,{color:P.warning,fontFamily:m.medium}],children:["$",at," minimum"]}),jsxRuntime.jsx(co,{size:16,color:u.card.actionColor,strokeWidth:2})]})]})})]}),jsxRuntime.jsx(Tm,{visible:Ie,onClose:()=>pt(false),tokens:Y,selectedToken:b,selectedChainKey:O,onSelect:(X,Pe)=>{A(X),F(Pe);},borderTopLeftRadius:x?.tokenSelector?.borderTopLeftRadius??v,borderTopRightRadius:x?.tokenSelector?.borderTopRightRadius??I}),jsxRuntime.jsx(reactNative.View,{style:Ce.qrContainer,children:jsxRuntime.jsx(reactNative.View,{style:[Ce.qrWrapper,{backgroundColor:P.background,borderRadius:u.card.borderRadius,borderWidth:u.card.borderWidth>0?u.card.borderWidth:1,borderColor:u.card.borderColor}],children:N?jsxRuntime.jsxs(reactNative.View,{style:Ce.qrLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:P.primary}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.loadingText,{color:P.foregroundMuted,fontFamily:m.regular}],children:"Loading..."})]}):Ve?jsxRuntime.jsx(js,{value:Ve,size:180,logoUri:ye(it(Xe,"png")||kr("/icons/networks/png/ethereum.png")),logoSize:45}):jsxRuntime.jsx(reactNative.View,{style:Ce.qrLoading,children:jsxRuntime.jsx(reactNative.Text,{style:[Ce.errorText,{color:P.error,fontFamily:m.regular}],children:"No address available"})})})}),jsxRuntime.jsxs(reactNative.View,{style:Ce.addressSection,children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.addressHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ce.addressLabel,{color:u.card.labelColor,fontFamily:m.medium}],children:"Deposit Address"}),ae&&jsxRuntime.jsxs(reactNative.View,{style:Ce.copiedIndicator,children:[jsxRuntime.jsx(It,{size:14,color:P.success,strokeWidth:2}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.copiedText,{color:P.success,fontFamily:m.regular}],children:"Copied"})]})]}),jsxRuntime.jsxs(jr,{cardTokens:u.transferCrypto.depositAddress.card,onPress:!N&&Ve?yt:void 0,contentStyle:Ce.addressBox,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ce.addressText,{color:u.card.titleColor,fontFamily:m.regular}],numberOfLines:2,children:N?"Loading...":Ve||"No address available"}),jsxRuntime.jsx(reactNative.View,{style:Ce.addressCopyIcon,children:jsxRuntime.jsx(Gn,{size:16,color:u.card.actionColor,strokeWidth:1})})]})]}),jsxRuntime.jsxs(reactNative.View,{style:[Ce.detailsCard,{backgroundColor:u.card.backgroundColor,borderRadius:u.card.borderRadius,borderWidth:u.card.borderWidth,borderColor:u.card.borderColor}],children:[jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>j(!ke),style:Ce.detailsHeader,children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.detailIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx($o,{size:12,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.detailsLabel,{color:u.card.titleColor,fontFamily:m.regular}],children:"Processing time: < 1 min"})]}),jsxRuntime.jsx(reactNative.View,{style:Ce.chevronContainer,children:ke?jsxRuntime.jsx(di,{size:16,color:u.card.actionColor,strokeWidth:2}):jsxRuntime.jsx(Ar,{size:16,color:u.card.actionColor,strokeWidth:2})})]}),ke&&jsxRuntime.jsxs(reactNative.View,{style:Ce.detailsContent,children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.detailIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Yn,{size:12,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Ce.detailsLabel,{color:u.card.titleColor,fontFamily:m.regular}],children:["Price impact: ",gt.toFixed(2),"%"]}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx(Jn,{size:14,color:u.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.detailIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jo,{size:12,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Ce.detailsLabel,{color:u.card.titleColor,fontFamily:m.regular}],children:["Slippage: Auto \u2022 ",De.toFixed(2),"%"]}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx(Jn,{size:14,color:u.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.detailIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Ga,{size:12,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Ce.detailsLabel,{color:u.card.titleColor,fontFamily:m.regular}],children:["Need help?"," ",jsxRuntime.jsx(reactNative.Text,{style:{textDecorationLine:"underline"},children:"Contact support"})]})]})]})]}),jsxRuntime.jsx(Zy,{depositConfirmationMode:p,depositAddress:Ve,showWaitingUi:vt,latestExecution:we,onIveDeposited:Vt}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{style:Ce.termsContainer,onPress:()=>reactNative.Linking.openURL("https://unifold.io/terms"),children:jsxRuntime.jsx(reactNative.Text,{style:[Ce.termsText,{color:P.primary,fontFamily:m.regular}],children:"Terms apply"})}),jsxRuntime.jsxs(rr,{visible:ut,onClose:()=>ht(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.55,maxHeightPercent:.9,borderTopLeftRadius:x?.infoSheet?.borderTopLeftRadius??v,borderTopRightRadius:x?.infoSheet?.borderTopRightRadius??I,children:[jsxRuntime.jsxs(reactNative.View,{style:[Ce.sheetHeader,{borderBottomColor:P.border}],children:[jsxRuntime.jsx(reactNative.View,{style:Ce.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.sheetTitle,{color:u.header.titleColor,fontFamily:m.medium}],children:"Price Impact & Slippage"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>ht(false),style:Ce.sheetCloseButton,children:jsxRuntime.jsx($t,{size:20,color:u.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:Ce.infoSheetContent,children:[jsxRuntime.jsxs(reactNative.View,{style:[Ce.infoCard,{backgroundColor:u.card.backgroundColor,borderRadius:u.card.borderRadius,borderWidth:u.card.borderWidth,borderColor:u.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.infoCardIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Yn,{size:16,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.infoCardTitle,{color:u.card.titleColor,fontFamily:m.medium}],children:"Price Impact"}),jsxRuntime.jsxs(reactNative.Text,{style:[Ce.infoCardValue,{color:u.card.titleColor,fontFamily:m.medium}],children:[gt.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.infoCardDescription,{color:u.card.descriptionColor,fontFamily:m.regular}],children:"Price impact is the difference between the current market price and the price you'll receive for your swap. This occurs due to liquidity pool mechanics and trade size."})]}),jsxRuntime.jsxs(reactNative.View,{style:[Ce.infoCard,{backgroundColor:u.card.backgroundColor,borderRadius:u.card.borderRadius,borderWidth:u.card.borderWidth,borderColor:u.card.borderColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:Ce.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[Ce.infoCardIcon,{backgroundColor:u.card.iconBackgroundColor,borderRadius:u.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jo,{size:16,color:u.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.infoCardTitle,{color:u.card.titleColor,fontFamily:m.medium}],children:"Max Slippage"}),jsxRuntime.jsxs(reactNative.Text,{style:[Ce.infoCardValue,{color:u.card.titleColor,fontFamily:m.medium}],children:[De.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[Ce.infoCardDescription,{color:u.card.descriptionColor,fontFamily:m.regular}],children:"Max slippage is the maximum price difference you're willing to accept between when you submit a transaction and when it executes. Your transaction will revert if the price moves beyond this threshold."})]})]})]})]})}var Ce=reactNative.StyleSheet.create({container:{flex:1,paddingHorizontal:16},loadingContainer:{padding:40,alignItems:"center",gap:12},loadingText:{fontSize:14},errorContainer:{padding:40,alignItems:"center",gap:8},errorText:{fontSize:14,textAlign:"center"},errorHint:{fontSize:12,textAlign:"center"},selectorSection:{marginBottom:12},selectorLabel:{fontSize:12,marginBottom:8},tokenSelectorButton:{flexDirection:"row",alignItems:"center",gap:12,padding:12},tokenSelectorLoading:{flexDirection:"row",alignItems:"center",gap:12,flex:1},loadingIcon:{width:40,height:40,borderRadius:20},loadingTextContainer:{flex:1},loadingLine:{height:12,borderRadius:6},tokenIconWrapper:{position:"relative"},tokenMainIcon:{width:40,height:40,borderRadius:20},tokenChainBadge:{position:"absolute",bottom:-4,right:-4,width:20,height:20,borderRadius:10,borderWidth:2},tokenSelectorInfo:{flex:1},tokenSelectorSymbol:{fontSize:14,fontWeight:"500"},tokenSelectorNetwork:{fontSize:12,marginTop:2},tokenSelectorRight:{flexDirection:"row",alignItems:"center",gap:8},minDepositText:{fontSize:12,fontWeight:"500"},qrContainer:{alignItems:"center",marginVertical:8},qrWrapper:{padding:16},qrLoading:{width:160,height:160,alignItems:"center",justifyContent:"center"},addressSection:{marginBottom:16},addressHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8},addressLabel:{fontSize:12},copiedIndicator:{flexDirection:"row",alignItems:"center",gap:4},copiedText:{fontSize:12,fontWeight:"500"},addressBox:{position:"relative",paddingHorizontal:12,paddingVertical:16},addressText:{fontSize:12,fontFamily:"monospace"},addressCopyIcon:{position:"absolute",right:12,top:0,bottom:0,justifyContent:"center"},detailsCard:{borderRadius:8,padding:4,marginBottom:16},detailsHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:8,paddingLeft:8,paddingRight:8},detailsContent:{paddingRight:12,paddingLeft:8,paddingBottom:12,gap:10},detailsRow:{flexDirection:"row",alignItems:"center",gap:8},detailIcon:{width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},detailsLabel:{fontSize:13},chevronContainer:{},termsContainer:{alignItems:"center",paddingVertical:8},termsText:{fontSize:12,textDecorationLine:"underline"},sheetHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:16},sheetHeaderSpacer:{width:28},sheetTitle:{fontSize:16,fontWeight:"500",flex:1,textAlign:"center"},sheetCloseButton:{width:28,height:28,alignItems:"center",justifyContent:"center"},infoSheetContent:{paddingHorizontal:16,paddingBottom:32,gap:16},infoCard:{borderRadius:12,padding:16,gap:12},infoCardHeader:{flexDirection:"row",alignItems:"center",gap:10},infoCardIcon:{width:32,height:32,borderRadius:16,alignItems:"center",justifyContent:"center"},infoCardTitle:{fontSize:15,fontWeight:"600",flex:1},infoCardValue:{fontSize:15,fontWeight:"600"},infoCardDescription:{fontSize:13,lineHeight:20}});var Nl=(e,t)=>`${t}:${e}`,m1=e=>{let[t,r]=e.split(":");return {chainType:t,chainId:r}},h1=e=>e.length<=16?e:`${e.slice(0,8)}...${e.slice(-6)}`;function ip({externalUserId:e,publishableKey:t,recipientAddress:r,destinationChainType:o,destinationChainId:n,destinationTokenAddress:i,destinationTokenSymbol:s,defaultChainType:a,defaultChainId:l,defaultTokenAddress:c,depositConfirmationMode:p="auto_ui",onExecutionsChange:g,onDepositSuccess:k,onDepositError:d,onLatestExecution:f,onShowStatusSheet:S,onSelectedTokenIconUrl:h,onShowInfoSheet:w,onInfoSheetData:v,wallets:I,borderTopLeftRadius:x,borderTopRightRadius:P,sheetBorderRadius:m}){let{colors:u,fonts:T,components:b}=z(),A=a&&l?`${a}:${l}`:"solana:mainnet",[O,F]=ta.useState("USDC"),[B,W]=ta.useState(A),[N,Z]=ta.useState([]),[je,Y]=ta.useState(!I?.length),rt=I?.length?I:N,[oe,ce]=ta.useState([]),[ae,te]=ta.useState(true),[ke,j]=ta.useState(false),[Ie,pt]=ta.useState(false),[Ge,Se]=ta.useState(false),[qe,ot]=ta.useState([]),[Ye,dt]=ta.useState(new Map),[st]=ta.useState(()=>new Date),[Me,be]=ta.useState(null),[we,ze]=ta.useState(false),[ut,ht]=ta.useState(null),[xt,lr]=ta.useState(false),[Ue,me]=ta.useState(false),[Je,Qe]=ta.useState(""),[Ve,he]=ta.useState(""),Ne=ta.useRef(new reactNative.Animated.Value(0)).current;ta.useEffect(()=>{let Fe=reactNative.Animated.loop(reactNative.Animated.timing(Ne,{toValue:1,duration:1500,easing:reactNative.Easing.linear,useNativeDriver:true}));return Fe.start(),()=>Fe.stop()},[Ne]);let vt=Ne.interpolate({inputRange:[0,1],outputRange:["0deg","360deg"]});ta.useEffect(()=>{ut&&f?.(ut);},[ut]),ta.useEffect(()=>{we&&(S?.(true),ze(false));},[we]);let Vt=new Map;oe.forEach(Fe=>{Fe.chains.forEach(bt=>{let nt=`${bt.chain_type}:${bt.chain_id}`;Vt.has(nt)||Vt.set(nt,bt);});});let Ht=Array.from(Vt.values()),lt=m1(B),er=Ht.find(Fe=>Fe.chain_type===lt.chainType&&Fe.chain_id===lt.chainId),Xe=er?.chain_type||"ethereum",yt=an(rt,Xe),gt=yt?.address||"",De=ta.useRef(false);ta.useEffect(()=>{async function Fe(){try{te(!0),be(null);let nt=await Wi(t,i&&n&&o?{destination_token_address:i,destination_chain_id:n,destination_chain_type:o}:void 0);if(ce(nt.data),nt.data.length>0&&!De.current){De.current=!0;let ee,vr;if(a&&l)if(c)for(let ft of nt.data){let tr=ft.chains.find(Mt=>Mt.chain_type===a&&Mt.chain_id===l&&Mt.token_address.toLowerCase()===c.toLowerCase());if(tr){ee=ft,vr=tr;break}}else {let ft=Mt=>Mt.chain_type===a&&Mt.chain_id===l,tr=nt.data.find(Mt=>Mt.symbol==="USDC"&&Mt.chains.some(ft));if(tr)ee=tr,vr=tr.chains.find(ft);else for(let Mt of nt.data){let qr=Mt.chains.find(ft);if(qr){ee=Mt,vr=qr;break}}}if(!ee&&i)for(let ft of nt.data){let tr=ft.chains.find(Mt=>Mt.token_address.toLowerCase()===i.toLowerCase());if(tr){ee=ft,vr=tr;break}}ee||(ee=nt.data.find(ft=>ft.symbol==="USDC"),ee&&ee.chains.length>0&&(vr=ee.chains[0])),ee||(ee=nt.data.find(ft=>ft.symbol==="USDT"),ee&&ee.chains.length>0&&(vr=ee.chains[0])),ee||(ee=nt.data[0],ee.chains.length>0&&(vr=ee.chains[0])),ee&&F(ee.symbol),vr&&W(Nl(vr.chain_id,vr.chain_type));}}catch(bt){console.error("Error fetching supported tokens:",bt),be("Failed to load supported tokens"),d?.({message:"Failed to load supported tokens",error:bt});}finally{te(false);}}Fe();},[t,i,n,o,a,l,c,d]),ta.useEffect(()=>{g&&g(qe);},[qe,g]),ta.useEffect(()=>{if(I?.length){Y(false);return}if(N.length>0){Y(false);return}let Fe=null,bt=false,nt=async()=>{if(!bt){Y(true);try{let ee=await Zo({external_user_id:e,recipient_address:r,destination_chain_type:o,destination_chain_id:n,destination_token_address:i},t);bt||(Z(ee.data),be(null),Y(!1));}catch(ee){console.error("Error fetching wallets, retrying in 5s:",ee),bt||(be(ee instanceof Error?ee.message:"Failed to load wallets"),Y(false),Fe=setTimeout(nt,5e3));}}};return nt(),()=>{bt=true,Fe&&clearTimeout(Fe);}},[e,r,o,n,i,t,I,N.length]);let at=yt?.id??"",{showWaitingUi:X,handleIveDeposited:Pe}=si({depositConfirmationMode:p,depositAddress:gt,chain:B,externalUserId:e,publishableKey:t,modalOpenedAt:st,depositWalletId:at,depositExecutions:qe,trackedExecutions:Ye,setDepositExecutions:ot,setTrackedExecutions:dt,setLatestExecution:ht,setShowStatusSheet:ze,onDepositSuccess:k,onExecutionsChange:g,onDepositError:d}),_=p==="manual"&>&&!X;ta.useEffect(()=>{if(!oe.length)return;let Fe=oe.find(nt=>nt.symbol===O);if(!Fe||Fe.chains.length===0){let nt=oe.find(ee=>ee.symbol==="USDC")||oe[0];nt&&(F(nt.symbol),nt.chains.length>0&&W(Nl(nt.chains[0].chain_id,nt.chains[0].chain_type)));return}if(!Fe.chains.some(nt=>Nl(nt.chain_id,nt.chain_type)===B)){let nt=Fe.chains[0];W(Nl(nt.chain_id,nt.chain_type));}},[O,oe,B]);let C=oe.find(Fe=>Fe.symbol===O),M=it(C,"png")||void 0;ta.useEffect(()=>{h?.(M);},[M]);let q=C?.chains||[],J=q.find(Fe=>Nl(Fe.chain_id,Fe.chain_type)===B),K=async()=>{if(gt)try{reactNative.Clipboard.setString(gt),j(!0),setTimeout(()=>j(!1),2e3);}catch(Fe){console.error("Failed to copy:",Fe);}},_e=J?.estimated_price_impact_percent??0,et=J?.max_slippage_percent??.25,L=J?.minimum_deposit_amount_usd??3,U=J?.chain_name||er?.chain_name||"Network",kt=ta.useMemo(()=>{if(!Je.trim())return q;let Fe=Je.toLowerCase();return q.filter(bt=>bt.chain_name.toLowerCase().includes(Fe))},[q,Je]),Le=ta.useMemo(()=>{if(!Ve.trim())return oe;let Fe=Ve.toLowerCase();return oe.filter(bt=>bt.symbol.toLowerCase().includes(Fe)||bt.name?.toLowerCase().includes(Fe)||bt.chains.some(nt=>nt.chain_name.toLowerCase().includes(Fe)))},[oe,Ve]);return ae?jsxRuntime.jsxs(reactNative.View,{style:Re.loadingContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:u.primary}),jsxRuntime.jsx(reactNative.Text,{style:[Re.loadingText,{color:u.foregroundMuted,fontFamily:T.regular}],children:"Loading currencies..."})]}):Me&&oe.length===0?jsxRuntime.jsxs(reactNative.View,{style:Re.errorContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Re.errorText,{color:u.error,fontFamily:T.regular}],children:Me}),jsxRuntime.jsx(reactNative.Text,{style:[Re.errorHint,{color:u.foregroundMuted,fontFamily:T.regular}],children:"Please check your network connection and try again."})]}):jsxRuntime.jsxs(reactNative.View,{style:Re.container,children:[jsxRuntime.jsxs(reactNative.View,{style:Re.content,children:[jsxRuntime.jsxs(reactNative.View,{style:Re.qrSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[Re.intentAddressLabel,{color:u.foregroundMuted,fontFamily:T.medium}],children:"Intent address"}),jsxRuntime.jsx(reactNative.View,{style:[Re.qrCard,{backgroundColor:u.background,borderRadius:b.card.borderRadius,borderWidth:b.card.borderWidth>0?b.card.borderWidth:1,borderColor:b.card.borderColor}],children:je?jsxRuntime.jsxs(reactNative.View,{style:Re.qrLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:u.primary}),jsxRuntime.jsx(reactNative.Text,{style:[Re.loadingText,{color:u.foregroundMuted,fontFamily:T.regular}],children:"Loading..."})]}):gt?jsxRuntime.jsx(reactNative.View,{style:Re.qrWrapper,children:jsxRuntime.jsx(js,{value:gt,size:200,logoUri:ye(it(C,"png")||kr("/icons/tokens/png/usdc.png")),logoSize:40,badgeUri:ye(it(J,"png")||kr("/icons/networks/png/ethereum.png")),badgeSize:20})}):jsxRuntime.jsx(reactNative.View,{style:Re.qrLoading,children:jsxRuntime.jsx(reactNative.Text,{style:[Re.errorText,{color:u.error,fontFamily:T.regular}],children:"No address available"})})})]}),jsxRuntime.jsxs(reactNative.View,{style:Re.selectorsRow,children:[jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{Qe(""),me(true);},style:[Re.selectorPill,{backgroundColor:b.card.backgroundColor,borderRadius:b.card.borderRadius,borderWidth:b.card.borderWidth,borderColor:b.card.borderColor}],activeOpacity:.7,children:[(J||er)&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(J||er,"png"))},style:Re.selectorPillIcon}),jsxRuntime.jsx(Ar,{size:14,color:b.card.actionColor,strokeWidth:2})]}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{he(""),Se(true);},disabled:ae||oe.length===0,style:[Re.selectorPill,{backgroundColor:b.card.backgroundColor,borderRadius:b.card.borderRadius,borderWidth:b.card.borderWidth,borderColor:b.card.borderColor}],activeOpacity:.7,children:[C&&jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(C,"png"))},style:Re.selectorPillIcon}),jsxRuntime.jsx(reactNative.Text,{style:[Re.selectorPillText,{color:b.card.titleColor,fontFamily:T.semibold}],children:C?.symbol||O}),jsxRuntime.jsx(Ar,{size:14,color:b.card.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsx(reactNative.View,{style:Re.addressRow,children:jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:K,style:[Re.addressPill,{backgroundColor:b.card.backgroundColor,borderRadius:b.card.borderRadius,borderWidth:b.card.borderWidth,borderColor:b.card.borderColor}],activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[Re.addressPillText,{color:b.card.titleColor,fontFamily:T.regular}],numberOfLines:1,children:je?"Loading...":gt?h1(gt):"No address"}),ke?jsxRuntime.jsx(It,{size:14,color:u.success,strokeWidth:2}):jsxRuntime.jsx(Gn,{size:14,color:b.card.actionColor,strokeWidth:1.5})]})}),jsxRuntime.jsxs(reactNative.View,{style:{opacity:X&&!ut?1:0,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,height:34},children:[jsxRuntime.jsx(reactNative.Animated.View,{style:{transform:[{rotate:vt}]},children:jsxRuntime.jsx(cc,{size:16,color:u.foregroundMuted,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:{fontSize:14,color:u.foregroundMuted,fontFamily:T.regular},children:"Checking for deposit"})]})]}),jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{v?.({priceImpact:_e,maxSlippage:et,minDepositUsd:L,chainName:U}),w?.(true);},style:Re.infoFooter,activeOpacity:.7,children:[jsxRuntime.jsx(Jn,{size:14,color:b.card.actionColor,strokeWidth:2}),jsxRuntime.jsxs(reactNative.Text,{style:[Re.infoFooterText,{color:b.card.subtitleColor,fontFamily:T.regular}],numberOfLines:1,children:["$",L," ",U," Minimum and ","<","1 min Processing"]})]}),_?jsxRuntime.jsxs(reactNative.View,{style:Re.ctaRow,children:[jsxRuntime.jsx(reactNative.View,{style:Re.ctaFlex,children:jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:Pe,activeOpacity:.8,style:[Re.ctaButton,{backgroundColor:u.primary,borderRadius:b.button.borderRadius}],children:jsxRuntime.jsx(reactNative.Text,{style:[Re.ctaText,{color:u.primaryForeground??"#FFF",fontFamily:T.semibold}],children:"I've made the deposit"})})}),jsxRuntime.jsx(reactNative.View,{style:Re.ctaFlex,children:jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:K,activeOpacity:.8,style:[Re.ctaButton,{backgroundColor:b.card.backgroundColor,borderRadius:b.button.borderRadius,borderWidth:1,borderColor:u.border}],children:jsxRuntime.jsx(reactNative.Text,{style:[Re.ctaText,{color:u.foreground,fontFamily:T.semibold}],children:ke?"Copied!":"Copy deposit address"})})})]}):jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:K,activeOpacity:.8,style:[Re.ctaButton,{backgroundColor:u.primary,borderRadius:b.button.borderRadius,marginBottom:16,marginTop:8}],children:jsxRuntime.jsx(reactNative.Text,{style:[Re.ctaText,{color:"#FFFFFF",fontFamily:T.semibold}],children:ke?"Copied!":"Copy Deposit Address"})}),jsxRuntime.jsxs(rr,{visible:Ge,onClose:()=>{Se(false),he("");},closeOnBackdropPress:true,showHandle:false,heightPercent:.6,marginHorizontal:16,marginBottom:24,borderTopLeftRadius:m?.tokenSelector?.borderTopLeftRadius??x,borderTopRightRadius:m?.tokenSelector?.borderTopRightRadius??P,children:[jsxRuntime.jsxs(reactNative.View,{style:[Re.sheetHeader,{borderBottomColor:u.border}],children:[jsxRuntime.jsx(reactNative.View,{style:Re.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[Re.sheetTitle,{color:b.header.titleColor,fontFamily:T.medium}],children:"Select Token"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{Se(false),he("");},style:Re.sheetCloseButton,hitSlop:{top:12,bottom:12,left:12,right:12},children:jsxRuntime.jsx($t,{size:20,color:b.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.View,{style:Re.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[Re.searchInput,{backgroundColor:b.search.backgroundColor,color:b.search.inputColor,fontFamily:T.regular,borderRadius:b.input.borderRadius,borderWidth:b.input.borderWidth,borderColor:b.input.borderColor}],placeholder:"Search tokens",placeholderTextColor:b.search.placeholderColor,value:Ve,onChangeText:he,autoCapitalize:"none",autoCorrect:false})}),jsxRuntime.jsx(Yt,{style:Re.sheetList,contentContainerStyle:Re.sheetListContent,showsVerticalScrollIndicator:false,children:Le.length===0?jsxRuntime.jsx(reactNative.View,{style:Re.emptyState,children:jsxRuntime.jsx(reactNative.Text,{style:[Re.emptyText,{color:u.foregroundMuted,fontFamily:T.regular}],children:"No tokens found"})}):Le.map(Fe=>jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{F(Fe.symbol),Se(false),he("");},activeOpacity:.7,style:[Re.sheetItem,{backgroundColor:O===Fe.symbol?b.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Fe,"png"))},style:Re.sheetItemIcon}),jsxRuntime.jsx(reactNative.Text,{style:[Re.sheetItemTitle,{color:b.card.titleColor,fontFamily:T.medium}],children:Fe.symbol}),jsxRuntime.jsx(reactNative.View,{style:Re.sheetItemSpacer}),jsxRuntime.jsx(reactNative.View,{style:[Re.sheetItemBadge,{borderWidth:1,borderColor:u.border}],children:jsxRuntime.jsxs(reactNative.Text,{style:[Re.sheetItemBadgeText,{color:b.card.subtitleColor,fontFamily:T.medium}],children:[Fe.chains.length," chain",Fe.chains.length!==1?"s":""]})})]},Fe.symbol))})]}),jsxRuntime.jsxs(rr,{visible:Ue,onClose:()=>{me(false),Qe("");},closeOnBackdropPress:true,showHandle:false,heightPercent:.6,marginHorizontal:16,marginBottom:24,borderTopLeftRadius:m?.chainSelector?.borderTopLeftRadius??x,borderTopRightRadius:m?.chainSelector?.borderTopRightRadius??P,children:[jsxRuntime.jsxs(reactNative.View,{style:[Re.sheetHeader,{borderBottomColor:u.border}],children:[jsxRuntime.jsx(reactNative.View,{style:Re.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[Re.sheetTitle,{color:b.header.titleColor,fontFamily:T.medium}],children:"Select Network"}),jsxRuntime.jsx(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{me(false),Qe("");},style:Re.sheetCloseButton,hitSlop:{top:12,bottom:12,left:12,right:12},children:jsxRuntime.jsx($t,{size:20,color:b.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.View,{style:Re.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[Re.searchInput,{backgroundColor:b.search.backgroundColor,color:b.search.inputColor,fontFamily:T.regular,borderRadius:b.input.borderRadius,borderWidth:b.input.borderWidth,borderColor:b.input.borderColor}],placeholder:"Search networks",placeholderTextColor:b.search.placeholderColor,value:Je,onChangeText:Qe,autoCapitalize:"none",autoCorrect:false})}),jsxRuntime.jsx(Yt,{style:Re.sheetList,contentContainerStyle:Re.sheetListContent,showsVerticalScrollIndicator:false,children:kt.length===0?jsxRuntime.jsx(reactNative.View,{style:Re.emptyState,children:jsxRuntime.jsx(reactNative.Text,{style:[Re.emptyText,{color:u.foregroundMuted,fontFamily:T.regular}],children:"No networks found"})}):kt.map(Fe=>{let bt=Nl(Fe.chain_id,Fe.chain_type),nt=B===bt;return jsxRuntime.jsxs(reactNativeGestureHandler.TouchableOpacity,{onPress:()=>{W(bt),me(false),Qe("");},activeOpacity:.7,style:[Re.chainItem,{backgroundColor:nt?b.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(Fe,"png"))},style:Re.chainItemIcon}),jsxRuntime.jsx(reactNative.View,{style:Re.chainItemInfo,children:jsxRuntime.jsx(reactNative.Text,{style:[Re.chainItemName,{color:b.card.titleColor,fontFamily:T.medium}],children:Fe.chain_name})}),jsxRuntime.jsx(reactNative.View,{style:[Re.chainMinBadge,{backgroundColor:`${u.warning}18`}],children:jsxRuntime.jsxs(reactNative.Text,{style:[Re.chainMinBadgeText,{color:u.warning,fontFamily:T.medium}],children:["$",Fe.minimum_deposit_amount_usd," Minimum"]})})]},bt)})})]})]})}var Re=reactNative.StyleSheet.create({container:{flex:1,paddingHorizontal:16},content:{flex:1,justifyContent:"center"},loadingContainer:{padding:40,alignItems:"center",gap:12},loadingText:{fontSize:14},errorContainer:{padding:40,alignItems:"center",gap:8},errorText:{fontSize:14,textAlign:"center"},errorHint:{fontSize:12,textAlign:"center"},qrSection:{alignItems:"center",marginTop:8,marginBottom:16},intentAddressLabel:{fontSize:14,marginBottom:8},qrCard:{padding:16,alignItems:"center"},qrLoading:{width:150,height:150,alignItems:"center",justifyContent:"center"},qrWrapper:{},selectorsRow:{flexDirection:"row",justifyContent:"center",alignItems:"center",gap:10,paddingTop:16,paddingBottom:8},selectorPill:{flexDirection:"row",alignItems:"center",gap:6,paddingVertical:12,paddingHorizontal:14},selectorPillIcon:{width:20,height:20,borderRadius:10},selectorPillText:{fontSize:14},addressRow:{flexDirection:"row",justifyContent:"center",alignItems:"center",gap:8,paddingVertical:8},addressPill:{flexDirection:"row",alignItems:"center",gap:8,paddingVertical:16,paddingHorizontal:16},addressPillText:{fontSize:14},infoFooter:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,marginBottom:8,paddingVertical:4},infoFooterText:{fontSize:12},ctaRow:{flexDirection:"row",gap:10,marginBottom:16,marginTop:8},ctaFlex:{flex:1},ctaButton:{paddingVertical:14,alignItems:"center",justifyContent:"center"},ctaContent:{flexDirection:"row",alignItems:"center",gap:8},ctaText:{fontSize:15},sheetHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingBottom:16,paddingTop:20},sheetHeaderSpacer:{width:36},sheetTitle:{fontSize:16,fontWeight:"500",flex:1,textAlign:"center"},sheetCloseButton:{width:36,height:36,alignItems:"center",justifyContent:"center"},searchContainer:{paddingHorizontal:16,paddingBottom:12},searchInput:{height:48,paddingHorizontal:16,fontSize:14},sheetList:{flex:1,paddingTop:8},sheetListContent:{paddingBottom:56},sheetItem:{flexDirection:"row",alignItems:"center",paddingVertical:12,paddingHorizontal:16,marginHorizontal:16,borderRadius:12,gap:10},sheetItemIcon:{width:32,height:32,borderRadius:16},sheetItemTitle:{fontSize:15},sheetItemSpacer:{flex:1},sheetItemBadge:{paddingHorizontal:8,paddingVertical:3,borderRadius:6},sheetItemBadgeText:{fontSize:12},emptyState:{padding:32,alignItems:"center"},emptyText:{fontSize:14},chainItem:{flexDirection:"row",alignItems:"center",paddingVertical:12,paddingHorizontal:16,marginHorizontal:16,borderRadius:12,gap:12},chainItemIcon:{width:24,height:24,borderRadius:12},chainItemInfo:{flex:1},chainItemName:{fontSize:15},chainMinBadge:{paddingHorizontal:8,paddingVertical:3,borderRadius:6},chainMinBadgeText:{fontSize:11,fontWeight:"500"}});function Ab(e){let t=e.split("/"),r=t[t.length-1];return r&&r.length>10?`${r.slice(0,6)}...${r.slice(-3)}`:r||""}function b1(e){let r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][e.getMonth()],o=e.getDate(),n=e.getFullYear(),i=e.getHours(),s=e.getMinutes(),a=i>=12?"pm":"am";i=i%12,i=i||12;let l=s<10?`0${s}`:s;return `${r} ${o}, ${n} at ${i}:${l}${a}`}function ap({visible:e,status:t,tokenIconUrl:r,explorerUrl:o,completionExplorerUrl:n,date:i,amountUsd:s,onClose:a,borderTopLeftRadius:l,borderTopRightRadius:c,useModal:p,heightProcessing:g,heightCompleted:k,heightCompletedExpanded:d}){let{components:f}=z(),[S,h]=ta.useState(false),w=t==="succeeded";return jsxRuntime.jsx(rr,{visible:e,onClose:a,closeOnBackdropPress:true,enablePanDownToClose:false,showHandle:false,heightPercent:w?S?d??k??.55:k??.55:g??.4,borderTopLeftRadius:l,borderTopRightRadius:c,useModal:p,children:jsxRuntime.jsxs(reactNative.View,{style:Br.sheetWrapper,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Br.closeButton,onPress:a,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx($t,{size:20,color:f.header.buttonColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.ScrollView,{style:Br.scrollView,bounces:false,showsVerticalScrollIndicator:false,contentContainerStyle:Br.scrollContent,children:jsxRuntime.jsx(w1,{status:t,tokenIconUrl:r,explorerUrl:o,completionExplorerUrl:n,date:i,amountUsd:s,showDetails:S,onToggleDetails:()=>h(!S)})})]})})}function w1({status:e,tokenIconUrl:t,explorerUrl:r,completionExplorerUrl:o,date:n,amountUsd:i,showDetails:s,onToggleDetails:a,containerStyle:l}){let{colors:c,fonts:p,components:g}=z(),[k,d]=ta.useState(false),f=s??k,S=a??(()=>d(P=>!P)),h=e==="pending"||e==="waiting"||e==="delayed",w=e==="succeeded",v=!!r||!!o,I=()=>{r&&reactNative.Linking.openURL(r);},x=()=>{o&&reactNative.Linking.openURL(o);};return jsxRuntime.jsxs(reactNative.View,{style:[Br.container,l],children:[jsxRuntime.jsx(reactNative.View,{style:Br.iconContainer,children:h?jsxRuntime.jsx(Ct,{size:80,strokeWidth:4,iconSize:56,children:t?jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(t)},style:Br.tokenIconFill}):jsxRuntime.jsx(reactNative.View,{style:[Br.tokenIconFill,{backgroundColor:c.cardHover}]})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[t?jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(t)},style:Br.tokenIconLarge}):jsxRuntime.jsx(reactNative.View,{style:[Br.tokenIconLarge,{backgroundColor:c.cardHover}]}),jsxRuntime.jsx(reactNative.View,{style:[Br.statusBadge,{backgroundColor:g.container.iconBackgroundColor}],children:jsxRuntime.jsx(It,{size:16,color:g.container.iconColor,strokeWidth:3})})]})}),jsxRuntime.jsx(reactNative.Text,{style:[Br.title,{color:g.container.titleColor,fontFamily:p.semibold}],children:h?"Deposit Processing":"Deposit Complete"}),i!==void 0&&jsxRuntime.jsxs(reactNative.Text,{style:[Br.amount,{color:g.container.titleColor,fontFamily:p.bold}],children:["$",i.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})]}),n&&jsxRuntime.jsx(reactNative.Text,{style:[Br.date,{color:g.container.subtitleColor,fontFamily:p.regular}],children:b1(n)}),jsxRuntime.jsx(reactNative.Text,{style:[Br.subtitle,{color:g.container.subtitleColor,fontFamily:p.regular}],children:h?"This usually takes less than a minute.":"Your account has been credited successfully!"}),w&&v&&jsxRuntime.jsxs(reactNative.View,{style:Br.detailsSection,children:[jsxRuntime.jsx(reactNative.View,{style:[Br.divider,{backgroundColor:c.border}]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Br.detailsToggle,onPress:S,children:[jsxRuntime.jsx(reactNative.Text,{style:[Br.detailsToggleText,{color:g.container.actionTitle,fontFamily:p.medium}],children:f?"See less":"See more details"}),f?jsxRuntime.jsx(di,{size:18,color:g.container.actionColor,strokeWidth:2}):jsxRuntime.jsx(Ar,{size:18,color:g.container.actionColor,strokeWidth:2})]}),f&&jsxRuntime.jsxs(reactNative.View,{style:Br.txButtonsContainer,children:[r&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[Br.txButton,{backgroundColor:g.card.backgroundColor,borderColor:c.border}],onPress:I,children:[jsxRuntime.jsx(reactNative.Text,{style:[Br.txLabel,{color:g.card.titleColor,fontFamily:p.medium}],children:"Deposit tx"}),jsxRuntime.jsx(reactNative.Text,{style:[Br.txHash,{color:g.card.subtitleColor,fontFamily:p.regular}],children:Ab(r)}),jsxRuntime.jsx(En,{size:16,color:g.card.actionColor,strokeWidth:2})]}),o&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[Br.txButton,{backgroundColor:g.card.backgroundColor,borderColor:c.border}],onPress:x,children:[jsxRuntime.jsx(reactNative.Text,{style:[Br.txLabel,{color:g.card.titleColor,fontFamily:p.medium}],children:"Completion tx"}),jsxRuntime.jsx(reactNative.Text,{style:[Br.txHash,{color:g.card.subtitleColor,fontFamily:p.regular}],children:Ab(o)}),jsxRuntime.jsx(En,{size:16,color:g.card.actionColor,strokeWidth:2})]})]})]})]})}var Br=reactNative.StyleSheet.create({sheetWrapper:{flex:1},scrollView:{flex:1},scrollContent:{flexGrow:1},container:{alignItems:"center",paddingHorizontal:24,paddingTop:40,paddingBottom:20},closeButton:{position:"absolute",top:12,right:12,width:40,height:40,alignItems:"center",justifyContent:"center",zIndex:10},iconContainer:{position:"relative",marginBottom:16},tokenIcon:{width:64,height:64,borderRadius:32},tokenIconLarge:{width:68,height:68,borderRadius:34},tokenIconFill:{width:"100%",height:"100%",borderRadius:34},statusBadge:{position:"absolute",bottom:-2,right:-2,width:28,height:28,borderRadius:14,alignItems:"center",justifyContent:"center"},title:{fontSize:18,fontWeight:"600",marginBottom:4,textAlign:"center"},amount:{fontSize:28,fontWeight:"700",marginBottom:4,textAlign:"center"},date:{fontSize:13,textAlign:"center",marginBottom:12},detailsSection:{width:"100%",marginTop:16,paddingHorizontal:16},divider:{height:1,width:"100%",opacity:.15},detailsToggle:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",paddingVertical:12},detailsToggleText:{fontSize:14,fontWeight:"500"},txButtonsContainer:{width:"100%",gap:10,marginTop:10},txButton:{flexDirection:"row",alignItems:"center",width:"100%",paddingVertical:12,paddingHorizontal:14,borderRadius:10,borderWidth:1,gap:8},txLabel:{fontSize:14,fontWeight:"500"},txHash:{fontSize:14,flex:1,textAlign:"right"},subtitle:{fontSize:14,textAlign:"center",lineHeight:20,paddingTop:8},buttonRow:{flexDirection:"row",gap:10,width:"100%"},button:{paddingVertical:14,paddingHorizontal:20,borderRadius:10,alignItems:"center",justifyContent:"center"},halfButton:{flex:1},successButton:{backgroundColor:"#22C55E"},buttonText:{color:"#fff",fontSize:14,fontWeight:"600"},hint:{fontSize:12,marginTop:12,textAlign:"center"}});function xm({visible:e,onClose:t,priceImpact:r,maxSlippage:o,minDepositUsd:n,chainName:i,borderTopLeftRadius:s,borderTopRightRadius:a,useModal:l}){let{colors:c,fonts:p,components:g}=z(),k=[{icon:jsxRuntime.jsx($o,{size:14,color:g.card.iconColor,strokeWidth:2}),label:"Processing time: <1 min"},{icon:jsxRuntime.jsx(Yn,{size:14,color:g.card.iconColor,strokeWidth:2}),label:`Minimum deposit: $${n} on ${i}`},{icon:jsxRuntime.jsx(Yn,{size:14,color:g.card.iconColor,strokeWidth:2}),label:`Price Impact: ${r.toFixed(2)}%`},{icon:jsxRuntime.jsx(Jo,{size:14,color:g.card.iconColor,strokeWidth:2}),label:`Slippage Auto: ${o.toFixed(2)}%`}];return jsxRuntime.jsx(rr,{visible:e,onClose:t,closeOnBackdropPress:true,showHandle:false,marginHorizontal:16,marginBottom:24,borderTopLeftRadius:s,borderTopRightRadius:a,useModal:l,children:jsxRuntime.jsxs(reactNative.View,{style:Qn.container,children:[jsxRuntime.jsxs(reactNative.View,{style:Qn.header,children:[jsxRuntime.jsxs(reactNative.View,{style:Qn.titleRow,children:[jsxRuntime.jsx(Jn,{size:16,color:g.header.titleColor,strokeWidth:2}),jsxRuntime.jsx(reactNative.Text,{style:[Qn.title,{color:g.header.titleColor,fontFamily:p.semibold}],children:"Deposit Info"})]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:t,hitSlop:{top:16,bottom:16,left:16,right:16},style:Qn.closeButton,children:jsxRuntime.jsx($t,{size:18,color:g.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:Qn.rows,children:[k.map((d,f)=>jsxRuntime.jsxs(reactNative.View,{style:Qn.row,children:[jsxRuntime.jsx(reactNative.View,{style:[Qn.iconContainer,{backgroundColor:g.card.iconBackgroundColor,borderRadius:g.card.iconContainerBorderRadius}],children:d.icon}),jsxRuntime.jsx(reactNative.Text,{style:[Qn.label,{color:g.card.titleColor,fontFamily:p.regular}],children:d.label})]},f)),jsxRuntime.jsxs(reactNative.View,{style:Qn.row,children:[jsxRuntime.jsx(reactNative.View,{style:[Qn.iconContainer,{backgroundColor:g.card.iconBackgroundColor,borderRadius:g.card.iconContainerBorderRadius}],children:jsxRuntime.jsx(Ga,{size:14,color:g.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Qn.label,{color:g.card.titleColor,fontFamily:p.regular}],children:["Need Help?"," ",jsxRuntime.jsx(reactNative.Text,{style:{textDecorationLine:"underline"},onPress:()=>reactNative.Linking.openURL("https://unifold.io/support"),children:"Contact Support"})]})]})]})]})})}var Qn=reactNative.StyleSheet.create({container:{paddingHorizontal:20,paddingTop:20,paddingBottom:0},header:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:16},titleRow:{flexDirection:"row",alignItems:"center",gap:6},title:{fontSize:16},closeButton:{width:36,height:36,alignItems:"center",justifyContent:"center"},rows:{gap:16},row:{flexDirection:"row",alignItems:"center",gap:12},iconContainer:{width:28,height:28,alignItems:"center",justifyContent:"center"},label:{fontSize:14,flex:1}});var Fn={transferCrypto:{title:"Transfer Crypto",subtitle:"No limit \u2022 Instant"},depositWithCard:{title:"Deposit with Card",subtitle:"$50,000 limit \u2022 2 min"},stripeLinkPay:{title:"Pay with Link",subtitle:"Buy with card or bank"},depositTracker:{title:"Deposit Tracker",subtitle:"Track your deposit progress"},coinbaseApplePay:{title:"Pay with Apple Pay",subtitle:"Instant"},tabs:{crypto:"Use Crypto",cash:"Use Cash"}};function v1(){let{colors:e,components:t}=z(),r=ta.useRef(new reactNative.Animated.Value(.5)).current,o=t.depositMenu.card.backgroundColor,n=e.cardHover;ta.useEffect(()=>{let s=reactNative.Animated.loop(reactNative.Animated.sequence([reactNative.Animated.timing(r,{toValue:1,duration:800,useNativeDriver:true}),reactNative.Animated.timing(r,{toValue:.5,duration:800,useNativeDriver:true})]));return s.start(),()=>s.stop()},[r]);let i=({rightIcons:s=2})=>jsxRuntime.jsxs(reactNative.View,{style:[Gs.card,{backgroundColor:o,borderRadius:t.depositMenu.card.borderRadius}],children:[jsxRuntime.jsx(reactNative.Animated.View,{style:[Gs.leftIcon,{backgroundColor:n,opacity:r,borderRadius:t.depositMenu.card.iconContainerBorderRadius}]}),jsxRuntime.jsxs(reactNative.View,{style:Gs.textBlock,children:[jsxRuntime.jsx(reactNative.Animated.View,{style:[Gs.titleBar,{backgroundColor:n,opacity:r}]}),jsxRuntime.jsx(reactNative.Animated.View,{style:[Gs.subtitleBar,{backgroundColor:n,opacity:r}]})]}),jsxRuntime.jsx(reactNative.View,{style:Gs.rightIcons,children:Array.from({length:s}).map((a,l)=>jsxRuntime.jsx(reactNative.Animated.View,{style:[Gs.rightIcon,{backgroundColor:n,opacity:r}]},l))})]});return jsxRuntime.jsxs(reactNative.View,{style:Gs.container,children:[jsxRuntime.jsx(i,{rightIcons:3}),jsxRuntime.jsx(i,{rightIcons:2}),jsxRuntime.jsx(i,{rightIcons:0})]})}var Gs=reactNative.StyleSheet.create({container:{paddingTop:8,paddingBottom:24,gap:8},card:{marginHorizontal:16,flexDirection:"row",alignItems:"center",paddingVertical:16,paddingHorizontal:12,gap:12},leftIcon:{width:36,height:36},textBlock:{flex:1,gap:6},titleBar:{height:12,width:"70%",borderRadius:6},subtitleBar:{height:10,width:"50%",borderRadius:5},rightIcons:{flexDirection:"row",alignItems:"center",gap:4},rightIcon:{width:20,height:20,borderRadius:10}});function R1({selected:e,onSelect:t}){let{colors:r,fonts:o,components:n}=z(),i=({tab:s,label:a,glyph:l})=>{let c=e===s,p=c?r.foreground:r.foregroundMuted;return jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:cd.item,activeOpacity:.8,onPress:()=>t(s),children:[c&&jsxRuntime.jsx(reactNative.View,{style:[reactNative.StyleSheet.absoluteFill,{backgroundColor:r.primary,opacity:.15,borderRadius:10}]}),jsxRuntime.jsx(reactNative.View,{style:[cd.badge,{backgroundColor:p}],children:jsxRuntime.jsx(reactNative.Text,{style:[cd.badgeGlyph,{color:r.background,fontFamily:o.semibold}],children:l})}),jsxRuntime.jsx(reactNative.Text,{style:[cd.label,{color:p,fontFamily:o.semibold}],children:a})]})};return jsxRuntime.jsxs(reactNative.View,{style:[cd.bar,{backgroundColor:n.depositMenu.card.backgroundColor}],children:[jsxRuntime.jsx(i,{tab:"crypto",label:Fn.tabs.crypto,glyph:"\u20BF"}),jsxRuntime.jsx(i,{tab:"cash",label:Fn.tabs.cash,glyph:"$"})]})}var cd=reactNative.StyleSheet.create({bar:{flexDirection:"row",borderRadius:12,padding:4,gap:4,marginHorizontal:16,marginBottom:8},item:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,paddingVertical:10,borderRadius:10,overflow:"hidden"},badge:{width:20,height:20,borderRadius:10,alignItems:"center",justifyContent:"center"},badgeGlyph:{fontSize:11,fontWeight:"700",lineHeight:14,textAlign:"center",includeFontPadding:false},label:{fontSize:14}});function I1({visible:e,onClose:t,closeOnBackdropPress:r=false,externalUserId:o,publishableKey:n,modalTitle:i="Deposit",transferCryptoTitle:s,user:a,destinationTokenSymbol:l,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,defaultChainType:d,defaultChainId:f,defaultTokenAddress:S,showBalance:h=false,hideDepositTracker:w,enableTransferCrypto:v,enableCashApp:I,enableConnectWallet:x,enableCoinbaseApplePay:P,enableFiatOnramp:m,enableStripeLink:u,StripeOnrampComponent:T,stripePaymentSelectorPosition:b,stripeSkipSuccessConfirmation:A,stripeTheme:O,depositConfirmationMode:F="auto_ui",transferInputVariant:B="double_input",depositMenuDisplay:W="stacked",initialScreen:N="main",onDepositSuccess:Z,onDepositError:je,sheetBorderRadius:Y}){let rt=Y?.globalBorderTopLeftRadius,oe=Y?.globalBorderTopRightRadius,{colors:ce,fonts:ae}=z(),[te,ke]=ta.useState([]),[j,Ie]=ta.useState(null),[pt,Ge]=ta.useState(false),[Se,qe]=ta.useState(false),ot=ta.useRef(null),[Ye,dt]=ta.useState("amount"),[st,Me]=ta.useState(false),[be,we]=ta.useState(null),[ze,ut]=ta.useState(void 0),[ht,xt]=ta.useState(false),[lr,Ue]=ta.useState(null),me=v??j?.transfer_crypto?.enabled??true,Je=x??j?.connect_wallet?.enabled??false,Qe=I??j?.cash_app?.enabled??false,Ve=P??j?.apple_pay?.enabled??false,he=reactNative.Platform.OS==="ios"&&Ve&&pt,Ne=!j?.fiat_onramp?.is_hidden&&(m??j?.fiat_onramp?.enabled??true),vt=!j?.stripe_link?.is_hidden&&(u??j?.stripe_link?.enabled??false)&&!!T,Vt=w?false:j?.deposit_tracker?.enabled??true,Ht=v??j?.transfer_crypto?.enabled??false,lt=x??j?.connect_wallet?.enabled??false,er=I??j?.cash_app?.enabled??false,Xe=he,yt=!!j&&vt,gt=!!j&&!j?.fiat_onramp?.is_hidden&&(m??j?.fiat_onramp?.enabled??false),De=w?false:j?.deposit_tracker?.enabled??false,at=N==="tracker"&&De?"tracker":N==="transfer"&&Ht?"transfer":N==="card"&>?"card":N==="cashapp"&&er?"cashapp":N==="apple_pay"&&Xe?"coinbaseApplePay":N==="stripe_link"&&yt?"stripe":N==="wallet"&<?"wallet":"main",[X,Pe]=ta.useState(at==="main"),[_,C]=ta.useState(at),[M,q]=ta.useState("crypto"),{isAllowed:J,isLoading:K}=sd(n,e);ta.useEffect(()=>{if(!e||j)return;let Lt=false;return wc(n).then(async Qr=>{if(Lt)return;let ne=[];for(let ue of Qr?.transfer_crypto?.networks??[]){let zt=ue.icon_urls.find(ur=>ur.format==="png")?.url||ue.icon_urls.find(ur=>ur.format==="svg")?.url;zt&&ne.push(ye(zt));}for(let ue of Qr?.payment_networks?.networks??[]){let zt=ue.icon_urls.find(ur=>ur.format==="png")?.url||ue.icon_urls.find(ur=>ur.format==="svg")?.url;zt&&ne.push(ye(zt));}ne.length>0&&await Hc(ne),Lt||Ie(Qr);}).catch(console.error),()=>{Lt=true;}},[e,j,n]),ta.useEffect(()=>{if(ot.current!==n&&(Ge(false),qe(false)),!e||reactNative.Platform.OS!=="ios"||!Ve||ot.current===n)return;let Lt=false;return (async()=>{for(let ne=1;ne<=4;ne++)try{let ue=await vh(n);if(Lt)return;ot.current=n;let zt=(ue.data??[]).some(ur=>ur.enabled??!0);Ge(zt),qe(!0);return}catch{if(Lt)return;if(ne===4){qe(true);return}await new Promise(ue=>setTimeout(()=>ue(),500*2**(ne-1)));}})(),()=>{Lt=true;}},[e,Ve,n]);let _e=reactNative.Platform.OS!=="ios"||!Ve||Se,et=()=>{t();},L=ta.useRef(false);ta.useEffect(()=>{e&&!L.current&&(C(at),Pe(at==="main"),dt("amount"),xt(false),Ue(null),q("crypto")),L.current=e;},[e,at]),ta.useEffect(()=>{if(!e||_!=="main")return;if(N==="apple_pay"){if(he){C("coinbaseApplePay"),Pe(false);return}_e&&Pe(true);return}if(!j)return;let Lt=N==="wallet"&&Je?"wallet":N==="transfer"&&me?"transfer":N==="card"&&Ne?"card":N==="cashapp"&&Qe?"cashapp":N==="stripe_link"&&vt?"stripe":N==="tracker"&&Vt?"tracker":null;Lt&&(C(Lt),Pe(false));},[e,j,N,_,Je,me,Ne,Qe,he,vt,Vt,_e]),ta.useEffect(()=>{if(!j)return;(_==="transfer"&&!me||_==="card"&&!Ne||_==="cashapp"&&!Qe||_==="coinbaseApplePay"&&!he||_==="stripe"&&!vt||_==="wallet"&&!Je||_==="tracker"&&!Vt)&&(C("main"),Pe(true));},[j,_,me,Ne,Qe,he,vt,Je,Vt]);let U=ta.useCallback(Lt=>{Lt.length!==0&&ke(Qr=>{let ne=new Map(Qr.map(ue=>[ue.id,ue]));for(let ue of Lt)ne.set(ue.id,ue);return Array.from(ne.values())});},[]),kt=ta.useCallback(()=>{xt(false),Ue(null),X?(C("main"),dt("amount")):et();},[X,et]),Le=ta.useRef(reactNative.AppState.currentState==="active"),Fe=ta.useRef(0);ta.useEffect(()=>{if(reactNative.Platform.OS!=="android")return;let Lt=reactNative.AppState.addEventListener("change",Qr=>{Qr==="active"&&!Le.current&&(Fe.current=Date.now()),Le.current=Qr==="active";});return ()=>Lt.remove()},[]);let bt=ta.useCallback(()=>{if(reactNative.Platform.OS==="android"){let Lt=!Le.current,Qr=Date.now()-Fe.current<800;if(Lt||Qr)return}kt();},[kt]),nt=te.filter(Lt=>Lt.status==="pending"||Lt.status==="waiting").length,vr=!!(c&&p&&g&&k&&n)&&h!==false&&!!j,ft=gc.includes(p)?p:void 0,tr=K||e&&!j,Mt=J===false,qr=null;if(_==="stripe"&&T){let Lt=jsxRuntime.jsx(T,{publishableKey:n,email:a?.email,phone:a?.phone,externalUserId:o,recipientAddress:c??"",destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,paymentSelectorPosition:b,skipSuccessConfirmation:A,appName:j?.project_name??"",onClose:kt});qr=O?jsxRuntime.jsx(Ja,{...O,children:Lt}):Lt;}let Mr=(me?1:0)+(Je?1:0)+(Ne?1:0)+(Qe?1:0)+(he?1:0)+(vt?1:0)+(Vt?1:0),li=W!=="tabs"&&Mr>5,on=_==="stripe"||_==="transfer"||_==="card"||_==="cashapp"||_==="coinbaseApplePay"||_==="wallet"?.9:_==="tracker"?.6:_==="main"?li?.9:Qe||Je||he?.6:.5:void 0,yo=_==="main"?.9:void 0,nn={main:Y?.main,transfer:Y?.transferCrypto,card:Y?.buyWithCard,stripe:Y?.stripeLink,cashapp:Y?.cashApp,coinbaseApplePay:Y?.coinbaseApplePay,wallet:Y?.connectWallet,tracker:Y?.depositsTracker}[_],ko=nn?.borderTopLeftRadius??rt,na=nn?.borderTopRightRadius??oe,bo=jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[be&&jsxRuntime.jsx(ap,{visible:st,useModal:false,status:be.status,tokenIconUrl:be.destination_token_metadata?.icon_urls?.find(Lt=>Lt.format==="png")?.url||be.destination_token_metadata?.icon_url||ze,explorerUrl:be.explorer_url,completionExplorerUrl:be.destination_explorer_url,date:be.created_at?new Date(be.created_at):void 0,amountUsd:be.source_amount_usd?parseFloat(be.source_amount_usd):void 0,onClose:()=>Me(false),heightProcessing:_==="card"||_==="wallet"?.35:void 0,heightCompleted:_==="card"||_==="wallet"?.41:void 0,heightCompletedExpanded:_==="card"||_==="wallet"?.53:void 0,borderTopLeftRadius:Y?.depositStatus?.borderTopLeftRadius??rt,borderTopRightRadius:Y?.depositStatus?.borderTopRightRadius??oe}),lr&&jsxRuntime.jsx(xm,{visible:ht,useModal:false,onClose:()=>xt(false),priceImpact:lr.priceImpact,maxSlippage:lr.maxSlippage,minDepositUsd:lr.minDepositUsd,chainName:lr.chainName,borderTopLeftRadius:Y?.infoSheet?.borderTopLeftRadius??rt,borderTopRightRadius:Y?.infoSheet?.borderTopRightRadius??oe})]});return jsxRuntime.jsxs(rr,{visible:e,onClose:_==="main"?et:bt,closeOnBackdropPress:r,onBackdropPress:et,enablePanDownToClose:true,showHandle:true,heightPercent:on,maxHeightPercent:yo,borderTopLeftRadius:ko,borderTopRightRadius:na,overlay:bo,children:[_==="main"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fo,{title:i,showBack:false,onClose:et,showBalance:vr,balanceAddress:c,balanceChainType:ft,balanceChainId:g,balanceTokenAddress:k,publishableKey:n,projectName:j?.project_name}),tr&&jsxRuntime.jsx(v1,{}),!tr&&Mt&&jsxRuntime.jsxs(reactNative.View,{style:To.centeredContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[To.iconContainer,{backgroundColor:ce.cardHover}],children:jsxRuntime.jsx(dc,{size:32,color:ce.foreground,strokeWidth:1.5})}),jsxRuntime.jsx(reactNative.Text,{style:[To.blockedTitle,{color:ce.foreground,fontFamily:ae.semibold}],children:"No Tokens Available"}),jsxRuntime.jsx(reactNative.Text,{style:[To.blockedDescription,{color:ce.foreground,opacity:.7,fontFamily:ae.regular}],children:"There are no supported tokens available from your current location."})]}),!tr&&!Mt&&(()=>{let Lt=me?jsxRuntime.jsx($c,{onPress:()=>C("transfer"),title:s??Fn.transferCrypto.title,subtitle:Fn.transferCrypto.subtitle,featuredTokens:j?.transfer_crypto?.networks},"transfer"):null,Qr=Ne?jsxRuntime.jsx(qc,{onPress:()=>C("card"),title:Fn.depositWithCard.title,subtitle:Fn.depositWithCard.subtitle,paymentNetworks:j?.payment_networks?.networks},"card"):null,ne=Je?jsxRuntime.jsx(Jc,{onPress:()=>C("wallet"),featuredWallets:j?.connect_wallet?.wallets},"wallet"):null,ue=Qe?jsxRuntime.jsx(Yc,{onPress:()=>C("cashapp")},"cashapp"):null,zt=he?jsxRuntime.jsx(Zc,{onPress:()=>C("coinbaseApplePay"),title:Fn.coinbaseApplePay.title,subtitle:Fn.coinbaseApplePay.subtitle},"coinbaseApplePay"):null,ur=vt?jsxRuntime.jsx(Gc,{onPress:()=>C("stripe"),title:Fn.stripeLinkPay.title,subtitle:Fn.stripeLinkPay.subtitle},"stripe"):null,Go=Vt?jsxRuntime.jsx(Qc,{onPress:()=>C("tracker"),title:Fn.depositTracker.title,subtitle:Fn.depositTracker.subtitle,badge:nt>0?nt:void 0},"tracker"):null;return jsxRuntime.jsxs(reactNative.View,{style:To.optionsContainer,children:[W==="tabs"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(R1,{selected:M,onSelect:q}),M==="crypto"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[Lt,ne]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[ur,Qr,ue,zt]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[Lt,ne,ur,Qr,ue,zt]}),Go]})})()]}),_==="transfer"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fo,{title:s??Fn.transferCrypto.title,showBack:false,onClose:kt,showBalance:vr,balanceAddress:c,balanceChainType:ft,balanceChainId:g,balanceTokenAddress:k,publishableKey:n,projectName:j?.project_name}),K&&jsxRuntime.jsx(reactNative.View,{style:[To.centeredContainer,To.centeredFlex],children:jsxRuntime.jsx(reactNative.ActivityIndicator,{color:ce.primary})}),!K&&Mt&&jsxRuntime.jsxs(reactNative.View,{style:[To.centeredContainer,To.centeredFlex],children:[jsxRuntime.jsx(reactNative.View,{style:[To.iconContainer,{backgroundColor:ce.cardHover}],children:jsxRuntime.jsx(dc,{size:32,color:ce.foreground,strokeWidth:1.5})}),jsxRuntime.jsx(reactNative.Text,{style:[To.blockedTitle,{color:ce.foreground,fontFamily:ae.semibold}],children:"No Tokens Available"}),jsxRuntime.jsx(reactNative.Text,{style:[To.blockedDescription,{color:ce.foreground,opacity:.7,fontFamily:ae.regular}],children:"There are no supported tokens available from your current location."})]}),!K&&!Mt&&jsxRuntime.jsx(Yt,{style:To.transferScrollContainer,contentContainerStyle:B==="compact"?To.scrollContentCompact:To.scrollContent,showsVerticalScrollIndicator:false,children:B==="compact"?jsxRuntime.jsx(ip,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,destinationTokenSymbol:l,defaultChainType:d,defaultChainId:f,defaultTokenAddress:S,depositConfirmationMode:F,onExecutionsChange:U,onDepositSuccess:Z,onDepositError:je,onLatestExecution:we,onShowStatusSheet:Me,onSelectedTokenIconUrl:ut,onShowInfoSheet:xt,onInfoSheetData:Ue,borderTopLeftRadius:rt,borderTopRightRadius:oe,sheetBorderRadius:{tokenSelector:Y?.tokenSelector,chainSelector:Y?.chainSelector,infoSheet:Y?.infoSheet,depositStatus:Y?.depositStatus}}):B==="single_input"?jsxRuntime.jsx(km,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,destinationTokenSymbol:l,defaultChainType:d,defaultChainId:f,defaultTokenAddress:S,depositConfirmationMode:F,onExecutionsChange:U,onDepositSuccess:Z,onDepositError:je,onLatestExecution:we,onShowStatusSheet:Me,onSelectedTokenIconUrl:ut,borderTopLeftRadius:rt,borderTopRightRadius:oe,sheetBorderRadius:{tokenSelector:Y?.tokenSelector,infoSheet:Y?.infoSheet,depositStatus:Y?.depositStatus}}):jsxRuntime.jsx(Nu,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,destinationTokenSymbol:l,defaultChainType:d,defaultChainId:f,defaultTokenAddress:S,depositConfirmationMode:F,onExecutionsChange:U,onDepositSuccess:Z,onDepositError:je,onLatestExecution:we,onShowStatusSheet:Me,onSelectedTokenIconUrl:ut,borderTopLeftRadius:rt,borderTopRightRadius:oe,sheetBorderRadius:{tokenSelector:Y?.tokenSelector,chainSelector:Y?.chainSelector,infoSheet:Y?.infoSheet,depositStatus:Y?.depositStatus}})})]}),_==="card"&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fo,{title:`Deposit ${l||"USDC"}`,showBack:Ye==="onramp",onBack:()=>dt("amount"),onClose:kt,showBalance:vr,balanceAddress:c,balanceChainType:ft,balanceChainId:g,balanceTokenAddress:k,publishableKey:n,projectName:j?.project_name}),jsxRuntime.jsx(reactNative.View,{style:To.buyWithCardContainer,children:jsxRuntime.jsx(Ku,{externalUserId:o,publishableKey:n,destinationTokenSymbol:l,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,onDepositSuccess:Z,onDepositError:je,onExecutionsChange:U,onLatestExecution:we,onShowStatusSheet:Me,onSelectedTokenIconUrl:ut,view:Ye,onViewChange:Lt=>dt(Lt),borderTopLeftRadius:rt,borderTopRightRadius:oe,sheetBorderRadius:{providerModal:Y?.providerModal,webView:Y?.webView,currencyModal:Y?.currencyModal}})})]}),_==="cashapp"&&jsxRuntime.jsx(reactNative.View,{style:To.cashAppContainer,children:jsxRuntime.jsx(vu,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,onBack:kt,onClose:kt,onDepositSuccess:Z})}),_==="coinbaseApplePay"&&jsxRuntime.jsx(reactNative.View,{style:To.coinbaseApplePayContainer,children:jsxRuntime.jsx(Du,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,destinationTokenSymbol:l,user:a,enabled:he,onBack:kt,onClose:kt,onDepositSuccess:Z,onDepositError:je,onExecutionsChange:U})}),_==="wallet"&&jsxRuntime.jsx(reactNative.View,{style:To.connectWalletContainer,children:jsxRuntime.jsx(Wu,{externalUserId:o,publishableKey:n,recipientAddress:c,destinationChainType:p,destinationChainId:g,destinationTokenAddress:k,onBack:kt,onClose:kt,onDepositSuccess:Z,onDepositError:je,onExecutionsChange:U,onLatestExecution:we,onShowStatusSheet:Me})}),_==="stripe"&&qr&&jsxRuntime.jsx(reactNative.View,{style:To.stripeLinkPayContainer,children:qr}),_==="tracker"&&jsxRuntime.jsx(bm,{active:_==="tracker",onClose:kt,executions:te,externalUserId:o,publishableKey:n})]})}function dp({theme:e="auto",...t}){return jsxRuntime.jsx(I1,{...t})}var To=reactNative.StyleSheet.create({optionsContainer:{paddingTop:8,paddingBottom:24,gap:8},transferScrollContainer:{flex:1},scrollContent:{paddingBottom:24},scrollContentCompact:{flexGrow:1,paddingBottom:24},buyWithCardContainer:{flex:1},stripeLinkPayContainer:{flex:1},cashAppContainer:{flex:1},connectWalletContainer:{flex:1},coinbaseApplePayContainer:{flex:1},centeredContainer:{alignItems:"center",justifyContent:"center",paddingVertical:48,paddingHorizontal:16,minHeight:200},centeredFlex:{flex:1},iconContainer:{width:64,height:64,borderRadius:32,alignItems:"center",justifyContent:"center",marginBottom:16},blockedTitle:{fontSize:18,fontWeight:"600",marginBottom:8,textAlign:"center"},blockedDescription:{fontSize:14,textAlign:"center",maxWidth:280,lineHeight:20}});var $l=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this);}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe();}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};var La,Js,jl,Lb,F1=(Lb=class extends $l{constructor(){super();pe(this,La);pe(this,Js);pe(this,jl);G(this,jl,t=>{if(typeof window<"u"&&window.addEventListener){let r=()=>t();return window.addEventListener("visibilitychange",r,false),()=>{window.removeEventListener("visibilitychange",r);}}});}onSubscribe(){y(this,Js)||this.setEventListener(y(this,jl));}onUnsubscribe(){var t;this.hasListeners()||((t=y(this,Js))==null||t.call(this),G(this,Js,void 0));}setEventListener(t){var r;G(this,jl,t),(r=y(this,Js))==null||r.call(this),G(this,Js,t(o=>{typeof o=="boolean"?this.setFocused(o):this.onFocus();}));}setFocused(t){y(this,La)!==t&&(G(this,La,t),this.onFocus());}onFocus(){let t=this.isFocused();this.listeners.forEach(r=>{r(t);});}isFocused(){return typeof y(this,La)=="boolean"?y(this,La):globalThis.document?.visibilityState!=="hidden"}},La=new WeakMap,Js=new WeakMap,jl=new WeakMap,Lb),Bb=new F1;var D1={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},Oi,Ba,Eb,A1=(Eb=class{constructor(){pe(this,Oi,D1);pe(this,Ba,false);}setTimeoutProvider(e){process.env.NODE_ENV!=="production"&&y(this,Ba)&&e!==y(this,Oi)&&console.error("[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.",{previous:y(this,Oi),provider:e}),G(this,Oi,e),process.env.NODE_ENV!=="production"&&G(this,Ba,false);}setTimeout(e,t){return process.env.NODE_ENV!=="production"&&G(this,Ba,true),y(this,Oi).setTimeout(e,t)}clearTimeout(e){y(this,Oi).clearTimeout(e);}setInterval(e,t){return process.env.NODE_ENV!=="production"&&G(this,Ba,true),y(this,Oi).setInterval(e,t)}clearInterval(e){y(this,Oi).clearInterval(e);}},Oi=new WeakMap,Ba=new WeakMap,Eb),ud=new A1;function Wb(e){setTimeout(e,0);}var vm=typeof window>"u"||"Deno"in globalThis;function ql(){}function Rm(e){return typeof e=="number"&&e>=0&&e!==1/0}function Nb(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Ql(e,t){return typeof e=="function"?e(t):e}function Dn(e,t){return typeof e=="function"?e(t):e}var O1=Object.prototype.hasOwnProperty;function up(e,t,r=0){if(e===t)return e;if(r>500)return t;let o=Mb(e)&&Mb(t);if(!o&&!(zb(e)&&zb(t)))return t;let i=(o?e:Object.keys(e)).length,s=o?t:Object.keys(t),a=s.length,l=o?new Array(a):{},c=0;for(let p=0;p<a;p++){let g=o?p:s[p],k=e[g],d=t[g];if(k===d){l[g]=k,(o?p<i:O1.call(e,g))&&c++;continue}if(k===null||d===null||typeof k!="object"||typeof d!="object"){l[g]=d;continue}let f=up(k,d,r+1);l[g]=f,f===k&&c++;}return i===a&&c===i?e:l}function pp(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return false;for(let r in e)if(e[r]!==t[r])return false;return true}function Mb(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function zb(e){if(!Ub(e))return false;let t=e.constructor;if(t===void 0)return true;let r=t.prototype;return !(!Ub(r)||!r.hasOwnProperty("isPrototypeOf")||Object.getPrototypeOf(e)!==Object.prototype)}function Ub(e){return Object.prototype.toString.call(e)==="[object Object]"}function Im(e,t,r){if(typeof r.structuralSharing=="function")return r.structuralSharing(e,t);if(r.structuralSharing!==false){if(process.env.NODE_ENV!=="production")try{return up(e,t)}catch(o){throw console.error(`Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${r.queryHash}]: ${o}`),o}return up(e,t)}return t}function fp(e,t){return typeof e=="function"?e(...t):!!e}var Kl=(()=>{let e=()=>vm;return {isServer(){return e()},setIsServer(t){e=t;}}})();function Pm(){let e,t,r=new Promise((n,i)=>{e=n,t=i;});r.status="pending",r.catch(()=>{});function o(n){Object.assign(r,n),delete r.resolve,delete r.reject;}return r.resolve=n=>{o({status:"fulfilled",value:n}),e(n);},r.reject=n=>{o({status:"rejected",reason:n}),t(n);},r}var Hb=Wb;function V1(){let e=[],t=0,r=a=>{a();},o=a=>{a();},n=Hb,i=a=>{t?e.push(a):n(()=>{r(a);});},s=()=>{let a=e;e=[],a.length&&n(()=>{o(()=>{a.forEach(l=>{r(l);});});});};return {batch:a=>{let l;t++;try{l=a();}finally{t--,t||s();}return l},batchCalls:a=>(...l)=>{i(()=>{a(...l);});},schedule:i,setNotifyFunction:a=>{r=a;},setBatchNotifyFunction:a=>{o=a;},setScheduler:a=>{n=a;}}}var pd=V1();var Gl,Zs,Yl,$b,L1=($b=class extends $l{constructor(){super();pe(this,Gl,true);pe(this,Zs);pe(this,Yl);G(this,Yl,t=>{if(typeof window<"u"&&window.addEventListener){let r=()=>t(true),o=()=>t(false);return window.addEventListener("online",r,false),window.addEventListener("offline",o,false),()=>{window.removeEventListener("online",r),window.removeEventListener("offline",o);}}});}onSubscribe(){y(this,Zs)||this.setEventListener(y(this,Yl));}onUnsubscribe(){var t;this.hasListeners()||((t=y(this,Zs))==null||t.call(this),G(this,Zs,void 0));}setEventListener(t){var r;G(this,Yl,t),(r=y(this,Zs))==null||r.call(this),G(this,Zs,t(this.setOnline.bind(this)));}setOnline(t){y(this,Gl)!==t&&(G(this,Gl,t),this.listeners.forEach(o=>{o(t);}));}isOnline(){return y(this,Gl)}},Gl=new WeakMap,Zs=new WeakMap,Yl=new WeakMap,$b),jb=new L1;function qb(e){return (e??"online")==="online"?jb.isOnline():true}function Qb(e,t){return {fetchFailureCount:0,fetchFailureReason:null,fetchStatus:qb(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}var yn,Zt,md,tn,Ea,Jl,as,Xs,hd,Zl,Xl,Wa,Ma,ea,ec,Cr,fd,Fm,Dm,Am,Om,Vm,Lm,Bm,Jb,Yb,Wm=(Yb=class extends $l{constructor(t,r){super();pe(this,Cr);pe(this,yn);pe(this,Zt);pe(this,md);pe(this,tn);pe(this,Ea);pe(this,Jl);pe(this,as);pe(this,Xs);pe(this,hd);pe(this,Zl);pe(this,Xl);pe(this,Wa);pe(this,Ma);pe(this,ea);pe(this,ec,new Set);this.options=r,G(this,yn,t),G(this,Xs,null),G(this,as,Pm()),this.bindMethods(),this.setOptions(r);}bindMethods(){this.refetch=this.refetch.bind(this);}onSubscribe(){this.listeners.size===1&&(y(this,Zt).addObserver(this),Kb(y(this,Zt),this.options)?Wt(this,Cr,fd).call(this):this.updateResult(),Wt(this,Cr,Om).call(this));}onUnsubscribe(){this.hasListeners()||this.destroy();}shouldFetchOnReconnect(){return Em(y(this,Zt),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Em(y(this,Zt),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,Wt(this,Cr,Vm).call(this),Wt(this,Cr,Lm).call(this),y(this,Zt).removeObserver(this);}setOptions(t){let r=this.options,o=y(this,Zt);if(this.options=y(this,yn).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Dn(this.options.enabled,y(this,Zt))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");Wt(this,Cr,Bm).call(this),y(this,Zt).setOptions(this.options),r._defaulted&&!pp(this.options,r)&&y(this,yn).getQueryCache().notify({type:"observerOptionsUpdated",query:y(this,Zt),observer:this});let n=this.hasListeners();n&&Gb(y(this,Zt),o,this.options,r)&&Wt(this,Cr,fd).call(this),this.updateResult(),n&&(y(this,Zt)!==o||Dn(this.options.enabled,y(this,Zt))!==Dn(r.enabled,y(this,Zt))||Ql(this.options.staleTime,y(this,Zt))!==Ql(r.staleTime,y(this,Zt)))&&Wt(this,Cr,Fm).call(this);let i=Wt(this,Cr,Dm).call(this);n&&(y(this,Zt)!==o||Dn(this.options.enabled,y(this,Zt))!==Dn(r.enabled,y(this,Zt))||i!==y(this,ea))&&Wt(this,Cr,Am).call(this,i);}getOptimisticResult(t){let r=y(this,yn).getQueryCache().build(y(this,yn),t),o=this.createResult(r,t);return E1(this,o)&&(G(this,tn,o),G(this,Jl,this.options),G(this,Ea,y(this,Zt).state)),o}getCurrentResult(){return y(this,tn)}trackResult(t,r){return new Proxy(t,{get:(o,n)=>(this.trackProp(n),r?.(n),n==="promise"&&(this.trackProp("data"),!this.options.experimental_prefetchInRender&&y(this,as).status==="pending"&&y(this,as).reject(new Error("experimental_prefetchInRender feature flag is not enabled"))),Reflect.get(o,n))})}trackProp(t){y(this,ec).add(t);}getCurrentQuery(){return y(this,Zt)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){let r=y(this,yn).defaultQueryOptions(t),o=y(this,yn).getQueryCache().build(y(this,yn),r);return o.fetch().then(()=>this.createResult(o,r))}fetch(t){return Wt(this,Cr,fd).call(this,{...t,cancelRefetch:t.cancelRefetch??true}).then(()=>(this.updateResult(),y(this,tn)))}createResult(t,r){let o=y(this,Zt),n=this.options,i=y(this,tn),s=y(this,Ea),a=y(this,Jl),c=t!==o?t.state:y(this,md),{state:p}=t,g={...p},k=false,d;if(r._optimisticResults){let b=this.hasListeners(),A=!b&&Kb(t,r),O=b&&Gb(t,o,r,n);(A||O)&&(g={...g,...Qb(p.data,t.options)}),r._optimisticResults==="isRestoring"&&(g.fetchStatus="idle");}let{error:f,errorUpdatedAt:S,status:h}=g;d=g.data;let w=false;if(r.placeholderData!==void 0&&d===void 0&&h==="pending"){let b;i?.isPlaceholderData&&r.placeholderData===a?.placeholderData?(b=i.data,w=true):b=typeof r.placeholderData=="function"?r.placeholderData(y(this,Xl)?.state.data,y(this,Xl)):r.placeholderData,b!==void 0&&(h="success",d=Im(i?.data,b,r),k=true);}if(r.select&&d!==void 0&&!w)if(i&&d===s?.data&&r.select===y(this,hd))d=y(this,Zl);else try{G(this,hd,r.select),d=r.select(d),d=Im(i?.data,d,r),G(this,Zl,d),G(this,Xs,null);}catch(b){G(this,Xs,b);}y(this,Xs)&&(f=y(this,Xs),d=y(this,Zl),S=Date.now(),h="error");let v=g.fetchStatus==="fetching",I=h==="pending",x=h==="error",P=I&&v,m=d!==void 0,T={status:h,fetchStatus:g.fetchStatus,isPending:I,isSuccess:h==="success",isError:x,isInitialLoading:P,isLoading:P,data:d,dataUpdatedAt:g.dataUpdatedAt,error:f,errorUpdatedAt:S,failureCount:g.fetchFailureCount,failureReason:g.fetchFailureReason,errorUpdateCount:g.errorUpdateCount,isFetched:t.isFetched(),isFetchedAfterMount:g.dataUpdateCount>c.dataUpdateCount||g.errorUpdateCount>c.errorUpdateCount,isFetching:v,isRefetching:v&&!I,isLoadingError:x&&!m,isPaused:g.fetchStatus==="paused",isPlaceholderData:k,isRefetchError:x&&m,isStale:Mm(t,r),refetch:this.refetch,promise:y(this,as),isEnabled:Dn(r.enabled,t)!==false};if(this.options.experimental_prefetchInRender){let b=T.data!==void 0,A=T.status==="error"&&!b,O=W=>{A?W.reject(T.error):b&&W.resolve(T.data);},F=()=>{let W=G(this,as,T.promise=Pm());O(W);},B=y(this,as);switch(B.status){case "pending":t.queryHash===o.queryHash&&O(B);break;case "fulfilled":(A||T.data!==B.value)&&F();break;case "rejected":(!A||T.error!==B.reason)&&F();break}}return T}updateResult(){let t=y(this,tn),r=this.createResult(y(this,Zt),this.options);if(G(this,Ea,y(this,Zt).state),G(this,Jl,this.options),y(this,Ea).data!==void 0&&G(this,Xl,y(this,Zt)),pp(r,t))return;G(this,tn,r);let o=()=>{if(!t)return true;let{notifyOnChangeProps:n}=this.options,i=typeof n=="function"?n():n;if(i==="all"||!i&&!y(this,ec).size)return true;let s=new Set(i??y(this,ec));return this.options.throwOnError&&s.add("error"),Object.keys(y(this,tn)).some(a=>{let l=a;return y(this,tn)[l]!==t[l]&&s.has(l)})};Wt(this,Cr,Jb).call(this,{listeners:o()});}onQueryUpdate(){this.updateResult(),this.hasListeners()&&Wt(this,Cr,Om).call(this);}},yn=new WeakMap,Zt=new WeakMap,md=new WeakMap,tn=new WeakMap,Ea=new WeakMap,Jl=new WeakMap,as=new WeakMap,Xs=new WeakMap,hd=new WeakMap,Zl=new WeakMap,Xl=new WeakMap,Wa=new WeakMap,Ma=new WeakMap,ea=new WeakMap,ec=new WeakMap,Cr=new WeakSet,fd=function(t){Wt(this,Cr,Bm).call(this);let r=y(this,Zt).fetch(this.options,t);return t?.throwOnError||(r=r.catch(ql)),r},Fm=function(){Wt(this,Cr,Vm).call(this);let t=Ql(this.options.staleTime,y(this,Zt));if(Kl.isServer()||y(this,tn).isStale||!Rm(t))return;let o=Nb(y(this,tn).dataUpdatedAt,t)+1;G(this,Wa,ud.setTimeout(()=>{y(this,tn).isStale||this.updateResult();},o));},Dm=function(){return (typeof this.options.refetchInterval=="function"?this.options.refetchInterval(y(this,Zt)):this.options.refetchInterval)??false},Am=function(t){Wt(this,Cr,Lm).call(this),G(this,ea,t),!(Kl.isServer()||Dn(this.options.enabled,y(this,Zt))===false||!Rm(y(this,ea))||y(this,ea)===0)&&G(this,Ma,ud.setInterval(()=>{(this.options.refetchIntervalInBackground||Bb.isFocused())&&Wt(this,Cr,fd).call(this);},y(this,ea)));},Om=function(){Wt(this,Cr,Fm).call(this),Wt(this,Cr,Am).call(this,Wt(this,Cr,Dm).call(this));},Vm=function(){y(this,Wa)!==void 0&&(ud.clearTimeout(y(this,Wa)),G(this,Wa,void 0));},Lm=function(){y(this,Ma)!==void 0&&(ud.clearInterval(y(this,Ma)),G(this,Ma,void 0));},Bm=function(){let t=y(this,yn).getQueryCache().build(y(this,yn),this.options);if(t===y(this,Zt))return;let r=y(this,Zt);G(this,Zt,t),G(this,md,t.state),this.hasListeners()&&(r?.removeObserver(this),t.addObserver(this));},Jb=function(t){pd.batch(()=>{t.listeners&&this.listeners.forEach(r=>{r(y(this,tn));}),y(this,yn).getQueryCache().notify({query:y(this,Zt),type:"observerResultsUpdated"});});},Yb);function B1(e,t){return Dn(t.enabled,e)!==false&&e.state.data===void 0&&!(e.state.status==="error"&&Dn(t.retryOnMount,e)===false)}function Kb(e,t){return B1(e,t)||e.state.data!==void 0&&Em(e,t,t.refetchOnMount)}function Em(e,t,r){if(Dn(t.enabled,e)!==false&&Ql(t.staleTime,e)!=="static"){let o=typeof r=="function"?r(e):r;return o==="always"||o!==false&&Mm(e,t)}return false}function Gb(e,t,r,o){return (e!==t||Dn(o.enabled,e)===false)&&(!r.suspense||e.state.status!=="error")&&Mm(e,r)}function Mm(e,t){return Dn(t.enabled,e)!==false&&e.isStaleByTime(Ql(t.staleTime,e))}function E1(e,t){return !pp(e.getCurrentResult(),t)}var W1=ta__namespace.createContext(void 0),Zb=e=>{let t=ta__namespace.useContext(W1);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t};var Xb=ta__namespace.createContext(false),ew=()=>ta__namespace.useContext(Xb);Xb.Provider;function M1(){let e=false;return {clearReset:()=>{e=false;},reset:()=>{e=true;},isReset:()=>e}}var z1=ta__namespace.createContext(M1()),tw=()=>ta__namespace.useContext(z1);var ow=(e,t,r)=>{let o=r?.state.error&&typeof e.throwOnError=="function"?fp(e.throwOnError,[r.state.error,r]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||o)&&(t.isReset()||(e.retryOnMount=false));},nw=e=>{ta__namespace.useEffect(()=>{e.clearReset();},[e]);},iw=({result:e,errorResetBoundary:t,throwOnError:r,query:o,suspense:n})=>e.isError&&!t.isReset()&&!e.isFetching&&o&&(n&&e.data===void 0||fp(r,[e.error,o]));var sw=e=>{if(e.suspense){let r=n=>n==="static"?n:Math.max(n??1e3,1e3),o=e.staleTime;e.staleTime=typeof o=="function"?(...n)=>r(o(...n)):r(o),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3));}},aw=(e,t)=>e.isLoading&&e.isFetching&&!t,lw=(e,t)=>e?.suspense&&t.isPending,zm=(e,t,r)=>t.fetchOptimistic(e).catch(()=>{r.clearReset();});function cw(e,t,r){if(process.env.NODE_ENV!=="production"&&(typeof e!="object"||Array.isArray(e)))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');let o=ew(),n=tw(),i=Zb(),s=i.defaultQueryOptions(e);i.getDefaultOptions().queries?._experimental_beforeQuery?.(s);let a=i.getQueryCache().get(s.queryHash);process.env.NODE_ENV!=="production"&&(s.queryFn||console.error(`[${s.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`));let l=e.subscribed!==false;s._optimisticResults=o?"isRestoring":l?"optimistic":void 0,sw(s),ow(s,n,a),nw(n);let c=!i.getQueryCache().get(s.queryHash),[p]=ta__namespace.useState(()=>new t(i,s)),g=p.getOptimisticResult(s),k=!o&&l;if(ta__namespace.useSyncExternalStore(ta__namespace.useCallback(d=>{let f=k?p.subscribe(pd.batchCalls(d)):ql;return p.updateResult(),f},[p,k]),()=>p.getCurrentResult(),()=>p.getCurrentResult()),ta__namespace.useEffect(()=>{p.setOptions(s);},[s,p]),lw(s,g))throw zm(s,p,n);if(iw({result:g,errorResetBoundary:n,throwOnError:s.throwOnError,query:a,suspense:s.suspense}))throw g.error;return i.getDefaultOptions().queries?._experimental_afterQuery?.(s,g),s.experimental_prefetchInRender&&!Kl.isServer()&&aw(g,o)&&(c?zm(s,p,n):a?.promise)?.catch(ql).finally(()=>{p.updateResult();}),s.notifyOnChangeProps?g:p.trackResult(g)}function ls(e,t){return cw(e,Wm)}function hp(e,t=true){return ls({queryKey:["unifold","supportedDestinationTokens",e],queryFn:()=>Ed(e),staleTime:1e3*60*5,gcTime:1e3*60*30,refetchOnMount:false,enabled:t})}function Um(e){let{sourceChainType:t,sourceChainId:r,sourceTokenAddress:o,sourceTokenSymbol:n,publishableKey:i,enabled:s=true}=e;return ls({queryKey:["unifold","sourceTokenValidation",t??null,r??null,o??null,i],queryFn:async()=>{let l=await Wi(i),c=null,p=null,g=null,k=null,d,f,S,h=l.data.some(w=>w.chains.some(v=>{let I=v.chain_type===t&&v.chain_id===r&&v.token_address.toLowerCase()===o.toLowerCase();return I&&(c=v.minimum_deposit_amount_usd,p=v.estimated_processing_time,g=v.max_slippage_percent,k=v.estimated_price_impact_percent,S=v.chain_name,f=w),I}));if(f){let w=it(f,"png");w&&(d=ye(w));}return {isSupported:h,minimumAmountUsd:c,estimatedProcessingTime:p,maxSlippagePercent:g,priceImpactPercent:k,errorMessage:h?null:`${n||"Source token"} is not a supported withdrawal token. Supported tokens include USDC, USDT, and other stablecoins.`,iconUrl:d,chainName:S}},enabled:s&&(!!t&&!!r&&!!o),staleTime:1e3*60*5,gcTime:1e3*60*30,refetchOnMount:false})}function Nm(e){let{address:t,chainType:r,chainId:o,tokenAddress:n,publishableKey:i,enabled:s=true}=e;return ls({queryKey:["unifold","addressBalance",t??null,r??null,o??null,n??null,i],queryFn:async()=>{let l=await Wd(t,r,o,n,i);if(l.balance){let c=l.balance.token?.decimals??6,p=l.balance.token?.symbol??"",g=l.balance.amount,k=BigInt(g),d=BigInt(10**c),f=k/d,h=(k%d).toString().padStart(c,"0").replace(/0+$/,""),w=h?`${f}.${h}`:f.toString();return {balanceBaseUnit:g,balanceHuman:w,balanceUsd:l.balance.amount_usd,exchangeRate:l.balance.exchange_rate,decimals:c,symbol:p}}return {balanceBaseUnit:"0",balanceHuman:"0",balanceUsd:"0",exchangeRate:null,decimals:6,symbol:""}},enabled:s&&(!!t&&!!r&&!!o&&!!n),staleTime:1e3*30,gcTime:1e3*60*5,refetchInterval:1e3*30,refetchOnMount:"always"})}var U1=2500,N1=3e3,H1=6e4;function Hm({userId:e,publishableKey:t,depositWalletId:r,enabled:o=false,onWithdrawSuccess:n,onWithdrawError:i}){let[s,a]=ta.useState([]),[l,c]=ta.useState(false),p=ta.useRef(new Date),g=ta.useRef(new Map),k=ta.useRef(false),d=ta.useRef(n),f=ta.useRef(i);return ta.useEffect(()=>{d.current=n;},[n]),ta.useEffect(()=>{f.current=i;},[i]),ta.useEffect(()=>{o&&!k.current&&(p.current=new Date,g.current.clear()),o||g.current.clear(),k.current=o;},[o]),ta.useEffect(()=>{if(!e||!o)return;let S=p.current,h=async()=>{try{let v=await ln(e,t,"withdraw"),I=new Date(S.getTime()-H1),x=[...v.data].sort((T,b)=>{let A=T.created_at?new Date(T.created_at).getTime():0;return (b.created_at?new Date(b.created_at).getTime():0)-A}),P=["pending","waiting","delayed"],m=["succeeded","failed"],u=null;for(let T of x){let b=T.created_at?new Date(T.created_at):null;if(!b||b<I)continue;let A=g.current.get(T.id);if(!A){u=T;break}if(P.includes(A)&&m.includes(T.status)){u=T;break}}if(u){let T=u,b=T.created_at?new Date(T.created_at):null;if(!b||b<p.current)return;let A=g.current.get(T.id);g.current.set(T.id,T.status),a(O=>{let F=O.findIndex(B=>B.id===T.id);if(F>=0){let B=[...O];return B[F]=T,B}return [...O,T]}),T.status==="succeeded"&&(!A||P.includes(A))?d.current?.({message:"Withdrawal completed successfully",transaction:T}):T.status==="failed"&&A!=="failed"&&f.current?.({message:"Withdrawal failed",code:"WITHDRAW_FAILED",error:T});}}catch(v){console.error("Failed to fetch withdraw executions:",v),f.current?.({message:"Failed to fetch withdrawal status",code:"POLLING_ERROR",error:v});}};h();let w=setInterval(h,U1);return c(true),()=>{clearInterval(w),c(false);}},[e,t,o]),ta.useEffect(()=>{if(!o||!r)return;let S=async()=>{try{await Cc({deposit_wallet_id:r},t);}catch{}};S();let h=setInterval(S,N1);return ()=>clearInterval(h)},[o,r,t]),{executions:s,isPolling:l}}var $m=(e,t)=>`${t}:${e}`;function Cd({tokens:e,selectedTokenSymbol:t,selectedChainKey:r,onTokenChange:o,onChainChange:n,isLoading:i=false,tokenLabel:s="Receive token",chainLabel:a="Receive chain",tokenPickerBorderTopLeftRadius:l,tokenPickerBorderTopRightRadius:c,chainPickerBorderTopLeftRadius:p,chainPickerBorderTopRightRadius:g}){let{colors:k,fonts:d,components:f}=z(),[S,h]=ta.useState(false),[w,v]=ta.useState(false),I=f.card,x=t?e.find(T=>T.symbol===t):void 0,P=x?.chains||[],m=r?P.find(T=>$m(T.chain_id,T.chain_type)===r):void 0,u={backgroundColor:I.backgroundColor,borderRadius:I.borderRadius,borderWidth:I.borderWidth||1,borderColor:I.borderColor};return jsxRuntime.jsxs(reactNative.View,{style:ir.row,children:[jsxRuntime.jsxs(reactNative.View,{style:ir.col,children:[jsxRuntime.jsx(reactNative.Text,{style:[ir.label,{color:I.labelColor,fontFamily:d.medium}],children:s}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[ir.selectButton,u],onPress:()=>!i&&e.length>0&&h(true),activeOpacity:.7,disabled:i||e.length===0,children:[i?jsxRuntime.jsx(reactNative.Text,{style:[ir.placeholder,{color:I.subtitleColor,fontFamily:d.regular}],children:"Loading..."}):x?jsxRuntime.jsxs(reactNative.View,{style:ir.selectedItem,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(x,"png"))},style:ir.icon}),jsxRuntime.jsx(reactNative.Text,{style:[ir.selectedText,{color:I.titleColor,fontFamily:d.medium}],numberOfLines:1,children:x.symbol})]}):jsxRuntime.jsx(reactNative.Text,{style:[ir.placeholder,{color:I.subtitleColor,fontFamily:d.regular}],children:"Select receive token"}),jsxRuntime.jsx(Ar,{size:16,color:I.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsxs(reactNative.View,{style:ir.col,children:[jsxRuntime.jsx(reactNative.Text,{style:[ir.label,{color:I.labelColor,fontFamily:d.medium}],children:a}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[ir.selectButton,u,(!x||P.length===0)&&ir.disabled],onPress:()=>!i&&x&&P.length>0&&v(true),activeOpacity:.7,disabled:i||!x||P.length===0,children:[m?jsxRuntime.jsxs(reactNative.View,{style:ir.selectedItem,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(m,"png"))},style:ir.icon}),jsxRuntime.jsx(reactNative.Text,{style:[ir.selectedText,{color:I.titleColor,fontFamily:d.medium}],numberOfLines:1,children:m.chain_name})]}):jsxRuntime.jsx(reactNative.Text,{style:[ir.placeholder,{color:I.subtitleColor,fontFamily:d.regular}],children:"Chain"}),jsxRuntime.jsx(Ar,{size:16,color:I.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsxs(rr,{visible:S,onClose:()=>h(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:l,borderTopRightRadius:c,children:[jsxRuntime.jsxs(reactNative.View,{style:ir.pickerHeader,children:[jsxRuntime.jsx(reactNative.View,{style:ir.pickerHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[ir.pickerTitle,{color:k.foreground,fontFamily:d.medium}],children:"Select Token"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:ir.pickerHeaderClose,onPress:()=>h(false),hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx($t,{size:20,color:k.foregroundMuted,strokeWidth:2})})]}),jsxRuntime.jsx(Za,{data:e,keyExtractor:T=>T.symbol,contentContainerStyle:ir.listContent,showsVerticalScrollIndicator:false,renderItem:({item:T})=>jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[ir.pickerItem,{backgroundColor:T.symbol===t?k.cardHover:"transparent"}],onPress:()=>{o(T.symbol),h(false);},activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(T,"png"))},style:ir.pickerIcon}),jsxRuntime.jsx(reactNative.Text,{style:[ir.pickerItemText,{color:k.foreground,fontFamily:d.medium}],children:T.symbol}),jsxRuntime.jsx(reactNative.Text,{style:[ir.pickerItemSub,{color:k.foregroundMuted,fontFamily:d.regular}],children:T.name}),T.symbol===t&&jsxRuntime.jsx(It,{size:18,color:k.primary,strokeWidth:2.5})]})})]}),jsxRuntime.jsxs(rr,{visible:w,onClose:()=>v(false),closeOnBackdropPress:true,showHandle:true,heightPercent:.9,borderTopLeftRadius:p,borderTopRightRadius:g,children:[jsxRuntime.jsxs(reactNative.View,{style:ir.pickerHeader,children:[jsxRuntime.jsx(reactNative.View,{style:ir.pickerHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[ir.pickerTitle,{color:k.foreground,fontFamily:d.medium}],children:"Select Chain"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:ir.pickerHeaderClose,onPress:()=>v(false),hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx($t,{size:20,color:k.foregroundMuted,strokeWidth:2})})]}),jsxRuntime.jsx(Za,{data:P,keyExtractor:T=>$m(T.chain_id,T.chain_type),contentContainerStyle:ir.listContent,showsVerticalScrollIndicator:false,renderItem:({item:T})=>{let b=$m(T.chain_id,T.chain_type);return jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[ir.pickerItem,{backgroundColor:b===r?k.cardHover:"transparent"}],onPress:()=>{n(b),v(false);},activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(it(T,"png"))},style:ir.pickerIcon}),jsxRuntime.jsx(reactNative.Text,{style:[ir.pickerItemText,{color:k.foreground,fontFamily:d.medium}],children:T.chain_name}),b===r&&jsxRuntime.jsx(It,{size:18,color:k.primary,strokeWidth:2.5})]})}})]})]})}var ir=reactNative.StyleSheet.create({row:{flexDirection:"column",gap:10},col:{},label:{fontSize:12,marginBottom:6},selectButton:{flexDirection:"row",alignItems:"center",paddingHorizontal:12,paddingVertical:12,gap:6,minHeight:48},selectedItem:{flex:1,flexDirection:"row",alignItems:"center",gap:6},icon:{width:20,height:20,borderRadius:10},selectedText:{fontSize:13,flexShrink:1},placeholder:{flex:1,fontSize:13},disabled:{opacity:.4},pickerHeader:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingTop:16,paddingBottom:12},pickerHeaderSpacer:{width:28},pickerHeaderClose:{width:28,alignItems:"flex-end"},pickerTitle:{flex:1,fontSize:16,textAlign:"center"},listContent:{paddingHorizontal:16,paddingVertical:8},pickerItem:{flexDirection:"row",alignItems:"center",paddingVertical:12,paddingHorizontal:12,borderRadius:10,gap:10},pickerIcon:{width:32,height:32,borderRadius:16},pickerItemText:{fontSize:15,flex:1},pickerItemSub:{fontSize:13}});function jm(e){let{chainType:t,chainId:r,tokenAddress:o,recipientAddress:n,publishableKey:i,enabled:s=true}=e,a=n?.trim()||"",l=!!t&&!!r&&!!o&&a.length>0;return ls({queryKey:["unifold","verifyRecipientAddress",t??null,r??null,o??null,a,i],queryFn:()=>qp({chain_type:t,chain_id:r,token_address:o,recipient_address:a},i),enabled:s&&l,staleTime:1e3*60*5,gcTime:1e3*60*30,retry:1,refetchOnMount:false})}function Q1(e){if(e===null)return "< 1 min";let t=Math.ceil(e/60);return t<60?`< ${t} min`:`< ${Math.ceil(t/60)} hr`}function K1(e,t){if(e<=0)return "0";if(t===0)return BigInt(Math.round(e)).toString();let r=e.toFixed(t),[o,n=""]=r.split("."),i=n.padEnd(t,"0").slice(0,t);return (BigInt(o)*BigInt(10**t)+BigInt(i)).toString()}function G1(e,t){return e===0?"0":e.toFixed(t).replace(/\.?0+$/,"")}function yp({publishableKey:e,sourceChainType:t,sourceChainId:r,sourceTokenAddress:o,sourceTokenSymbol:n,sourceChainName:i,sourceTokenIconUrl:s,recipientAddressProp:a,selectedToken:l,selectedChain:c,balanceData:p,isLoadingBalance:g,minimumWithdrawAmountUsd:k,estimatedProcessingTime:d,maxSlippagePercent:f,priceImpactPercent:S,canWithdraw:h,onDepositWalletCreation:w,onWithdraw:v,onWithdrawError:I,onWithdrawSubmitted:x,onViewTracker:P}){let m="https://unifold.io/terms",u="https://unifold.io/support",{colors:T,fonts:b,components:A}=z(),[O,F]=ta.useState(a||""),[B,W]=ta.useState(""),[N,Z]=ta.useState(false),[je,Y]=ta.useState(null),[rt,oe]=ta.useState(false),[ce,ae]=ta.useState(""),te=ta.useRef(null);ta.useEffect(()=>{F(a||""),W(""),Y(null);},[a]);let ke=O.trim();ta.useEffect(()=>{let he=setTimeout(()=>ae(ke),500);return ()=>clearTimeout(he)},[ke]);let{data:j,isLoading:Ie,error:pt}=jm({chainType:c?.chain_type,chainId:c?.chain_id,tokenAddress:c?.token_address,recipientAddress:ce,publishableKey:e,enabled:ce.length>5&&!!c}),Ge=ke!==ce,Se=ta.useMemo(()=>!ke||ke.length<=5||Ge||Ie?null:pt?"Invalid address":j&&!j.valid?j.failure_code==="account_not_found"?`Account not found on ${c?.chain_name}`:j.failure_code==="not_opted_in"?`Recipient hasn't opted in to ${l?.symbol} on ${c?.chain_name}`:"Invalid address":null,[ke,Ge,Ie,pt,j,c,l]),qe=!Ge&&!!j?.valid&&!Se,ot=ta.useMemo(()=>p?.exchangeRate?parseFloat(p.exchangeRate):0,[p]),Ye=ta.useMemo(()=>p?.balanceHuman?parseFloat(p.balanceHuman):0,[p]),dt=n||p?.symbol||"TOKEN",st=p?.decimals??6,Me=ta.useMemo(()=>{let he=parseFloat(B);return !he||he<=0?0:he},[B]),be=ta.useMemo(()=>{let he=parseFloat(B);return !he||he<=0?0:he*ot},[B,ot]),we=ta.useCallback(async()=>{try{let Ne=await eC("expo-clipboard").getStringAsync();Ne&&(F(Ne.trim()),Y(null));}catch{}},[]),ze=ta.useCallback(()=>{Ye<=0||W(p?.balanceHuman??"0");},[Ye,p]),ut=k!==null&&be>0&&be<k,ht=Me>0&&Ye>0&&Me>Ye,xt=ke.length>0&&B.trim().length>0&&Me>0&&qe&&!ut&&!ht&&!!p,lr=ta.useCallback(async()=>{if(!(!l||!c||!xt||!h)){Z(true),Y(null);try{let he=await w({destinationChainType:c.chain_type,destinationChainId:c.chain_id,destinationTokenAddress:c.token_address,recipientAddress:ke}),Ne=K1(Me,st),vt=G1(Me,st),Vt={sourceChainType:t,sourceChainId:r,sourceTokenAddress:o,sourceTokenSymbol:dt,sourceTokenIconUrl:s,destinationChainType:c.chain_type,destinationChainId:c.chain_id,destinationTokenAddress:c.token_address,destinationTokenSymbol:l.symbol,destinationChainName:c.chain_name,destinationTokenIconUrl:l?ye(it(l,"png")):void 0,amount:vt,amountBaseUnit:Ne,submittedAt:new Date,withdrawIntentAddress:he.address,recipientAddress:ke};await v(Vt),x(Vt);}catch(he){let Ne=he instanceof Error?he.message:"Withdrawal failed. Please try again.",vt=Ne.length>120?"Withdrawal failed. Please try again.":Ne;Y(vt),I?.({message:Ne,error:he,code:"WITHDRAW_FAILED"});}finally{Z(false);}}},[l,c,xt,h,ke,t,r,o,dt,s,B,Ye,p,Me,st,be,w,v,I,x]),Ue=A.input,me=A.card,Je=A.button,Qe=Se?T.error:Ue.borderColor,Ve=ta.useMemo(()=>N?"Processing...":ht?"Insufficient balance":ut?`Minimum $${k?.toFixed(2)}`:je?"Withdrawal failed \u2014 try again":"Withdraw",[N,ht,ut,k,je]);return jsxRuntime.jsxs(reactNative.View,{style:Xt.container,children:[jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsxs(reactNative.View,{style:Xt.labelRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[Xt.label,{color:me.labelColor,fontFamily:b.medium}],children:"Recipient address"}),(Ge||Ie)&&ke.length>5?jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:T.primary}):jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:we,activeOpacity:.6,hitSlop:{top:8,bottom:8,left:8,right:8},children:jsxRuntime.jsx(mh,{size:16,color:T.foregroundMuted,strokeWidth:1.75})})]}),jsxRuntime.jsx(reactNative.View,{style:[Xt.inputRow,{backgroundColor:Ue.backgroundColor,borderRadius:Ue.borderRadius,borderWidth:Ue.borderWidth,borderColor:Qe}],children:jsxRuntime.jsx(reactNative.TextInput,{style:[Xt.textInput,{color:Ue.textColor,fontFamily:b.regular}],placeholder:"Enter wallet address",placeholderTextColor:Ue.placeholderColor,value:O,onChangeText:he=>{F(he),Y(null);},autoCapitalize:"none",autoCorrect:false,returnKeyType:"done",onSubmitEditing:()=>te.current?.focus()})}),Se?jsxRuntime.jsx(reactNative.Text,{style:[Xt.errorText,{color:T.error,fontFamily:b.regular}],children:Se}):null]}),jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsxs(reactNative.Text,{style:[Xt.label,{color:me.labelColor,fontFamily:b.medium,paddingBottom:8}],children:["Amount",k!=null&&k>0&&jsxRuntime.jsx(reactNative.Text,{style:{color:T.warning,fontFamily:b.regular},children:` ($${k.toFixed(2)} min)`})]}),jsxRuntime.jsxs(reactNative.View,{style:[Xt.amountRow,{backgroundColor:Ue.backgroundColor,borderRadius:Ue.borderRadius,borderWidth:Ue.borderWidth,borderColor:Ue.borderColor}],children:[jsxRuntime.jsx(reactNative.TextInput,{ref:te,style:[Xt.amountInput,{color:Ue.textColor,fontFamily:b.regular}],placeholder:"0.00",placeholderTextColor:Ue.placeholderColor,value:B,onChangeText:he=>{(he===""||/^\d*\.?\d*$/.test(he))&&(W(he),Y(null));},keyboardType:"decimal-pad",returnKeyType:"done"}),jsxRuntime.jsx(reactNative.Text,{style:[Xt.unitLabel,{color:T.foregroundMuted,fontFamily:b.medium}],children:dt}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Xt.maxButton,{backgroundColor:`${T.primary}20`}],onPress:ze,activeOpacity:.7,children:jsxRuntime.jsx(reactNative.Text,{style:[Xt.maxText,{color:T.primary,fontFamily:b.medium}],children:"Max"})})]})]}),jsxRuntime.jsxs(reactNative.View,{style:[Xt.detailsCard,{marginTop:24,backgroundColor:me.backgroundColor,borderRadius:me.borderRadius,borderWidth:me.borderWidth||1,borderColor:me.borderColor}],children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Xt.detailsToggle,onPress:()=>oe(!rt),activeOpacity:.7,children:jsxRuntime.jsxs(reactNative.View,{style:Xt.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Xt.detailIcon,{backgroundColor:me.iconBackgroundColor,borderRadius:me.iconContainerBorderRadius}],children:jsxRuntime.jsx($o,{size:12,color:me.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Xt.detailsLabel,{color:me.titleColor,fontFamily:b.regular}],children:["Processing time:"," ",jsxRuntime.jsx(reactNative.Text,{style:{fontFamily:b.medium},children:Q1(d)})]}),jsxRuntime.jsx(reactNative.View,{style:{transform:[{rotate:rt?"180deg":"0deg"}]},children:jsxRuntime.jsx(Ar,{size:16,color:me.actionColor,strokeWidth:2})})]})}),rt&&jsxRuntime.jsxs(reactNative.View,{style:Xt.detailsExpanded,children:[jsxRuntime.jsxs(reactNative.View,{style:Xt.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Xt.detailIcon,{backgroundColor:me.iconBackgroundColor,borderRadius:me.iconContainerBorderRadius}],children:jsxRuntime.jsx(Jo,{size:12,color:me.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Xt.detailsLabel,{color:me.titleColor,fontFamily:b.regular}],children:["Slippage:"," ",jsxRuntime.jsxs(reactNative.Text,{style:{fontFamily:b.medium},children:["Auto \u2022 ",(f??.25).toFixed(2),"%"]})]})]}),jsxRuntime.jsxs(reactNative.View,{style:Xt.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Xt.detailIcon,{backgroundColor:me.iconBackgroundColor,borderRadius:me.iconContainerBorderRadius}],children:jsxRuntime.jsx(Yn,{size:12,color:me.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[Xt.detailsLabel,{color:me.titleColor,fontFamily:b.regular}],children:["Price impact:"," ",jsxRuntime.jsxs(reactNative.Text,{style:{fontFamily:b.medium},children:[(S??0).toFixed(2),"%"]})]})]})]})]}),je&&jsxRuntime.jsx(reactNative.Text,{style:[Xt.errorText,{color:T.error,fontFamily:b.regular,textAlign:"center"}],children:je}),jsxRuntime.jsxs(reactNative.View,{style:Xt.withdrawRow,children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[Xt.withdrawButton,{backgroundColor:Je.primaryBackground,borderRadius:Je.borderRadius,borderWidth:Je.borderWidth,borderColor:Je.borderColor,opacity:!xt||!h||N?.5:1}],onPress:lr,disabled:!xt||!h||N,activeOpacity:.8,children:[N&&jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:Je.primaryText}),jsxRuntime.jsx(reactNative.Text,{style:[Xt.withdrawButtonText,{color:Je.primaryText,fontFamily:b.medium}],children:Ve})]}),jsxRuntime.jsxs(reactNative.View,{style:Xt.footerRow,children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Xt.historyLink,onPress:P,activeOpacity:.7,children:[jsxRuntime.jsx($o,{size:14,color:T.foregroundMuted,strokeWidth:2}),jsxRuntime.jsx(reactNative.Text,{style:[Xt.historyText,{color:T.foregroundMuted,fontFamily:b.regular}],children:"Withdrawal history"})]}),jsxRuntime.jsxs(reactNative.View,{style:Xt.legalLinks,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>reactNative.Linking.openURL(m),activeOpacity:.7,children:jsxRuntime.jsx(reactNative.Text,{style:[Xt.legalText,{color:T.foregroundMuted,fontFamily:b.regular}],children:"Terms"})}),jsxRuntime.jsx(reactNative.Text,{style:[Xt.legalSeparator,{color:T.foregroundMuted,fontFamily:b.regular}],children:"|"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>reactNative.Linking.openURL(u),activeOpacity:.7,children:jsxRuntime.jsx(reactNative.Text,{style:[Xt.legalText,{color:T.foregroundMuted,fontFamily:b.regular}],children:"Help"})})]})]})]})]})}var Xt=reactNative.StyleSheet.create({container:{gap:12,paddingHorizontal:16,paddingBottom:16},label:{fontSize:12},labelRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginBottom:6},inputRow:{flexDirection:"row",alignItems:"center",paddingHorizontal:12,paddingVertical:6,minHeight:48},textInput:{flex:1,fontSize:14,paddingVertical:8},errorText:{fontSize:12,marginTop:4},amountRow:{flexDirection:"row",alignItems:"center",paddingHorizontal:12,paddingVertical:6,minHeight:48,gap:8},amountInput:{flex:1,fontSize:14,paddingVertical:8},unitLabel:{fontSize:14,flexShrink:0},maxButton:{paddingHorizontal:8,paddingVertical:4,borderRadius:6},maxText:{fontSize:12,fontWeight:"600"},withdrawRow:{gap:12},footerRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},historyLink:{flexDirection:"row",alignItems:"center",gap:6},historyText:{fontSize:13},legalLinks:{flexDirection:"row",alignItems:"center",gap:6},legalText:{fontSize:13},legalSeparator:{fontSize:13},detailsCard:{paddingHorizontal:12,overflow:"hidden"},detailsToggle:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:12},detailsRow:{flexDirection:"row",alignItems:"center",gap:8},detailIcon:{width:24,height:24,alignItems:"center",justifyContent:"center"},detailsLabel:{fontSize:13,flex:1},detailsExpanded:{gap:10,paddingBottom:12},withdrawButton:{flexDirection:"row",alignItems:"center",justifyContent:"center",paddingVertical:15,gap:8},withdrawButtonText:{fontSize:16,fontWeight:"600"}});function Z1(e){try{let t=new Date(e);return t.toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})+" at "+t.toLocaleTimeString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}catch{return e}}function X1(e){return e?`$${parseFloat(e).toFixed(2)}`:"$0.00"}function Cp({execution:e,onPress:t}){let{colors:r,fonts:o,components:n}=z(),i=n.depositTracker.executionRow.card,s=e.status==="pending"||e.status==="waiting"||e.status==="delayed",a=e.status==="failed"||e.status==="refunded",l=a?r.error:s?r.warning:r.success,c=ye(it(e.destination_token_metadata,"png")||kr("/icons/tokens/png/usdc.png")),p=a?"Withdrawal Failed":s?"Withdrawal Processing":"Withdrawal Completed",g=Z1(e.created_at||new Date().toISOString()),k=X1(e.source_amount_usd);return jsxRuntime.jsxs(jr,{cardTokens:i,onPress:t,contentStyle:ds.container,children:[jsxRuntime.jsxs(reactNative.View,{style:ds.iconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:c},style:ds.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[ds.statusBadge,{backgroundColor:l,borderColor:i.backgroundColor}],children:a?jsxRuntime.jsx(gs,{size:12,color:"#FFFFFF",strokeWidth:2.5}):s?jsxRuntime.jsx(Ya,{size:12,color:"#FFFFFF",strokeWidth:2.5}):jsxRuntime.jsx(It,{size:12,color:"#FFFFFF",strokeWidth:3})})]}),jsxRuntime.jsxs(reactNative.View,{style:ds.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ds.title,{color:i.titleColor,fontFamily:o.medium}],children:p}),jsxRuntime.jsx(reactNative.Text,{style:[ds.dateTime,{color:i.subtitleColor,fontFamily:o.regular}],children:g})]}),jsxRuntime.jsxs(reactNative.View,{style:ds.rightContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ds.amount,{color:i.textRightColor,fontFamily:o.medium}],children:k}),jsxRuntime.jsx(co,{size:20,color:i.actionColor,strokeWidth:2})]})]})}var ds=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingVertical:12},iconContainer:{position:"relative",marginRight:12},tokenIcon:{width:40,height:40,borderRadius:20},statusBadge:{position:"absolute",bottom:-4,right:-4,width:22,height:22,borderRadius:11,alignItems:"center",justifyContent:"center",borderWidth:2},textContainer:{flex:1,gap:2},title:{fontSize:16},dateTime:{fontSize:13},rightContainer:{flexDirection:"row",alignItems:"center",gap:8},amount:{fontSize:16}});function Km(e){try{let t=new Date(e),o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()],n=t.getDate(),i=t.getFullYear(),s=t.getHours(),a=t.getMinutes(),l=s>=12?"PM":"AM";s=s%12||12;let c=a<10?`0${a}`:`${a}`;return `${o} ${n}, ${i} at ${s}:${c} ${l}`}catch{return e}}function Cw(e,t=6){if(!e)return "\u2014";try{let r=Number(e)/Math.pow(10,t);return r===0?"0.00":r>=1?r.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}):r.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:8,minimumSignificantDigits:2,maximumSignificantDigits:6})}catch{return "0.00"}}function t0(e,t){if(e)try{return `$${Number(e).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`}catch{}if(t)try{return `$${(Number(t)/1e6).toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}`}catch{}return "$0.00"}function Sw(e){if(!e)return "";let t=e.indexOf(".");return t===-1?e.toUpperCase():e.slice(0,t).toUpperCase()+e.slice(t)}function Tw(e){return !e||e.length<12?e:`${e.slice(0,12)}...${e.slice(-4)}`}function Sd({label:e,value:t,isLast:r}){let{fonts:o,components:n}=z(),i=n.card;return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.View,{style:Nt.detailRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[Nt.detailLabel,{color:i.subtitleColor,fontFamily:o.regular}],children:e}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.detailValue,{color:i.titleColor,fontFamily:o.regular}],children:t})]}),!r&&jsxRuntime.jsx(reactNative.View,{style:[Nt.divider,{backgroundColor:i.borderColor}]})]})}function Ym({execution:e,txInfo:t,onClose:r,onViewHistory:o,onBack:n,onHeaderClose:i}){let{colors:s,fonts:a,components:l}=z(),[c,p]=ta.useState([]),[g,k]=ta.useState(!!n),d=l.card,f=l.button,S=l.header,h=l.container;ta.useEffect(()=>{jp().then(Z=>p(Z.data)).catch(()=>{});},[]),ta.useEffect(()=>{k(!!n);},[e?.id]);let w=e?e.status==="pending"||e.status==="waiting"||e.status==="delayed":false,v=e?e.status==="failed"||e.status==="refunded":false,I=v?s.error:w?s.warning:s.success,x=v?"Failed":w?"Processing":"Completed",P=e?.destination_token_metadata?ye(it(e.destination_token_metadata,"png")):t.destinationTokenIconUrl?ye(t.destinationTokenIconUrl):ye(kr("/icons/tokens/png/usdc.png")),m=e?.created_at?Km(e.created_at):t.submittedAt?Km(t.submittedAt.toISOString()):Km(new Date().toISOString()),u=e?`${Cw(e.source_amount_base_unit,e.source_token_metadata?.decimals)} ${Sw(e.source_currency)}`:`${t.amount} ${t.sourceTokenSymbol}`,T=e?`${Cw(e.destination_amount_base_unit,e.destination_token_metadata?.decimals)} ${Sw(e.destination_currency)}`:`${t.amount} ${t.destinationTokenSymbol}`,b=e?t0(e.source_amount_usd,e.source_amount_base_unit):"$0.00",A=e?Bd(c,e.source_chain_type,e.source_chain_id):t.sourceChainId,O=e?Bd(c,e.destination_chain_type,e.destination_chain_id):t.destinationChainName??t.destinationChainId,F=e?.transaction_hash,B=e?.explorer_url,W=e?.destination_transaction_hashes?.[0],N=e?.destination_explorer_url;return jsxRuntime.jsxs(Yt,{style:Nt.scroll,contentContainerStyle:Nt.container,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsxs(reactNative.View,{style:Nt.headerRow,children:[n?jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:n,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(Ka,{size:22,color:S.buttonColor,strokeWidth:2})}):jsxRuntime.jsx(reactNative.View,{style:Nt.headerSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.headerTitle,{color:S.titleColor,fontFamily:a.medium}],children:"Withdrawal Details"}),n?jsxRuntime.jsx(reactNative.View,{style:Nt.headerSpacer}):jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:i??r,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx($t,{size:20,color:S.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:Nt.iconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:P},style:Nt.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[Nt.statusBadge,{backgroundColor:I}],children:v?jsxRuntime.jsx(gs,{size:10,color:"#FFFFFF",strokeWidth:3}):w?jsxRuntime.jsx(reactNative.View,{style:Nt.spinnerDot}):jsxRuntime.jsx(It,{size:10,color:"#FFFFFF",strokeWidth:3})})]}),jsxRuntime.jsxs(reactNative.View,{style:Nt.statusRow,children:[jsxRuntime.jsx(reactNative.View,{style:[Nt.statusDot,{backgroundColor:I}]}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.statusText,{color:I,fontFamily:a.medium}],children:x})]}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.dateText,{color:h.subtitleColor,fontFamily:a.regular}],children:m}),jsxRuntime.jsxs(reactNative.View,{style:[Nt.detailsCard,{backgroundColor:d.backgroundColor,borderRadius:d.borderRadius,borderWidth:d.borderWidth??1,borderColor:d.borderColor}],children:[jsxRuntime.jsx(Sd,{label:"Amount Sent",value:u}),jsxRuntime.jsx(Sd,{label:"Amount Received",value:T}),jsxRuntime.jsx(Sd,{label:"USD Value",value:b}),jsxRuntime.jsx(Sd,{label:"Source Network",value:A}),jsxRuntime.jsx(Sd,{label:"Destination Network",value:O,isLast:true})]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Nt.moreDetailsRow,onPress:()=>k(Z=>!Z),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[Nt.moreDetailsText,{color:h.actionTitle,fontFamily:a.regular}],children:g?"See less":n?"See more":"See more details"}),g?jsxRuntime.jsx(di,{size:16,color:h.actionColor,strokeWidth:2}):jsxRuntime.jsx(Ar,{size:16,color:h.actionColor,strokeWidth:2})]}),g&&jsxRuntime.jsx(reactNative.View,{style:[Nt.detailsCard,{backgroundColor:d.backgroundColor,borderRadius:d.borderRadius,borderWidth:d.borderWidth??1,borderColor:d.borderColor}],children:F&&B?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Nt.txRow,onPress:()=>reactNative.Linking.openURL(B),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[Nt.txLabel,{color:d.subtitleColor,fontFamily:a.regular}],children:"Withdrawal Tx"}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.txHash,{color:d.titleColor,fontFamily:a.regular}],children:Tw(F)}),jsxRuntime.jsx(En,{size:14,color:d.actionColor,strokeWidth:2})]}),!w&&W&&N&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(reactNative.View,{style:[Nt.divider,{backgroundColor:d.borderColor}]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:Nt.txRow,onPress:()=>reactNative.Linking.openURL(N),activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[Nt.txLabel,{color:d.subtitleColor,fontFamily:a.regular}],children:"Completion Tx"}),jsxRuntime.jsx(reactNative.Text,{style:[Nt.txHash,{color:d.titleColor,fontFamily:a.regular}],children:Tw(W)}),jsxRuntime.jsx(En,{size:14,color:d.actionColor,strokeWidth:2})]})]})]}):jsxRuntime.jsx(reactNative.View,{style:Nt.detailRow,children:jsxRuntime.jsx(reactNative.Text,{style:[Nt.detailLabel,{color:d.subtitleColor,fontFamily:a.regular}],children:"Transaction details not yet available"})})}),!n&&jsxRuntime.jsxs(reactNative.View,{style:Nt.buttonRow,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Nt.button,Nt.halfButton,{backgroundColor:f.secondaryBackground,borderRadius:f.borderRadius,borderWidth:f.borderWidth,borderColor:f.borderColor}],onPress:o,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Nt.buttonText,{color:f.secondaryText,fontFamily:a.medium}],children:"Withdrawal History"})}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Nt.button,Nt.halfButton,{backgroundColor:f.primaryBackground,borderRadius:f.borderRadius,borderWidth:f.borderWidth,borderColor:f.borderColor}],onPress:r,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Nt.buttonText,{color:f.primaryText,fontFamily:a.medium}],children:"Close"})})]})]})}var Nt=reactNative.StyleSheet.create({scroll:{flex:1},container:{alignItems:"center",paddingHorizontal:20,paddingTop:8,paddingBottom:32,gap:12},headerRow:{flexDirection:"row",alignItems:"center",width:"100%",paddingTop:16,marginBottom:4},headerSpacer:{width:28},headerTitle:{flex:1,fontSize:16,textAlign:"center"},iconContainer:{position:"relative",marginTop:8},tokenIcon:{width:64,height:64,borderRadius:32},statusBadge:{position:"absolute",bottom:-2,right:-2,width:22,height:22,borderRadius:11,alignItems:"center",justifyContent:"center"},spinnerDot:{width:10,height:10,borderRadius:5,borderWidth:2,borderColor:"#FFFFFF",borderTopColor:"transparent"},statusRow:{flexDirection:"row",alignItems:"center",gap:6},statusDot:{width:8,height:8,borderRadius:4},statusText:{fontSize:15},dateText:{fontSize:13,marginTop:-4},detailsCard:{width:"100%",paddingHorizontal:16,overflow:"hidden"},detailRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:12},detailLabel:{fontSize:13,flex:1},detailValue:{fontSize:13,flexShrink:0,maxWidth:"55%",textAlign:"right"},divider:{height:reactNative.StyleSheet.hairlineWidth,opacity:.5},moreDetailsRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",width:"100%",paddingHorizontal:4},moreDetailsText:{fontSize:14},txRow:{flexDirection:"row",alignItems:"center",gap:8,paddingVertical:12},txLabel:{fontSize:13},txHash:{fontSize:13,flex:1,textAlign:"right"},buttonRow:{flexDirection:"row",gap:10,width:"100%",marginTop:4},button:{paddingVertical:14,alignItems:"center",justifyContent:"center"},halfButton:{flex:1},fullButton:{width:"100%"},buttonText:{fontSize:14}});function kw(e){return e.length<=12?e:`${e.slice(0,6)}...${e.slice(-4)}`}function Sp({txInfo:e,executions:t,onClose:r,onViewTracker:o}){let{colors:n,fonts:i,components:s}=z(),a=t.length>0?t[t.length-1]:null,l=a?.status==="succeeded",c=a?.status==="failed",p={borderRadius:s.button.borderRadius,borderWidth:s.button.borderWidth,borderColor:s.button.borderColor};return l?jsxRuntime.jsxs(reactNative.View,{style:Wr.container,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Wr.closeButton,onPress:r,children:jsxRuntime.jsx($t,{size:20,color:s.header.buttonColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.View,{style:[Wr.iconRing,{backgroundColor:n.successBackground}],children:jsxRuntime.jsx(It,{size:32,color:n.success,strokeWidth:2.5})}),jsxRuntime.jsx(reactNative.Text,{style:[Wr.title,{color:n.foreground,fontFamily:i.medium}],children:"Withdrawal Sent"}),jsxRuntime.jsxs(reactNative.Text,{style:[Wr.subtitle,{color:n.foregroundMuted,fontFamily:i.regular}],children:[e.amount," ",e.sourceTokenSymbol," to"," ",kw(e.recipientAddress)]}),jsxRuntime.jsxs(reactNative.View,{style:Wr.buttonRow,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Wr.button,Wr.halfButton,p,{backgroundColor:s.button.secondaryBackground}],onPress:o,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Wr.buttonText,{color:s.button.secondaryText,fontFamily:i.medium}],children:"History"})}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Wr.button,Wr.halfButton,p,{backgroundColor:s.button.primaryBackground}],onPress:r,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Wr.buttonText,{color:s.button.primaryText,fontFamily:i.medium}],children:"Close"})})]})]}):c?jsxRuntime.jsxs(reactNative.View,{style:Wr.container,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Wr.closeButton,onPress:r,children:jsxRuntime.jsx($t,{size:20,color:s.header.buttonColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.View,{style:[Wr.iconRing,{backgroundColor:n.errorBackground}],children:jsxRuntime.jsx($t,{size:32,color:n.error,strokeWidth:2.5})}),jsxRuntime.jsx(reactNative.Text,{style:[Wr.title,{color:n.foreground,fontFamily:i.medium}],children:"Withdrawal Failed"}),jsxRuntime.jsx(reactNative.Text,{style:[Wr.subtitle,{color:n.foregroundMuted,fontFamily:i.regular}],children:"Something went wrong. Please try again."}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:[Wr.button,Wr.fullButton,p,{backgroundColor:s.button.primaryBackground}],onPress:r,activeOpacity:.8,children:jsxRuntime.jsx(reactNative.Text,{style:[Wr.buttonText,{color:s.button.primaryText,fontFamily:i.medium}],children:"Close"})})]}):jsxRuntime.jsxs(reactNative.View,{style:Wr.container,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:Wr.closeButton,onPress:r,children:jsxRuntime.jsx($t,{size:20,color:s.header.buttonColor,strokeWidth:2})}),jsxRuntime.jsx(Ct,{size:80,strokeWidth:4,iconSize:68,gradientFrom:n.primary,gradientTo:n.primary,children:e.sourceTokenIconUrl?jsxRuntime.jsx(reactNative.Image,{source:{uri:ye(e.sourceTokenIconUrl)},style:Wr.tokenIconFill}):jsxRuntime.jsx(reactNative.View,{style:[Wr.tokenIconFill,{backgroundColor:n.cardHover}]})}),jsxRuntime.jsx(reactNative.Text,{style:[Wr.title,{color:n.foreground,fontFamily:i.medium,paddingTop:16}],children:"Checking Withdrawal"}),jsxRuntime.jsxs(reactNative.Text,{style:[Wr.subtitle,{color:n.foregroundMuted,fontFamily:i.regular}],children:[e.sourceTokenSymbol," to"," ",kw(e.recipientAddress)]})]})}var Wr=reactNative.StyleSheet.create({container:{alignItems:"center",paddingHorizontal:24,paddingTop:48,paddingBottom:24},closeButton:{position:"absolute",top:16,right:16,padding:4,zIndex:1},iconRing:{width:80,height:80,borderRadius:40,alignItems:"center",justifyContent:"center",marginBottom:20},tokenIconFill:{width:"100%",height:"100%",borderRadius:34},title:{fontSize:20,marginBottom:8,textAlign:"center"},subtitle:{fontSize:14,textAlign:"center",lineHeight:20,marginBottom:24},buttonRow:{flexDirection:"row",gap:10,width:"100%"},button:{paddingVertical:14,alignItems:"center",justifyContent:"center",borderRadius:12},halfButton:{flex:1},fullButton:{width:"100%"},buttonText:{fontSize:15}});function a0(e){let t=e.source_token_metadata?.decimals??6,r=e.source_amount_base_unit??"0",o=Number(r)/Math.pow(10,t),n=o>=1?o.toFixed(2):o.toPrecision(4).replace(/\.?0+$/,"");return {sourceChainType:e.source_chain_type,sourceChainId:e.source_chain_id,sourceTokenAddress:e.source_token_address,sourceTokenSymbol:e.source_currency?.toUpperCase()??"",sourceTokenIconUrl:ye(it(e.source_token_metadata,"png")),destinationChainType:e.destination_chain_type,destinationChainId:e.destination_chain_id,destinationTokenAddress:e.destination_token_address,destinationTokenSymbol:e.destination_currency?.toUpperCase()??"",destinationTokenIconUrl:ye(it(e.destination_token_metadata,"png")),amount:n,amountBaseUnit:r,submittedAt:e.created_at?new Date(e.created_at):void 0,withdrawIntentAddress:e.deposit_wallet?.address??"",recipientAddress:e.recipient_address??""}}var xw=(e,t)=>`${t}:${e}`;function l0(){let{colors:e}=z(),t=ta.useRef(new reactNative.Animated.Value(.5)).current,r=e.cardHover;return ta.useEffect(()=>{let o=reactNative.Animated.loop(reactNative.Animated.sequence([reactNative.Animated.timing(t,{toValue:1,duration:800,useNativeDriver:true}),reactNative.Animated.timing(t,{toValue:.5,duration:800,useNativeDriver:true})]));return o.start(),()=>o.stop()},[t]),jsxRuntime.jsx(reactNative.View,{style:{gap:12,paddingHorizontal:16},children:[1,2,3].map(o=>jsxRuntime.jsx(reactNative.Animated.View,{style:{height:48,borderRadius:12,backgroundColor:r,opacity:t}},o))})}function xp({visible:e,onClose:t,publishableKey:r,externalUserId:o,senderAddress:n,recipientAddress:i,defaultDestinationChainType:s,defaultDestinationChainId:a,defaultDestinationTokenAddress:l,modalTitle:c="Withdraw Crypto",onWithdraw:p,onWithdrawSuccess:g,onWithdrawError:k,heightPercent:d=.94,sheetBorderRadius:f,sourceChainType:S,sourceChainId:h,sourceTokenAddress:w,sourceTokenSymbol:v,sourceChainName:I,sourceTokenIconUrl:x}){let{colors:P,fonts:m}=z(),[u,T]=ta.useState("form"),[b,A]=ta.useState(S),[O,F]=ta.useState(h),[B,W]=ta.useState(w),[N,Z]=ta.useState(v),[je,Y]=ta.useState(I),[rt,oe]=ta.useState(x),[ce,ae]=ta.useState(null),[te,ke]=ta.useState(null),[j,Ie]=ta.useState(null),[pt,Ge]=ta.useState(),[Se,qe]=ta.useState([]),[ot,Ye]=ta.useState(null),[dt,st]=ta.useState("form"),Me=ta.useRef(new reactNative.Animated.Value(reactNative.Dimensions.get("window").width)).current,be=ta.useRef(null),we=!!b&&!!O&&!!B,{data:ze,isLoading:ut}=hp(r,e&&u==="form"),ht=ze?.data??[],{data:xt,isLoading:lr}=Um({sourceChainType:b,sourceChainId:O,sourceTokenAddress:B,sourceTokenSymbol:N,publishableKey:r,enabled:e&&we&&u==="form"}),Ue=gc.includes(b)?b:void 0,{data:me,isLoading:Je}=Nm({address:n,chainType:Ue,chainId:O,tokenAddress:B,publishableKey:r,enabled:e&&we}),{executions:Qe}=Hm({userId:o,publishableKey:r,depositWalletId:pt,enabled:!!pt&&e,onWithdrawSuccess:g,onWithdrawError:k});ta.useEffect(()=>{if(!e||u!=="tracker")return;let J=false;return ln(o,r,"withdraw").then(K=>{J||qe(K.data);}).catch(console.error),()=>{J=true;}},[e,u,o,r]),ta.useEffect(()=>{e&&(be.current&&(clearTimeout(be.current),be.current=null),T("form"),A(S),F(h),W(w),Z(v),Y(I),oe(x),ae(null),ke(null),Ie(null),Ge(void 0),qe([]),Ye(null),st("form"),Me.setValue(reactNative.Dimensions.get("window").width));},[e]),ta.useEffect(()=>()=>{be.current&&clearTimeout(be.current);},[]),ta.useEffect(()=>{rt||xt?.iconUrl&&oe(xt.iconUrl);},[xt?.iconUrl,rt]),ta.useEffect(()=>{je||xt?.chainName&&Y(xt.chainName);},[xt?.chainName,je]),ta.useEffect(()=>{if(!ht.length||ce)return;let J,K;if(s&&a)if(l)for(let _e of ht){let et=_e.chains.find(L=>L.chain_type===s&&L.chain_id===a&&L.token_address.toLowerCase()===l.toLowerCase());if(et){J=_e,K=et;break}}else for(let _e of ht){let et=_e.chains.find(L=>L.chain_type===s&&L.chain_id===a);if(et){J=_e,K=et;break}}J||(J=ht[0]),J&&(ae(J),ke(K??J.chains[0]??null));},[ht,ce,s,a,l]),ta.useEffect(()=>{u==="confirming"&&Qe.length>0&&T("details");},[u,Qe]);let Ve=ta.useCallback(()=>{t(),be.current=setTimeout(()=>{T("form"),A(S),F(h),W(w),Z(v),Y(I),oe(x),ae(null),ke(null),Ie(null),Ge(void 0),qe([]),Ye(null),st("form"),be.current=null;},300);},[t,S,h,w,v,I,x]),he=ta.useCallback(J=>{let K=ht.find(_e=>_e.symbol===J);K&&(ae(K),K.chains.length>0&&ke(K.chains[0]));},[ht]),Ne=ta.useCallback(J=>{if(!ce)return;let K=ce.chains.find(_e=>xw(_e.chain_id,_e.chain_type)===J);K&&ke(K);},[ce]),vt=ta.useCallback(async J=>{let K=await Zo({external_user_id:o,destination_chain_type:J.destinationChainType,destination_chain_id:J.destinationChainId,destination_token_address:J.destinationTokenAddress,recipient_address:J.recipientAddress,action_type:"withdraw"},r);if(!b)throw new Error("sourceChainType is required for withdrawal");let _e=an(K.data,b);if(!_e)throw new Error(`No deposit wallet found for chain type: ${b}`);return Ge(_e.id),{id:_e.id,address:_e.address}},[o,r,b]),Vt=ta.useCallback(J=>{Ie(J),T("confirming");},[]),Ht=ta.useCallback(J=>{Ye(J),Me.setValue(reactNative.Dimensions.get("window").width),reactNative.Animated.timing(Me,{toValue:0,duration:280,useNativeDriver:true}).start();},[Me]),lt=ta.useCallback(()=>{reactNative.Animated.timing(Me,{toValue:reactNative.Dimensions.get("window").width,duration:250,useNativeDriver:true}).start(()=>Ye(null));},[Me]),er=ut||lr,Xe=xt?.isSupported??null,yt=u==="confirming"?"Withdrawal Status":c,gt=f?.globalBorderTopLeftRadius,De=f?.globalBorderTopRightRadius,at=f?.main?.borderTopLeftRadius??gt,X=f?.main?.borderTopRightRadius??De,Pe=f?.tokenSelector?.borderTopLeftRadius??gt,_=f?.tokenSelector?.borderTopRightRadius??De,C=f?.chainSelector?.borderTopLeftRadius??gt,M=f?.chainSelector?.borderTopRightRadius??De,q=(()=>{if(u!=="form"||!we||Je||!me)return;let J=N||me.symbol,K=me.balanceUsd;if(K!=null){let L=`$${parseFloat(K).toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})}`;return J?`Balance: ${L} ${J}`:`Balance: ${L}`}let _e=me.balanceHuman;if(!(!_e||_e==="0"))return J?`Balance: ${_e} ${J}`:`Balance: ${_e}`})();return jsxRuntime.jsx(rr,{visible:e,onClose:Ve,closeOnBackdropPress:false,enablePanDownToClose:u==="tracker"||u==="form",showHandle:u==="tracker"||u==="form",heightPercent:u==="confirming"?.3:u==="details"?.7:u==="tracker"?.9:d,borderTopLeftRadius:at,borderTopRightRadius:X,children:u==="confirming"&&j?jsxRuntime.jsx(Sp,{txInfo:j,executions:Qe,onClose:Ve,onViewTracker:()=>{st("confirming"),T("tracker");}}):u==="details"&&j?jsxRuntime.jsx(Ym,{execution:Qe.length>0?Qe[Qe.length-1]:null,txInfo:j,onClose:Ve,onViewHistory:()=>{st("details"),T("tracker");},onHeaderClose:()=>T("form")}):u==="tracker"?jsxRuntime.jsxs(reactNative.View,{style:Vi.trackerContainer,children:[jsxRuntime.jsx(fo,{title:"Withdrawal History",onClose:()=>T(dt)}),Se.length===0?jsxRuntime.jsx(reactNative.View,{style:Vi.emptyState,children:jsxRuntime.jsx(reactNative.Text,{style:[Vi.emptyText,{color:P.foregroundMuted,fontFamily:m.regular}],children:"No withdrawals to track yet"})}):jsxRuntime.jsx(Za,{data:Se,keyExtractor:J=>J.id,contentContainerStyle:Vi.listContent,showsVerticalScrollIndicator:false,renderItem:({item:J})=>jsxRuntime.jsx(Cp,{execution:J,onPress:()=>Ht(J)})}),ot&&jsxRuntime.jsx(reactNative.Animated.View,{style:[Vi.historyDetailOverlay,{backgroundColor:P.background,transform:[{translateX:Me}]}],children:jsxRuntime.jsx(Ym,{execution:ot,txInfo:a0(ot),onClose:Ve,onBack:lt,onViewHistory:lt})})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(fo,{title:yt,subtitle:q,onClose:Ve}),er?jsxRuntime.jsx(l0,{}):Xe===false?jsxRuntime.jsxs(reactNative.View,{style:Vi.unsupportedContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Vi.unsupportedTitle,{color:P.foreground,fontFamily:m.medium}],children:"Unsupported Token"}),jsxRuntime.jsx(reactNative.Text,{style:[Vi.unsupportedMessage,{color:P.foregroundMuted,fontFamily:m.regular}],children:xt?.errorMessage})]}):jsxRuntime.jsx(c0,{publishableKey:r,sourceChainType:b??"",sourceChainId:O??"",sourceTokenAddress:B??"",sourceTokenSymbol:N,sourceChainName:je,sourceTokenIconUrl:rt,recipientAddressProp:i,destinationTokens:ht,selectedToken:ce,selectedChain:te,selectedChainKey:te?xw(te.chain_id,te.chain_type):null,onTokenChange:he,onChainChange:Ne,tokensLoading:ut,balanceData:me??null,isLoadingBalance:Je,sourceValidation:xt??null,onDepositWalletCreation:vt,onWithdraw:p,onWithdrawError:k,onWithdrawSubmitted:Vt,onViewTracker:()=>{st("form"),T("tracker");},tokenSelectorLeft:Pe,tokenSelectorRight:_,chainSelectorLeft:C,chainSelectorRight:M})]})})}function c0({publishableKey:e,sourceChainType:t,sourceChainId:r,sourceTokenAddress:o,sourceTokenSymbol:n,sourceChainName:i,sourceTokenIconUrl:s,recipientAddressProp:a,destinationTokens:l,selectedToken:c,selectedChain:p,selectedChainKey:g,onTokenChange:k,onChainChange:d,tokensLoading:f,balanceData:S,isLoadingBalance:h,sourceValidation:w,onDepositWalletCreation:v,onWithdraw:I,onWithdrawError:x,onWithdrawSubmitted:P,onViewTracker:m,tokenSelectorLeft:u,tokenSelectorRight:T,chainSelectorLeft:b,chainSelectorRight:A}){return jsxRuntime.jsx(reactNative.KeyboardAvoidingView,{behavior:reactNative.Platform.OS==="ios"?"padding":void 0,style:{flex:1},children:jsxRuntime.jsxs(Yt,{style:{flex:1,paddingTop:16},contentContainerStyle:Vi.scrollContent,keyboardShouldPersistTaps:"handled",showsVerticalScrollIndicator:false,children:[jsxRuntime.jsx(reactNative.View,{style:Vi.doubleInputWrapper,children:jsxRuntime.jsx(Cd,{tokens:l,selectedTokenSymbol:c?.symbol??null,selectedChainKey:g,onTokenChange:k,onChainChange:d,isLoading:f,tokenPickerBorderTopLeftRadius:u,tokenPickerBorderTopRightRadius:T,chainPickerBorderTopLeftRadius:b,chainPickerBorderTopRightRadius:A})}),jsxRuntime.jsx(yp,{publishableKey:e,sourceChainType:t,sourceChainId:r,sourceTokenAddress:o,sourceTokenSymbol:n,sourceChainName:i,sourceTokenIconUrl:s,recipientAddressProp:a,selectedToken:c,selectedChain:p,balanceData:S,isLoadingBalance:h,minimumWithdrawAmountUsd:w?.minimumAmountUsd??null,estimatedProcessingTime:w?.estimatedProcessingTime??null,maxSlippagePercent:w?.maxSlippagePercent??null,priceImpactPercent:w?.priceImpactPercent??null,canWithdraw:true,onDepositWalletCreation:v,onWithdraw:I,onWithdrawError:x,onWithdrawSubmitted:P,onViewTracker:m})]})})}var Vi=reactNative.StyleSheet.create({scrollContent:{paddingBottom:32},doubleInputWrapper:{paddingHorizontal:16,paddingBottom:12,paddingTop:4},listContent:{paddingHorizontal:16,paddingBottom:32,gap:8},trackerContainer:{flex:1,overflow:"hidden"},historyDetailOverlay:{position:"absolute",top:0,left:0,right:0,bottom:0},emptyState:{flex:1,alignItems:"center",justifyContent:"center",paddingVertical:48},emptyText:{fontSize:14},unsupportedContainer:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:24,paddingVertical:48},unsupportedTitle:{fontSize:18,fontWeight:"600",marginBottom:8,textAlign:"center"},unsupportedMessage:{fontSize:14,textAlign:"center",lineHeight:20,maxWidth:280}});reactNative.StyleSheet.create({container:{paddingHorizontal:16,paddingTop:16,paddingBottom:24,gap:16},fieldGroup:{gap:8},fieldLabel:{fontSize:12},walletCard:{paddingHorizontal:12,paddingVertical:12,minHeight:48,justifyContent:"center"},walletAddress:{fontSize:13},primaryButton:{paddingVertical:14,alignItems:"center",justifyContent:"center",marginTop:4},primaryButtonText:{fontSize:16},secondaryButton:{paddingVertical:14,alignItems:"center",justifyContent:"center"},secondaryButtonText:{fontSize:16}});reactNative.StyleSheet.create({base:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8},text:{fontWeight:"600",textAlign:"center"},fullWidth:{width:"100%"},disabled:{opacity:.5}});reactNative.StyleSheet.create({icon:{backgroundColor:"transparent"}});var Rw=ta.createContext(null);function C0({children:e,publishableKey:t,config:r}){let[o]=ta.useState(()=>new Bf({defaultOptions:{queries:{retry:1,staleTime:3e5}}})),[n,i]=ta.useState(false),[s,a]=ta.useState(null),[l,c]=ta.useState(false),[p,g]=ta.useState(null),k=reactNative.useColorScheme(),d=ta.useRef(false);d.current||(Ad({publishableKey:t}),d.current=true);let f=ta.useMemo(()=>{let W=r?.appearance||"dark";return W==="auto"?k==="dark"?"dark":"light":W},[r?.appearance,k]);ta.useEffect(()=>{if(!t||t.trim()===""){console.error("Unifold: publishableKey is required. Please provide a valid publishable key.");return}!t.startsWith("pk_test_")&&!t.startsWith("pk_live_")&&console.warn('Unifold: publishableKey should start with "pk_test_" or "pk_live_". Please ensure you are using a valid publishable key.'),Ad({publishableKey:t});},[t]),ta.useEffect(()=>()=>{h.current&&clearTimeout(h.current),u.current&&clearTimeout(u.current);},[]);let S=ta.useRef(null),h=ta.useRef(null),w=ta.useRef(void 0),v=ta.useCallback(W=>{h.current&&(clearTimeout(h.current),h.current=null),S.current&&(console.warn("[UnifoldProvider] A deposit is already in progress. Cancelling previous deposit."),S.current.reject({message:"Deposit cancelled - new deposit started",code:"DEPOSIT_SUPERSEDED"}),S.current=null);let N=new Promise((Z,je)=>{S.current={resolve:Z,reject:je};});return w.current=W.onDismiss,a(W),i(true),N},[]),I=ta.useCallback(()=>{let W=S.current!==null;S.current&&(S.current.reject({message:"Deposit cancelled by user",code:"DEPOSIT_CANCELLED"}),S.current=null);let N=w.current;w.current=void 0,i(false),h.current=setTimeout(()=>{a(null),h.current=null;},200),W&&N?.();},[]),x=ta.useCallback(W=>{s?.onSuccess&&s.onSuccess(W),S.current&&(S.current.resolve(W),S.current=null);},[s]),P=ta.useCallback(W=>{console.error("[UnifoldProvider] Deposit error:",W),s?.onError&&s.onError(W),S.current&&(S.current.reject(W),S.current=null);},[s]),m=ta.useRef(null),u=ta.useRef(null),T=ta.useRef(void 0),b=ta.useCallback(W=>{u.current&&(clearTimeout(u.current),u.current=null),m.current&&(console.warn("[UnifoldProvider] A withdrawal is already in progress. Cancelling previous withdrawal."),m.current.reject({message:"Withdrawal cancelled - new withdrawal started",code:"WITHDRAW_SUPERSEDED"}),m.current=null);let N=new Promise((Z,je)=>{m.current={resolve:Z,reject:je};});return T.current=W.onClose,g(W),c(true),N},[]),A=ta.useCallback(()=>{m.current&&(m.current.reject({message:"Withdrawal cancelled by user",code:"WITHDRAW_CANCELLED"}),m.current=null),T.current?.(),T.current=void 0,c(false),u.current=setTimeout(()=>{g(null),u.current=null;},200);},[]),O=ta.useCallback(W=>{p?.onSuccess&&p.onSuccess(W),m.current&&(m.current.resolve(W),m.current=null);},[p]),F=ta.useCallback(W=>{console.error("[UnifoldProvider] Withdraw error:",W),p?.onError&&p.onError(W),m.current&&(m.current.reject(W),m.current=null);},[p]),B=ta.useMemo(()=>({publishableKey:t,beginDeposit:v,closeDeposit:I,beginWithdraw:b,closeWithdraw:A}),[t,v,I,b,A]);return jsxRuntime.jsx(Ef,{client:o,children:jsxRuntime.jsx(Rw.Provider,{value:B,children:jsxRuntime.jsxs(Ja,{mode:f,accentColor:r?.accentColor,theme:r?.theme,fontFamily:r?.fontFamily,fonts:r?.fonts,components:r?.components,children:[e,s&&jsxRuntime.jsx(dp,{visible:n,onClose:I,closeOnBackdropPress:s.closeOnBackdropPress??false,publishableKey:t,modalTitle:r?.modalTitle,transferCryptoTitle:r?.transferCryptoTitle,externalUserId:s.externalUserId,user:s.user,destinationChainType:s.destinationChainType,destinationChainId:s.destinationChainId,destinationTokenSymbol:s.destinationTokenSymbol,recipientAddress:s.recipientAddress,destinationTokenAddress:s.destinationTokenAddress,defaultChainType:s.defaultChainType,defaultChainId:s.defaultChainId,defaultTokenAddress:s.defaultTokenAddress,showBalance:s.showBalance,stripeTheme:{mode:f,accentColor:r?.accentColor,theme:r?.theme,fontFamily:r?.fontFamily,fonts:r?.fonts,components:r?.components},depositConfirmationMode:s.depositConfirmationMode??"auto_ui",initialScreen:s.initialScreen,hideDepositTracker:r?.hideDepositTracker,transferInputVariant:r?.transferInputVariant,depositMenuDisplay:r?.depositMenuDisplay,enableStripeLink:r?.enableStripeLink,enableTransferCrypto:r?.enableTransferCrypto,enableCashApp:r?.enableCashApp,enableConnectWallet:r?.enableConnectWallet,enableCoinbaseApplePay:r?.enableCoinbaseApplePay,enableFiatOnramp:r?.enableFiatOnramp,stripePaymentSelectorPosition:r?.stripeLink?.paymentSelectorPosition,stripeSkipSuccessConfirmation:r?.stripeLink?.skipSuccessConfirmation,StripeOnrampComponent:Og(),onDepositSuccess:x,onDepositError:P,theme:f,sheetBorderRadius:r?.sheetBorderRadius}),p&&jsxRuntime.jsx(xp,{visible:l,onClose:A,publishableKey:t,externalUserId:p.externalUserId,senderAddress:p.senderAddress,recipientAddress:p.recipientAddress,sourceChainType:p.sourceChainType,sourceChainId:p.sourceChainId,sourceTokenAddress:p.sourceTokenAddress,sourceTokenSymbol:p.sourceTokenSymbol,defaultDestinationChainType:p.defaultDestinationChainType,defaultDestinationChainId:p.defaultDestinationChainId,defaultDestinationTokenAddress:p.defaultDestinationTokenAddress,onWithdraw:p.withdraw,onWithdrawSuccess:O,onWithdrawError:F,sheetBorderRadius:r?.sheetBorderRadius?{globalBorderTopLeftRadius:r.sheetBorderRadius.globalBorderTopLeftRadius,globalBorderTopRightRadius:r.sheetBorderRadius.globalBorderTopRightRadius,tokenSelector:r.sheetBorderRadius.tokenSelector,chainSelector:r.sheetBorderRadius.chainSelector}:void 0})]})})})}function S0(){let e=ta.useContext(Rw);if(!e)throw new Error("useUnifold must be used within UnifoldProvider");return e}
|
|
125
125
|
exports.AmountScreen=Xd;exports.BottomSheet=rr;exports.KYCWizardScreen=eu;exports.OnrampScreen=du;exports.StripeOnramp=uu;exports.StripeOnrampPreconfigure=Dg;exports.UnifoldProvider=C0;exports.getPreferredIcon=it;exports.getStripeConfig=_c;exports.getStripePublishableKey=$h;exports.getSupportedDestinationTokens=Ed;exports.normalizeIconUrl=ye;exports.registerStripeOnramp=pu;exports.setDevApiUrl=_h;exports.setStripeOnrampApiUrl=Kd;exports.setStripeOnrampPublishableKey=Qd;exports.useAllowedCountry=sd;exports.useStripeOnramp=tu;exports.useTheme=z;exports.useUnifold=S0;
|