@unifold/connect-react-native 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var react=require('react'),reactNative=require('react-native'),reactQuery=require('@tanstack/react-query'),jsxRuntime=require('react/jsx-runtime'),K=require('react-native-svg'),on=require('react-native-qrcode-svg'),reactNativeWebview=require('react-native-webview');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var K__default=/*#__PURE__*/_interopDefault(K);var on__default=/*#__PURE__*/_interopDefault(on);var Qo={background:"#ffffff",foreground:"#0f0f0f",foregroundMuted:"#737373",card:"#f5f5f5",cardHover:"#e5e5e5",border:"#e5e5e5",overlay:"rgba(0, 0, 0, 0.5)",primary:"#3b82f6",primaryForeground:"#ffffff",success:"#22c55e",error:"#ef4444",warning:"#f59e0b"},Ar={background:"#0f0f0f",foreground:"#fafafa",foregroundMuted:"#a3a3a3",card:"#262626",cardHover:"#404040",border:"#333333",overlay:"rgba(0, 0, 0, 0.7)",primary:"#3b82f6",primaryForeground:"#ffffff",success:"#22c55e",error:"#ef4444",warning:"#f59e0b"},Go=react.createContext({colors:Qo,isDark:false,mode:"auto"});function wt({children:e,mode:t="auto"}){let o=reactNative.useColorScheme(),n=react.useMemo(()=>{let l;return t==="auto"?l=o==="dark":l=t==="dark",{colors:l?Ar:Qo,isDark:l,mode:t}},[t,o]);return jsxRuntime.jsx(Go.Provider,{value:n,children:e})}function R(){let e=react.useContext(Go);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}var zr="https://api.unifold.io",Ut,Ee="pk_test_123",jt={};function ae(){return typeof __DEV__<"u"&&__DEV__&&Ut?Ut:zr}function Ot(e){if(e.publishableKey!==void 0){if(!e.publishableKey||e.publishableKey.trim()==="")throw new Error("Unifold SDK: publishableKey cannot be empty. Please provide a valid publishable key.");!e.publishableKey.startsWith("pk_test_")&&!e.publishableKey.startsWith("pk_live_")&&console.warn('Unifold SDK: publishableKey should start with "pk_test_" or "pk_live_". Please ensure you are using a valid publishable key.'),Ee=e.publishableKey;}e.baseUrl&&typeof __DEV__<"u"&&__DEV__&&(Ut=e.baseUrl),e.defaultConfig&&(jt=e.defaultConfig);}function Yo(e){typeof __DEV__<"u"&&__DEV__?(Ut=e,console.log(`[Unifold DEV] API URL set to: ${e}`)):console.warn("[Unifold] setDevApiUrl() is only available in development mode");}function $e(e){if(!e||e.trim()==="")throw new Error("Unifold SDK: No publishable key configured. Please provide a valid publishable key via setApiConfig() or pass it directly to the API function.");e==="pk_test_123"&&console.warn('Unifold SDK: Using default test key "pk_test_123". This should only be used for local development. Please use a real publishable key in production.');}function ie(e){let t=e.startsWith("/")?e:`/${e}`;return `${ae()}/api/public${t}`}function z(e){return e?e.includes("localhost")||e.includes("127.0.0.1")?e.replace(/https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?/,ae()):e.startsWith("http://")||e.startsWith("https://")?e:e.startsWith("/api/public/")?`${ae()}${e}`:`${ae()}/api/public${e}`:""}async function Jo(e,t){if(!e?.external_user_id)throw new Error("external_user_id is required");let o={external_user_id:e.external_user_id,destination_chain_type:e?.destination_chain_type||"ethereum",destination_chain_id:e?.destination_chain_id||jt.destinationChainId||"8453",destination_token_address:e?.destination_token_address||jt.destinationTokenAddress||"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",recipient_address:e?.recipient_address||jt.recipientAddress||"0x309a4154a2CD4153Da886E780890C9cb5161553C",client_metadata:e?.client_metadata||{}},n=t||Ee;$e(n);let l=await fetch(`${ae()}/v1/public/deposit_addresses`,{method:"POST",headers:{accept:"application/json","x-publishable-key":n,"Content-Type":"application/json"},body:JSON.stringify(o)});if(!l.ok)throw new Error(`Failed to create deposit address: ${l.statusText}`);return l.json()}async function Ct(e,t){return Jo(e?{...e,external_user_id:e.external_user_id}:void 0,t)}function xt(e,t){return e.find(o=>o.chain_type===t)}async function kt(e,t){let o=t||Ee;$e(o);let n=await fetch(`${ae()}/v1/public/direct_executions/query`,{method:"POST",headers:{accept:"application/json","x-publishable-key":o,"Content-Type":"application/json"},body:JSON.stringify({external_user_id:e})});if(!n.ok)throw new Error(`Failed to query executions: ${n.statusText}`);return n.json()}function ee(e,t="svg"){if(!e)return "";if(t==="svg"||!e.icon_urls||e.icon_urls.length===0)return e.icon_url;let o=e.icon_urls.find(n=>n.format===t);return o?o.url:e.icon_url}async function ko(e){let t=e||Ee;$e(t);let o=await fetch(`${ae()}/v1/public/tokens/supported_deposit_tokens`,{method:"GET",headers:{accept:"application/json","x-publishable-key":t}});if(!o.ok)throw new Error(`Failed to fetch supported deposit tokens: ${o.statusText}`);return o.json()}async function bo(e,t){let o=t||Ee;$e(o);let n=await fetch(`${ae()}/v1/public/onramps/meld/quotes`,{method:"POST",headers:{accept:"application/json","x-publishable-key":o,"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok)throw new Error(`Failed to fetch Meld quotes: ${n.statusText}`);return n.json()}async function To(e,t){let o=t||Ee;$e(o);let n=await fetch(`${ae()}/v1/public/onramps/meld/sessions`,{method:"POST",headers:{accept:"application/json","x-publishable-key":o,"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok)throw new Error(`Failed to create Meld session: ${n.statusText}`);return n.json()}async function So(e){let t=e||Ee;$e(t);let o=await fetch(`${ae()}/v1/public/onramps/fiat_currencies`,{method:"GET",headers:{accept:"application/json","x-publishable-key":t}});if(!o.ok)throw new Error(`Failed to fetch fiat currencies: ${o.statusText}`);return o.json()}async function bt(e){let t=e||Ee;$e(t);let o=await fetch(`${ae()}/v1/public/projects/config`,{method:"GET",headers:{accept:"application/json","x-publishable-key":t}});if(!o.ok)throw new Error(`Failed to fetch project config: ${o.statusText}`);return o.json()}async function _o(){let e=await fetch(`${ae()}/v1/public/ip_address`,{method:"GET",headers:{accept:"application/json"}});if(!e.ok)throw new Error(`Failed to fetch IP address information: ${e.statusText}`);return e.json()}var{height:at}=reactNative.Dimensions.get("window");function Q({visible:e,onClose:t,children:o,closeOnBackdropPress:n=true,showHandle:l=true,heightPercent:s,noPadding:p=false}){let{colors:w}=R(),f=react.useRef(new reactNative.Animated.Value(at)).current,r=react.useRef(new reactNative.Animated.Value(0)).current;react.useEffect(()=>{e?(f.setValue(at),r.setValue(0),reactNative.Animated.parallel([reactNative.Animated.spring(f,{toValue:0,useNativeDriver:true,tension:65,friction:11}),reactNative.Animated.timing(r,{toValue:.5,duration:200,useNativeDriver:true})]).start()):reactNative.Animated.parallel([reactNative.Animated.spring(f,{toValue:at,useNativeDriver:true,tension:65,friction:11}),reactNative.Animated.timing(r,{toValue:0,duration:200,useNativeDriver:true})]).start();},[e,f,r]);let P=()=>{n&&t();};return jsxRuntime.jsx(reactNative.Modal,{visible:e,transparent:true,animationType:"none",statusBarTranslucent:true,onRequestClose:t,children:jsxRuntime.jsxs(reactNative.View,{style:Qe.container,children:[jsxRuntime.jsx(reactNative.TouchableWithoutFeedback,{onPress:P,children:jsxRuntime.jsx(reactNative.Animated.View,{style:[Qe.backdrop,{backgroundColor:"#000000",opacity:r}]})}),jsxRuntime.jsxs(reactNative.Animated.View,{style:[Qe.sheet,{backgroundColor:w.background,borderTopLeftRadius:24,borderTopRightRadius:24,transform:[{translateY:f}],...s&&{height:at*s,maxHeight:at*s},...p&&{paddingBottom:0}}],children:[l&&jsxRuntime.jsx(reactNative.View,{style:Qe.handleContainer,children:jsxRuntime.jsx(reactNative.View,{style:[Qe.handle,{backgroundColor:w.border}]})}),jsxRuntime.jsx(reactNative.View,{style:[Qe.content,s&&Qe.contentFlex],children:o})]})]})})}var Qe=reactNative.StyleSheet.create({container:{flex:1,justifyContent:"flex-end"},backdrop:{...reactNative.StyleSheet.absoluteFillObject},sheet:{maxHeight:at*.9,paddingBottom:reactNative.Platform.OS==="ios"?34:24,shadowColor:"#000",shadowOffset:{width:0,height:-4},shadowOpacity:.1,shadowRadius:12,elevation:16},handleContainer:{alignItems:"center",paddingTop:12,paddingBottom:4},handle:{width:36,height:4,borderRadius:2},content:{},contentFlex:{flex:1}});function Io({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(K.Path,{d:"M13 2L3 14h9l-1 8 10-12h-9l1-8z",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function vo({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Rect,{x:"1",y:"4",width:"22",height:"16",rx:"2",ry:"2",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Line,{x1:"1",y1:"10",x2:"23",y2:"10",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Tt({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Circle,{cx:"12",cy:"12",r:"10",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Polyline,{points:"12 6 12 12 16 14",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Do({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Line,{x1:"19",y1:"12",x2:"5",y2:"12",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Polyline,{points:"12 19 5 12 12 5",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Ie({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Line,{x1:"18",y1:"6",x2:"6",y2:"18",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Line,{x1:"6",y1:"6",x2:"18",y2:"18",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Ge({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(K.Polyline,{points:"9 18 15 12 9 6",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function ce({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(K.Polyline,{points:"6 9 12 15 18 9",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function te({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(K.Polyline,{points:"20 6 9 17 4 12",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function Ye({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Path,{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Polyline,{points:"15 3 21 3 21 9",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Line,{x1:"10",y1:"14",x2:"21",y2:"3",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Vo({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Line,{x1:"12",y1:"1",x2:"12",y2:"23",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Path,{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function tr({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(K.Path,{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function or({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Path,{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Polyline,{points:"14 2 14 8 20 8",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Line,{x1:"16",y1:"13",x2:"8",y2:"13",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Line,{x1:"16",y1:"17",x2:"8",y2:"17",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Polyline,{points:"10 9 9 9 8 9",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function lt({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(K.Polyline,{points:"18 15 12 9 6 15",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function qt({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Polyline,{points:"23 4 23 10 17 10",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Polyline,{points:"1 20 1 14 7 14",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Path,{d:"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Po({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Circle,{cx:"12",cy:"12",r:"10",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Line,{x1:"12",y1:"16",x2:"12",y2:"12",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Line,{x1:"12",y1:"8",x2:"12.01",y2:"8",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function rr({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Path,{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Path,{d:"M9 12l2 2 4-4",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function $t({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(K__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(K.Path,{d:"M5.43 5.43A8.06 8.06 0 0 0 4 10c0 6 8 12 8 12a29.94 29.94 0 0 0 5-5",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Path,{d:"M19.18 13.52A8.66 8.66 0 0 0 20 10a8 8 0 0 0-8-8 7.88 7.88 0 0 0-3.52.82",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Path,{d:"M9.13 9.13A2.78 2.78 0 0 0 9 10a3 3 0 0 0 3 3 2.78 2.78 0 0 0 .87-.13",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Path,{d:"M14.9 9.25a3 3 0 0 0-2.15-2.16",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(K.Line,{x1:"2",y1:"2",x2:"22",y2:"22",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function de({title:e,showBack:t=false,showClose:o=true,onBack:n,onClose:l,badge:s}){let{colors:p}=R();return jsxRuntime.jsxs(reactNative.View,{style:ye.header,children:[jsxRuntime.jsx(reactNative.View,{style:ye.leftContainer,children:t&&n?jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:n,style:[ye.iconButton,{backgroundColor:"transparent"}],hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(Do,{size:20,color:p.foreground,strokeWidth:2})}):jsxRuntime.jsx(reactNative.View,{style:ye.spacer})}),jsxRuntime.jsxs(reactNative.View,{style:ye.titleContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ye.title,{color:p.foreground}],children:e}),s&&s.count>0&&jsxRuntime.jsx(reactNative.View,{style:[ye.titleBadge,{backgroundColor:p.card}],children:jsxRuntime.jsx(reactNative.Text,{style:[ye.titleBadgeText,{color:p.foregroundMuted}],children:s.count})})]}),jsxRuntime.jsx(reactNative.View,{style:ye.rightContainer,children:o?jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:l,style:[ye.iconButton,{backgroundColor:"transparent"}],hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(Ie,{size:20,color:p.foreground,strokeWidth:2})}):jsxRuntime.jsx(reactNative.View,{style:ye.spacer})})]})}var ye=reactNative.StyleSheet.create({header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingTop:16,paddingBottom:8},leftContainer:{width:40,alignItems:"flex-start"},rightContainer:{width:40,alignItems:"flex-end"},titleContainer:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8},title:{fontSize:16,fontWeight:"500",textAlign:"center"},titleBadge:{paddingHorizontal:8,paddingVertical:2,borderRadius:12},titleBadgeText:{fontSize:10,fontWeight:"400"},iconButton:{width:28,height:28,borderRadius:8,alignItems:"center",justifyContent:"center"},spacer:{width:28,height:28}});function ue({uri:e,width:t,height:o,borderRadius:n=0,borderWidth:l=0,borderColor:s="transparent",backgroundColor:p="transparent",style:w}){let[f,r]=react.useState(false),P=e?.toLowerCase().endsWith(".svg");if(!e)return jsxRuntime.jsx(reactNative.View,{style:[{width:t,height:o,borderRadius:n,backgroundColor:"#374151"},w]});let b={width:t,height:o,borderRadius:n,borderWidth:l,borderColor:s,backgroundColor:p,overflow:"hidden",alignItems:"center",justifyContent:"center",...w},a=t-l*2,T=o-l*2;return f?jsxRuntime.jsx(reactNative.View,{style:[b,{backgroundColor:p||"#374151"}]}):P?jsxRuntime.jsx(reactNative.View,{style:b,children:jsxRuntime.jsx(K.SvgUri,{uri:e,width:a,height:T,onError:A=>{console.log(`[RemoteIcon] SVG load error for ${e}:`,A),r(true);}})}):jsxRuntime.jsx(reactNative.View,{style:b,children:jsxRuntime.jsx(reactNative.Image,{source:{uri:e},style:{width:a,height:T},resizeMode:"contain",onError:A=>{console.log(`[RemoteIcon] Image load error for ${e}:`,A.nativeEvent.error),r(true);}})})}function St({onPress:e,title:t,subtitle:o,featuredTokens:n}){let{colors:l}=R(),s=n?[...n].sort((p,w)=>p.position-w.position):[];return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:e,activeOpacity:.7,style:[ve.container,{backgroundColor:l.card}],children:[jsxRuntime.jsxs(reactNative.View,{style:ve.leftContent,children:[jsxRuntime.jsx(reactNative.View,{style:[ve.iconContainer,{backgroundColor:l.cardHover}],children:jsxRuntime.jsx(Io,{size:20,color:l.foreground,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.View,{style:ve.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ve.title,{color:l.foreground}],children:t}),jsxRuntime.jsx(reactNative.Text,{style:[ve.subtitle,{color:l.foregroundMuted}],children:o})]})]}),jsxRuntime.jsx(reactNative.View,{style:ve.rightContent,children:jsxRuntime.jsx(reactNative.View,{style:ve.networkIcons,children:s.map((p,w)=>{let f=p.icon_urls.find(r=>r.format==="png")?.url||p.icon_urls.find(r=>r.format==="svg")?.url;return jsxRuntime.jsx(reactNative.View,{style:[ve.networkIconWrapper,{marginLeft:w===0?0:-6,zIndex:s.length-w}],children:jsxRuntime.jsx(ue,{uri:z(f),width:20,height:20,borderRadius:10,borderWidth:2,borderColor:l.card})},p.name)})})})]})}var ve=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:16,paddingHorizontal:12,borderRadius:12,marginHorizontal:16},leftContent:{flexDirection:"row",alignItems:"center",gap:12,flex:1},iconContainer:{width:36,height:36,borderRadius:8,alignItems:"center",justifyContent:"center"},textContainer:{flex:1},title:{fontSize:14,fontWeight:"400",marginBottom:2},subtitle:{fontSize:12,fontWeight:"300"},rightContent:{flexDirection:"row",alignItems:"center",gap:8},networkIcons:{flexDirection:"row",alignItems:"center"},networkIconWrapper:{}});function It({onPress:e,title:t,subtitle:o,paymentNetworks:n}){let{colors:l}=R();return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:e,activeOpacity:.7,style:[Fe.container,{backgroundColor:l.card}],children:[jsxRuntime.jsxs(reactNative.View,{style:Fe.leftContent,children:[jsxRuntime.jsx(reactNative.View,{style:[Fe.iconContainer,{backgroundColor:l.cardHover}],children:jsxRuntime.jsx(vo,{size:20,color:l.foreground,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.View,{style:Fe.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Fe.title,{color:l.foreground}],children:t}),jsxRuntime.jsx(reactNative.Text,{style:[Fe.subtitle,{color:l.foregroundMuted}],children:o})]})]}),jsxRuntime.jsx(reactNative.View,{style:Fe.rightContent,children:jsxRuntime.jsx(reactNative.View,{style:Fe.paymentIcons,children:n?.map(s=>{let p=s.icon_urls.find(w=>w.format==="png")?.url||s.icon_urls.find(w=>w.format==="svg")?.url;return jsxRuntime.jsx(ue,{uri:z(p),width:32,height:20,borderRadius:4},s.name)})})})]})}var Fe=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:16,paddingHorizontal:12,borderRadius:12,marginHorizontal:16},leftContent:{flexDirection:"row",alignItems:"center",gap:12,flex:1},iconContainer:{width:36,height:36,borderRadius:8,alignItems:"center",justifyContent:"center"},textContainer:{flex:1},title:{fontSize:14,fontWeight:"400",marginBottom:2},subtitle:{fontSize:12,fontWeight:"300"},rightContent:{flexDirection:"row",alignItems:"center",gap:8},paymentIcons:{flexDirection:"row",alignItems:"center",gap:6}});function vt({onPress:e,title:t,subtitle:o,badge:n}){let{colors:l}=R();return jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:e,activeOpacity:.7,style:[He.container,{backgroundColor:l.card}],children:jsxRuntime.jsxs(reactNative.View,{style:He.leftContent,children:[jsxRuntime.jsxs(reactNative.View,{style:[He.iconContainer,{backgroundColor:l.cardHover}],children:[jsxRuntime.jsx(Tt,{size:20,color:l.foreground,strokeWidth:2}),n!==void 0&&n>0&&jsxRuntime.jsx(reactNative.View,{style:[He.badge,{backgroundColor:l.primary}],children:jsxRuntime.jsx(reactNative.Text,{style:He.badgeText,children:n>99?"99+":n})})]}),jsxRuntime.jsxs(reactNative.View,{style:He.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[He.title,{color:l.foreground}],children:t}),jsxRuntime.jsx(reactNative.Text,{style:[He.subtitle,{color:l.foregroundMuted}],children:o})]})]})})}var He=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:16,paddingHorizontal:12,borderRadius:12,marginHorizontal:16},leftContent:{flexDirection:"row",alignItems:"center",gap:12,flex:1},iconContainer:{width:36,height:36,borderRadius:8,alignItems:"center",justifyContent:"center",position:"relative"},badge:{position:"absolute",top:-4,right:-4,minWidth:18,height:18,borderRadius:9,alignItems:"center",justifyContent:"center",paddingHorizontal:4},badgeText:{color:"#FFFFFF",fontSize:10,fontWeight:"600"},textContainer:{flex:1},title:{fontSize:14,fontWeight:"400",marginBottom:2},subtitle:{fontSize:12,fontWeight:"300"}});function Yt({value:e,size:t=180,logoUri:o,logoSize:n=40,logoBackgroundColor:l}){let{colors:s,isDark:p}=R(),w=p?"#1a1a1a":"#ffffff",f=p?"#ffffff":"#000000",r=l||w;return jsxRuntime.jsxs(reactNative.View,{style:[dr.container,{width:t,height:t}],children:[jsxRuntime.jsx(on__default.default,{value:e||"placeholder",size:t,backgroundColor:w,color:f,ecl:"H",quietZone:4}),o&&jsxRuntime.jsx(reactNative.View,{style:[dr.logoContainer,{width:n+12,height:n+12,backgroundColor:r,borderRadius:(n+12)/2}],children:jsxRuntime.jsx(ue,{uri:o,width:n,height:n,borderRadius:n/2})})]})}var dr=reactNative.StyleSheet.create({container:{alignItems:"center",justifyContent:"center",position:"relative"},logoContainer:{position:"absolute",alignItems:"center",justifyContent:"center"}});function pr(e){let t=e.split("/"),o=t[t.length-1];return o&&o.length>10?`${o.slice(0,6)}...${o.slice(-3)}`:o||""}function un(e){let o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][e.getMonth()],n=e.getDate(),l=e.getFullYear(),s=e.getHours(),p=e.getMinutes(),w=s>=12?"pm":"am";s=s%12,s=s||12;let f=p<10?`0${p}`:p;return `${o} ${n}, ${l} at ${s}:${f}${w}`}function Zt({visible:e,status:t,tokenIconUrl:o,explorerUrl:n,completionExplorerUrl:l,date:s,amountUsd:p,onClose:w}){let{colors:f}=R(),r=react.useRef(new reactNative.Animated.Value(0)).current,[P,b]=react.useState(false),a=t==="pending"||t==="waiting"||t==="delayed",T=t==="succeeded";react.useEffect(()=>{if(a&&e){let x=reactNative.Animated.loop(reactNative.Animated.timing(r,{toValue:1,duration:1e3,easing:reactNative.Easing.linear,useNativeDriver:true}));return x.start(),()=>x.stop()}else r.setValue(0);},[a,e,r]);let A=r.interpolate({inputRange:[0,1],outputRange:["0deg","360deg"]}),F=()=>{n&&reactNative.Linking.openURL(n);},W=()=>{l&&reactNative.Linking.openURL(l);};return jsxRuntime.jsx(Q,{visible:e,onClose:w,closeOnBackdropPress:true,showHandle:false,children:jsxRuntime.jsxs(reactNative.View,{style:N.container,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:N.closeButton,onPress:w,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(Ie,{size:20,color:f.foregroundMuted,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.View,{style:N.iconContainer,children:[o?jsxRuntime.jsx(reactNative.Image,{source:{uri:z(o)},style:N.tokenIcon}):jsxRuntime.jsx(reactNative.View,{style:[N.tokenIcon,{backgroundColor:f.cardHover}]}),jsxRuntime.jsx(reactNative.View,{style:[N.statusBadge,{backgroundColor:a?"#F97316":"#22C55E"}],children:a?jsxRuntime.jsx(reactNative.Animated.View,{style:{transform:[{rotate:A}]},children:jsxRuntime.jsx(qt,{size:16,color:"#fff",strokeWidth:2.5})}):jsxRuntime.jsx(te,{size:16,color:"#fff",strokeWidth:3})})]}),jsxRuntime.jsx(reactNative.Text,{style:[N.title,{color:f.foreground}],children:a?"Deposit Processing":"Deposit Complete"}),p!==void 0&&jsxRuntime.jsxs(reactNative.Text,{style:[N.amount,{color:f.foreground}],children:["$",p.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})]}),s&&jsxRuntime.jsx(reactNative.Text,{style:[N.date,{color:f.foregroundMuted}],children:un(s)}),jsxRuntime.jsx(reactNative.Text,{style:[N.subtitle,{color:f.foregroundMuted}],children:a?"This usually takes less than a minute.":"Your account has been credited successfully!"}),T&&(n||l)&&jsxRuntime.jsxs(reactNative.View,{style:N.detailsSection,children:[jsxRuntime.jsx(reactNative.View,{style:[N.divider,{backgroundColor:f.border}]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:N.detailsToggle,onPress:()=>b(!P),children:[jsxRuntime.jsx(reactNative.Text,{style:[N.detailsToggleText,{color:f.foregroundMuted}],children:P?"See less":"See more details"}),P?jsxRuntime.jsx(lt,{size:18,color:f.foregroundMuted,strokeWidth:2}):jsxRuntime.jsx(ce,{size:18,color:f.foregroundMuted,strokeWidth:2})]}),P&&jsxRuntime.jsxs(reactNative.View,{style:N.txButtonsContainer,children:[n&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[N.txButton,{backgroundColor:f.card,borderColor:f.border}],onPress:F,children:[jsxRuntime.jsx(reactNative.Text,{style:[N.txLabel,{color:f.foreground}],children:"Deposit tx"}),jsxRuntime.jsx(reactNative.Text,{style:[N.txHash,{color:f.foregroundMuted}],children:pr(n)}),jsxRuntime.jsx(Ye,{size:16,color:f.foregroundMuted,strokeWidth:2})]}),l&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[N.txButton,{backgroundColor:f.card,borderColor:f.border}],onPress:W,children:[jsxRuntime.jsx(reactNative.Text,{style:[N.txLabel,{color:f.foreground}],children:"Completion tx"}),jsxRuntime.jsx(reactNative.Text,{style:[N.txHash,{color:f.foregroundMuted}],children:pr(l)}),jsxRuntime.jsx(Ye,{size:16,color:f.foregroundMuted,strokeWidth:2})]})]})]})]})})}var N=reactNative.StyleSheet.create({container:{alignItems:"center",paddingHorizontal:24,paddingTop:40},closeButton:{position:"absolute",top:16,right:16,padding:4,zIndex:1},iconContainer:{position:"relative",marginBottom:16},tokenIcon:{width:64,height:64,borderRadius:32},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"}});var Dt=(e,t)=>`${t}:${e}`,gn=e=>{let[t,o]=e.split(":");return {chainType:t,chainId:o}};function oo({externalUserId:e,publishableKey:t,recipientAddress:o,destinationChainType:n,destinationChainId:l,destinationTokenAddress:s,onExecutionsChange:p,onDepositSuccess:w,onDepositError:f}){let{colors:r}=R(),[P,b]=react.useState("USDC"),[a,T]=react.useState("solana:mainnet"),[A,F]=react.useState([]),[W,x]=react.useState(true),[D,J]=react.useState([]),[m,$]=react.useState(true),[j,oe]=react.useState(false),[re,B]=react.useState(false),[Ce,xe]=react.useState(false),[Oe,ne]=react.useState(false),[ke,Le]=react.useState([]),[se,rt]=react.useState(new Map),[Ne]=react.useState(()=>new Date),[nt,Te]=react.useState(null),[Be,Wt]=react.useState(false),[We,Mt]=react.useState(null),[mo,Se]=react.useState(false),mt=new Map;D.forEach(u=>{u.chains.forEach(S=>{let E=`${S.chain_type}:${S.chain_id}`;mt.has(E)||mt.set(E,S);});});let At=Array.from(mt.values()),Et=gn(a),zt=At.find(u=>u.chain_type===Et.chainType&&u.chain_id===Et.chainId)?.chain_type||"ethereum",Me=xt(A,zt)?.address||"";react.useEffect(()=>{async function u(){try{$(!0),Te(null);let S=await ko(t);if(J(S.data),S.data.length>0){let E=S.data[0];if(b(E.symbol),E.chains.length>0){let H=E.chains[0];T(Dt(H.chain_id,H.chain_type));}}}catch(S){console.error("Error fetching supported tokens:",S),Te("Failed to load supported tokens"),f?.({message:"Failed to load supported tokens",error:S});}finally{$(false);}}u();},[t,f]),react.useEffect(()=>{async function u(){try{x(!0),Te(null);let S=await Ct({external_user_id:e,recipient_address:o,destination_chain_type:n,destination_chain_id:l,destination_token_address:s},t);F(S.data);}catch(S){console.error("Error fetching wallets:",S),Te("Failed to load wallets"),f?.({message:"Failed to load wallets",error:S});}finally{x(false);}}u();},[e,o,n,l,s,t,f]),react.useEffect(()=>{if(!e||!Ne)return;let u=setInterval(async()=>{try{let S=await kt(e,t),E=null;for(let H of S.data){let fe=H.created_at?new Date(H.created_at):null;if(!fe||fe<=Ne)continue;let Ae=se.get(H.id);if(!Ae){E=H;break}if(["pending","waiting","delayed"].includes(Ae)&&H.status==="succeeded"){E=H;break}}if(E){let H=E;Le(fe=>{let Ae=fe.findIndex(yt=>yt.id===H.id);if(Ae>=0){let yt=[...fe];return yt[Ae]=H,yt}else return [...fe,H]}),rt(fe=>{let Ae=new Map(fe);return Ae.set(H.id,H.status),Ae}),Mt(H),Wt(!0),H.status==="succeeded"&&w?.({message:"Deposit completed successfully",executionId:H.id}),p?.([...ke,H]);}}catch(S){console.error("Error polling executions:",S),f?.({message:"Failed to check deposit status",error:S});}},5e3);return ()=>clearInterval(u)},[e,t,Ne,se,ke,p,w,f]),react.useEffect(()=>{if(!D.length)return;let u=D.find(E=>E.symbol===P);if(!u||u.chains.length===0)return;if(!u.chains.some(E=>Dt(E.chain_id,E.chain_type)===a)){let E=u.chains[0];T(Dt(E.chain_id,E.chain_type));}},[P,D,a]);let qe=D.find(u=>u.symbol===P),Ft=qe?.chains||[],_e=Ft.find(u=>Dt(u.chain_id,u.chain_type)===a),wo=async()=>{if(Me)try{reactNative.Clipboard.setString(Me),oe(!0),setTimeout(()=>oe(!1),2e3);}catch(u){console.error("Failed to copy:",u);}},Ht=_e?.estimated_price_impact_percent??0,it=_e?.max_slippage_percent??.25,Co=_e?.minimum_deposit_amount_usd??3;if(m)return jsxRuntime.jsxs(reactNative.View,{style:i.loadingContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:r.primary}),jsxRuntime.jsx(reactNative.Text,{style:[i.loadingText,{color:r.foregroundMuted}],children:"Loading currencies..."})]});if(nt&&D.length===0)return jsxRuntime.jsxs(reactNative.View,{style:i.errorContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[i.errorText,{color:r.error}],children:nt}),jsxRuntime.jsx(reactNative.Text,{style:[i.errorHint,{color:r.foregroundMuted}],children:"Please check your network connection and try again."})]});let xo=()=>jsxRuntime.jsxs(Q,{visible:Ce,onClose:()=>xe(false),closeOnBackdropPress:true,showHandle:false,children:[jsxRuntime.jsxs(reactNative.View,{style:[i.sheetHeader,{borderBottomColor:r.border}],children:[jsxRuntime.jsx(reactNative.View,{style:i.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[i.sheetTitle,{color:r.foreground}],children:"Select Token"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>xe(false),style:i.sheetCloseButton,children:jsxRuntime.jsx(Ie,{size:20,color:r.foreground,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.ScrollView,{style:i.sheetList,showsVerticalScrollIndicator:false,children:D.map(u=>jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>{b(u.symbol),xe(false);},style:[i.sheetItem,{backgroundColor:P===u.symbol?r.card:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:z(ee(u,"png"))},style:i.sheetItemIcon}),jsxRuntime.jsxs(reactNative.View,{style:i.sheetItemText,children:[jsxRuntime.jsx(reactNative.Text,{style:[i.sheetItemTitle,{color:r.foreground}],children:u.symbol}),jsxRuntime.jsxs(reactNative.Text,{style:[i.sheetItemSubtitle,{color:r.foregroundMuted}],children:[u.chains.length," network",u.chains.length!==1?"s":""," available"]})]}),P===u.symbol&&jsxRuntime.jsx(te,{size:20,color:r.primary,strokeWidth:2})]},u.symbol))})]}),h=()=>jsxRuntime.jsxs(Q,{visible:Oe,onClose:()=>ne(false),closeOnBackdropPress:true,showHandle:false,children:[jsxRuntime.jsxs(reactNative.View,{style:[i.sheetHeader,{borderBottomColor:r.border}],children:[jsxRuntime.jsx(reactNative.View,{style:i.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[i.sheetTitle,{color:r.foreground}],children:"Select Network"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>ne(false),style:i.sheetCloseButton,children:jsxRuntime.jsx(Ie,{size:20,color:r.foreground,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.ScrollView,{style:i.sheetList,showsVerticalScrollIndicator:false,children:Ft.map(u=>{let S=Dt(u.chain_id,u.chain_type),E=a===S;return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>{T(S),ne(false);},style:[i.sheetItem,{backgroundColor:E?r.card:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:z(ee(u,"png"))},style:i.sheetItemIcon}),jsxRuntime.jsxs(reactNative.View,{style:i.sheetItemText,children:[jsxRuntime.jsx(reactNative.Text,{style:[i.sheetItemTitle,{color:r.foreground}],children:u.chain_name}),jsxRuntime.jsxs(reactNative.Text,{style:[i.sheetItemSubtitle,{color:r.foregroundMuted}],children:["Min deposit: $",u.minimum_deposit_amount_usd]})]}),E&&jsxRuntime.jsx(te,{size:20,color:r.primary,strokeWidth:2})]},S)})})]});return jsxRuntime.jsxs(reactNative.View,{style:i.container,children:[jsxRuntime.jsxs(reactNative.View,{style:i.selectorSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[i.selectorLabel,{color:r.foregroundMuted}],children:"Token"}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>xe(true),style:[i.selector,{backgroundColor:r.card}],children:[qe&&jsxRuntime.jsx(reactNative.Image,{source:{uri:z(ee(qe,"png"))},style:i.selectorIcon}),jsxRuntime.jsx(reactNative.Text,{style:[i.selectorText,{color:r.foreground}],children:P}),jsxRuntime.jsx(ce,{size:16,color:r.foregroundMuted,strokeWidth:2})]})]}),jsxRuntime.jsxs(reactNative.View,{style:i.selectorSection,children:[jsxRuntime.jsxs(reactNative.Text,{style:[i.selectorLabel,{color:r.foregroundMuted}],children:["Network"," ",jsxRuntime.jsxs(reactNative.Text,{style:i.minDeposit,children:["($",Co," min)"]})]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>ne(true),style:[i.selector,{backgroundColor:r.card}],children:[_e&&jsxRuntime.jsx(reactNative.Image,{source:{uri:z(ee(_e,"png"))},style:i.selectorIcon}),jsxRuntime.jsx(reactNative.Text,{style:[i.selectorText,{color:r.foreground}],numberOfLines:1,children:_e?.chain_name||"Select network"}),jsxRuntime.jsx(ce,{size:16,color:r.foregroundMuted,strokeWidth:2})]})]}),jsxRuntime.jsx(reactNative.View,{style:i.qrContainer,children:jsxRuntime.jsx(reactNative.View,{style:[i.qrWrapper,{backgroundColor:r.background,borderColor:r.border}],children:W?jsxRuntime.jsxs(reactNative.View,{style:i.qrLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:r.primary}),jsxRuntime.jsx(reactNative.Text,{style:[i.loadingText,{color:r.foregroundMuted}],children:"Loading..."})]}):Me?jsxRuntime.jsx(Yt,{value:Me,size:160,logoUri:z(ee(_e,"png")||ie("/icons/networks/png/ethereum.png")),logoSize:40}):jsxRuntime.jsx(reactNative.View,{style:i.qrLoading,children:jsxRuntime.jsx(reactNative.Text,{style:[i.errorText,{color:r.error}],children:"No address available"})})})}),jsxRuntime.jsxs(reactNative.View,{style:i.addressSection,children:[jsxRuntime.jsxs(reactNative.View,{style:i.addressHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:[i.addressLabel,{color:r.foregroundMuted}],children:"Deposit Address"}),j&&jsxRuntime.jsxs(reactNative.View,{style:i.copiedIndicator,children:[jsxRuntime.jsx(te,{size:14,color:r.success,strokeWidth:2}),jsxRuntime.jsx(reactNative.Text,{style:[i.copiedText,{color:r.success}],children:"Copied"})]})]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:wo,disabled:!Me||W,activeOpacity:.7,style:[i.addressBox,{backgroundColor:r.card}],children:jsxRuntime.jsx(reactNative.Text,{style:[i.addressText,{color:r.foreground}],numberOfLines:2,children:W?"Loading...":Me||"No address available"})})]}),jsxRuntime.jsxs(reactNative.View,{style:[i.detailsCard,{backgroundColor:r.card}],children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>B(!re),style:i.detailsHeader,children:[jsxRuntime.jsxs(reactNative.View,{style:i.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[i.detailIcon,{backgroundColor:r.cardHover}],children:jsxRuntime.jsx(Tt,{size:12,color:r.foreground,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[i.detailsLabel,{color:r.foregroundMuted}],children:["Processing time:"," ",jsxRuntime.jsx(reactNative.Text,{style:{color:r.foreground},children:"< 1 min"})]})]}),jsxRuntime.jsx(reactNative.View,{style:i.chevronContainer,children:re?jsxRuntime.jsx(lt,{size:16,color:r.foregroundMuted,strokeWidth:2}):jsxRuntime.jsx(ce,{size:16,color:r.foregroundMuted,strokeWidth:2})})]}),re&&jsxRuntime.jsxs(reactNative.View,{style:i.detailsContent,children:[jsxRuntime.jsxs(reactNative.View,{style:i.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[i.detailIcon,{backgroundColor:r.cardHover}],children:jsxRuntime.jsx(Vo,{size:12,color:r.foreground,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[i.detailsLabel,{color:r.foregroundMuted}],children:["Price impact:"," ",jsxRuntime.jsxs(reactNative.Text,{style:{color:r.foreground},children:[Ht.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>Se(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx(Po,{size:14,color:r.foregroundMuted,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:i.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[i.detailIcon,{backgroundColor:r.cardHover}],children:jsxRuntime.jsx(tr,{size:12,color:r.foreground,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[i.detailsLabel,{color:r.foregroundMuted}],children:["Max slippage:"," ",jsxRuntime.jsxs(reactNative.Text,{style:{color:r.foreground},children:[it.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>Se(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx(Po,{size:14,color:r.foregroundMuted,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:i.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[i.detailIcon,{backgroundColor:r.cardHover}],children:jsxRuntime.jsx(or,{size:12,color:r.foreground,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[i.detailsLabel,{color:r.foregroundMuted}],children:["Need help?"," ",jsxRuntime.jsx(reactNative.Text,{style:{color:r.foreground,textDecorationLine:"underline"},children:"Contact support"})]})]})]})]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:i.termsContainer,children:jsxRuntime.jsx(reactNative.Text,{style:[i.termsText,{color:r.foregroundMuted}],children:"Terms apply"})}),xo(),h(),jsxRuntime.jsxs(Q,{visible:mo,onClose:()=>Se(false),closeOnBackdropPress:true,showHandle:true,children:[jsxRuntime.jsxs(reactNative.View,{style:[i.sheetHeader,{borderBottomColor:r.border}],children:[jsxRuntime.jsx(reactNative.View,{style:i.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[i.sheetTitle,{color:r.foreground}],children:"Price Impact & Slippage"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>Se(false),style:i.sheetCloseButton,children:jsxRuntime.jsx(Ie,{size:20,color:r.foreground,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:i.infoSheetContent,children:[jsxRuntime.jsxs(reactNative.View,{style:[i.infoCard,{backgroundColor:r.card}],children:[jsxRuntime.jsxs(reactNative.View,{style:i.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[i.infoCardIcon,{backgroundColor:r.cardHover}],children:jsxRuntime.jsx(Vo,{size:16,color:r.foreground,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[i.infoCardTitle,{color:r.foreground}],children:"Price Impact"}),jsxRuntime.jsxs(reactNative.Text,{style:[i.infoCardValue,{color:r.foreground}],children:[Ht.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[i.infoCardDescription,{color:r.foregroundMuted}],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:[i.infoCard,{backgroundColor:r.card}],children:[jsxRuntime.jsxs(reactNative.View,{style:i.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[i.infoCardIcon,{backgroundColor:r.cardHover}],children:jsxRuntime.jsx(rr,{size:16,color:r.foreground,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[i.infoCardTitle,{color:r.foreground}],children:"Max Slippage"}),jsxRuntime.jsxs(reactNative.Text,{style:[i.infoCardValue,{color:r.foreground}],children:[it.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[i.infoCardDescription,{color:r.foregroundMuted}],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."})]})]})]}),We&&jsxRuntime.jsx(Zt,{visible:Be,status:We.status,tokenIconUrl:We.destination_token_metadata?.icon_urls?.find(u=>u.format==="png")?.url||We.destination_token_metadata?.icon_url||ee(qe,"png"),explorerUrl:We.explorer_url,completionExplorerUrl:We.destination_explorer_url,onClose:()=>Wt(false)})]})}var i=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,borderRadius:16,borderWidth:1},qrLoading:{width:160,height:160,alignItems:"center",justifyContent:"center"},addressSection:{marginBottom:16},addressHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8},addressLabel:{fontSize:13},copiedIndicator:{flexDirection:"row",alignItems:"center",gap:4},copiedText:{fontSize:12,fontWeight:"500"},addressBox:{paddingHorizontal:12,paddingVertical:16,borderRadius:8},addressText:{fontSize:12,fontFamily:"monospace"},detailsCard:{borderRadius:8,padding:4,marginBottom:16},detailsHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:12,paddingLeft:8,paddingRight:24},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},termsContainer:{alignItems:"center"},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"},sheetList:{maxHeight:400,paddingTop:8},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 ro({currency:e,isSelected:t,onSelect:o}){let{colors:n}=R();return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>o(e.currency_code),activeOpacity:.7,style:[Ze.container,{backgroundColor:n.card}],children:[jsxRuntime.jsxs(reactNative.View,{style:Ze.leftContent,children:[jsxRuntime.jsx(reactNative.View,{style:[Ze.iconContainer,{backgroundColor:n.background}],children:jsxRuntime.jsx(reactNative.Image,{source:{uri:z(ee(e,"png"))},style:Ze.icon})}),jsxRuntime.jsxs(reactNative.View,{style:Ze.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ze.name,{color:n.foreground}],children:e.name}),jsxRuntime.jsx(reactNative.Text,{style:[Ze.code,{color:n.foregroundMuted}],children:e.currency_code.toUpperCase()})]})]}),t&&jsxRuntime.jsx(te,{size:16,color:n.foreground,strokeWidth:2})]})}var Ze=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:12,borderRadius: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 Pt({title:e,currencies:t,selectedCurrency:o,onSelect:n}){let{colors:l}=R();return t.length===0?null:jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsx(reactNative.View,{style:yr.headerContainer,children:jsxRuntime.jsx(reactNative.Text,{style:[yr.title,{color:l.foregroundMuted}],children:e})}),t.map(s=>jsxRuntime.jsx(ro,{currency:s,isSelected:o.toLowerCase()===s.currency_code.toLowerCase(),onSelect:n},s.currency_code))]})}var yr=reactNative.StyleSheet.create({headerContainer:{paddingHorizontal:12,paddingBottom:8,paddingTop:4},title:{fontSize:14,fontWeight:"500"}});function io({open:e,onOpenChange:t,currencies:o,preferredCurrencyCodes:n,selectedCurrency:l,onSelectCurrency:s}){let{colors:p}=R(),[w,f]=react.useState(""),r=n.map(W=>o.find(x=>x.currency_code.toLowerCase()===W.toLowerCase())).filter(W=>W!==void 0),P=o.filter(W=>!n.includes(W.currency_code.toLowerCase())),b=W=>{if(!w)return W;let x=w.toLowerCase();return W.filter(D=>D.name.toLowerCase().includes(x)||D.currency_code.toLowerCase().includes(x))},a=b(r),T=b(P),A=W=>{s(W),t(false),f("");},F=()=>{t(false),f("");};return jsxRuntime.jsxs(Q,{visible:e,onClose:F,closeOnBackdropPress:true,showHandle:false,children:[jsxRuntime.jsx(de,{title:"Currency",showBack:false,onClose:F}),jsxRuntime.jsx(reactNative.View,{style:et.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[et.searchInput,{backgroundColor:p.card,color:p.foreground}],value:w,onChangeText:f,placeholder:"Search",placeholderTextColor:p.foregroundMuted})}),jsxRuntime.jsx(reactNative.ScrollView,{style:et.listContainer,showsVerticalScrollIndicator:false,children:jsxRuntime.jsxs(reactNative.View,{style:et.listContent,children:[jsxRuntime.jsx(Pt,{title:"Popular currencies",currencies:a,selectedCurrency:l,onSelect:A}),a.length>0&&T.length>0&&jsxRuntime.jsx(reactNative.View,{style:et.sectionSpacer}),jsxRuntime.jsx(Pt,{title:"All currencies",currencies:T,selectedCurrency:l,onSelect:A}),a.length===0&&T.length===0&&jsxRuntime.jsx(reactNative.View,{style:et.noResultsContainer,children:jsxRuntime.jsx(reactNative.Text,{style:[et.noResultsText,{color:p.foregroundMuted}],children:"No currencies found"})})]})})]})}var et=reactNative.StyleSheet.create({searchContainer:{marginTop:8,paddingHorizontal:16,paddingBottom:12},searchInput:{padding:16,borderRadius:12,fontSize:14},listContainer:{height:400,paddingHorizontal:12},listContent:{paddingBottom:24,minHeight:400},sectionSpacer:{height:8},noResultsContainer:{paddingVertical:32,alignItems:"center"},noResultsText:{fontSize:14}});var Vn=[100,500,1e3];function xr(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 ao({externalUserId:e,publishableKey:t,view:o,onViewChange:n,maxAmountUsd:l=5e4,destinationTokenSymbol:s="USDC",recipientAddress:p,destinationChainType:w,destinationChainId:f,destinationTokenAddress:r,onDepositSuccess:P,onDepositError:b}){let{colors:a}=R(),[T,A]=react.useState("500.00"),[F,W]=react.useState("usd"),[x,D]=react.useState([]),[J,m]=react.useState(false),[$,j]=react.useState(null),[oe,re]=react.useState("amount"),[B,Ce]=react.useState(null),[xe,Oe]=react.useState([]),[ne,ke]=react.useState(true),[Le,se]=react.useState(60),[rt,Ne]=react.useState([]),[nt,Te]=react.useState([]),[Be,Wt]=react.useState(null),[We,Mt]=react.useState(false),[mo,Se]=react.useState(false),[mt,At]=react.useState(false),[Et,$o]=react.useState(null),zt=o??oe,yo=rt.find(h=>h.currency_code.toLowerCase()===F.toLowerCase()),Me=react.useCallback(h=>{re(h),h==="quotes"?n?.(h,x.length):n?.(h);},[x.length,n]);react.useEffect(()=>{async function h(){try{let u=await Ct({external_user_id:e,recipient_address:p,destination_chain_type:w,destination_chain_id:f,destination_token_address:r},t);Oe(u.data);}catch(u){console.error("Error fetching wallets:",u),j("Failed to load wallet addresses");}finally{ke(false);}}h();},[e,p,w,f,r,t]),react.useEffect(()=>{async function h(){try{let u=await So(t);Ne(u.data),Te(u.preferred||[]);}catch(u){console.error("Error fetching fiat currencies:",u);}}h();},[t]),react.useEffect(()=>{let h=parseFloat(T);if(isNaN(h)||h<=0){D([]);return}if(F.toLowerCase()==="usd"&&h>l){D([]),j(`Maximum amount is ${xr("usd")}${l.toLocaleString()}`);return}let u=setTimeout(()=>{qe(h);},500);return ()=>clearTimeout(u)},[T,F,l,t]);let qe=async h=>{m(true),j(null);try{let u={country_code:"US",destination_currency_code:"usdc_polygon",source_amount:h.toString(),source_currency_code:F.toLowerCase()},S=await bo(u,t);if(D(S.data),S.data.length>0){let E=S.data.reduce((H,fe)=>fe.destination_amount>H.destination_amount?fe:H);Ce(E);}se(60);}catch(u){console.error("Failed to fetch quotes:",u),j("Failed to fetch quotes. Please try again."),D([]);}finally{m(false);}};react.useEffect(()=>{if(x.length===0)return;let h=setInterval(()=>{se(u=>{if(u<=1){let S=parseFloat(T);return !isNaN(S)&&S>0&&qe(S),60}return u-1});},1e3);return ()=>clearInterval(h)},[x.length,T]);let Ft=h=>{(/^\d*\.?\d{0,2}$/.test(h)||h==="")&&A(h);},_e=h=>{A(h.toFixed(2));},wo=()=>B?B.destination_amount.toFixed(2):"0.00",Ht=async()=>{if(B)try{let h=xt(xe,"ethereum");if(!h?.address){j("Wallet address not available");return}let u={service_provider:B.service_provider,country_code:B.country_code.toUpperCase(),destination_currency_code:B.destination_currency_code,source_currency_code:B.source_currency_code,wallet_address:h.address,source_amount:T},S=await To(u,t);Wt({provider:B,sourceCurrency:F,sourceAmount:T}),$o(S.widget_url),At(!0);}catch(h){console.error("Failed to create session:",h),j("Failed to start payment flow"),b?.({message:"Failed to start payment flow",error:h});}},it=xr(F),Co=()=>{At(false),Me("onramp"),P?.({message:"Payment flow completed",executionId:Be?.sessionId});},xo=()=>jsxRuntime.jsx(Pn,{visible:mt,onClose:Co,url:Et,providerName:B?.service_provider_display_name||"Complete Payment",colors:a});return zt==="amount"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.View,{style:d.amountViewContainer,children:[jsxRuntime.jsxs(reactNative.ScrollView,{style:d.scrollContainer,contentContainerStyle:d.scrollContent,showsVerticalScrollIndicator:false,keyboardShouldPersistTaps:"handled",bounces:false,children:[jsxRuntime.jsx(reactNative.View,{style:d.currencySelector,children:jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>Mt(true),style:[d.currencyButton,{backgroundColor:a.card}],children:[yo&&jsxRuntime.jsx(reactNative.Image,{source:{uri:z(ee(yo,"png"))},style:d.currencyIcon}),jsxRuntime.jsx(reactNative.Text,{style:[d.currencyText,{color:a.foreground}],children:F.toUpperCase()}),jsxRuntime.jsx(ce,{size:16,color:a.foregroundMuted,strokeWidth:2})]})}),jsxRuntime.jsx(io,{open:We,onOpenChange:Mt,currencies:rt,preferredCurrencyCodes:nt,selectedCurrency:F,onSelectCurrency:h=>{W(h.toLowerCase());}}),jsxRuntime.jsxs(reactNative.View,{style:d.amountContainer,children:[jsxRuntime.jsxs(reactNative.View,{style:d.amountInputRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[d.currencySymbol,{color:a.foreground}],children:it}),jsxRuntime.jsx(reactNative.TextInput,{style:[d.amountInput,{color:a.foreground}],value:T,onChangeText:Ft,keyboardType:"decimal-pad",placeholder:"0",placeholderTextColor:a.foregroundMuted})]}),J?jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:a.primary}):jsxRuntime.jsxs(reactNative.Text,{style:[d.usdcPreview,{color:a.foregroundMuted}],children:["\u2248 ",wo()," ",s]})]}),jsxRuntime.jsx(reactNative.View,{style:d.quickAmounts,children:Vn.map(h=>jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>_e(h),style:[d.quickAmountButton,{backgroundColor:a.card},parseFloat(T)===h&&{borderColor:a.primary,borderWidth:2}],children:jsxRuntime.jsxs(reactNative.Text,{style:[d.quickAmountText,{color:a.foreground}],children:[it,h.toLocaleString()]})},h))}),jsxRuntime.jsxs(reactNative.View,{style:d.providerSection,children:[jsxRuntime.jsxs(reactNative.View,{style:d.providerHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:[d.providerLabel,{color:a.foreground}],children:"Provider"}),x.length>0&&!J&&jsxRuntime.jsxs(reactNative.Text,{style:[d.refreshText,{color:a.foregroundMuted}],children:["Refreshing in ",Le,"s"]})]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>Se(true),disabled:J||x.length===0,style:[d.providerButton,{backgroundColor:a.card},(J||x.length===0)&&d.disabled],children:J?jsxRuntime.jsxs(reactNative.View,{style:d.providerLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:a.foregroundMuted}),jsxRuntime.jsx(reactNative.Text,{style:[d.loadingText,{color:a.foregroundMuted}],children:"Finding best rates..."})]}):B?jsxRuntime.jsxs(reactNative.View,{style:d.providerContent,children:[jsxRuntime.jsxs(reactNative.View,{style:d.providerInfo,children:[jsxRuntime.jsx(reactNative.Text,{style:[d.autoPickedText,{color:a.foregroundMuted}],children:"Auto-picked for you"}),jsxRuntime.jsxs(reactNative.View,{style:d.providerRow,children:[jsxRuntime.jsx(ue,{uri:z(B.icon_url),width:32,height:32,borderRadius:8}),jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsx(reactNative.Text,{style:[d.providerName,{color:a.foreground}],children:B.service_provider_display_name}),jsxRuntime.jsxs(reactNative.Text,{style:[d.bestPriceText,{color:a.success}],children:["Best price \u2022 ",B.destination_amount.toFixed(2)," ","USDC"]})]})]})]}),jsxRuntime.jsx(Ge,{size:20,color:a.foregroundMuted,strokeWidth:2})]}):jsxRuntime.jsx(reactNative.Text,{style:[d.noProviderText,{color:a.foregroundMuted}],children:parseFloat(T)>0?"No providers available":"Enter an amount to see providers"})}),$&&jsxRuntime.jsx(reactNative.Text,{style:[d.errorText,{color:a.error}],children:$})]}),jsxRuntime.jsxs(Q,{visible:mo,onClose:()=>Se(false),closeOnBackdropPress:true,showHandle:false,children:[jsxRuntime.jsx(de,{title:"Select Provider",showBack:false,onClose:()=>Se(false),badge:x.length>0?{count:x.length}:void 0}),jsxRuntime.jsx(reactNative.ScrollView,{style:d.providerModalList,showsVerticalScrollIndicator:false,children:jsxRuntime.jsx(reactNative.View,{style:d.quotesList,children:[...x].sort((h,u)=>u.destination_amount-h.destination_amount).map((h,u)=>{let S=B?.service_provider===h.service_provider,E=u===0;return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>{Ce(h),Se(false);},style:[d.quoteItem,{backgroundColor:a.card},S&&{borderColor:a.primary,borderWidth:2}],children:[jsxRuntime.jsxs(reactNative.View,{style:d.quoteLeft,children:[jsxRuntime.jsx(ue,{uri:z(h.icon_url),width:32,height:32,borderRadius:8}),jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsx(reactNative.Text,{style:[d.quoteName,{color:a.foreground}],children:h.service_provider_display_name}),E&&jsxRuntime.jsx(reactNative.Text,{style:[d.bestPriceLabel,{color:a.success}],children:"\u2713 Best price"})]})]}),jsxRuntime.jsxs(reactNative.View,{style:d.quoteRight,children:[jsxRuntime.jsxs(reactNative.Text,{style:[d.quoteAmount,{color:a.foreground}],children:[h.destination_amount.toFixed(2)," USDC"]}),jsxRuntime.jsxs(reactNative.Text,{style:[d.quoteSource,{color:a.foregroundMuted}],children:["Fee: ",it,h.total_fee.toFixed(2)]})]})]},h.service_provider)})})})]})]}),jsxRuntime.jsx(reactNative.View,{style:[d.continueButtonContainer,{backgroundColor:a.background}],children:jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:Ht,disabled:J||ne||!B||parseFloat(T)<=0,style:[d.continueButton,{backgroundColor:a.primary},(J||ne||!B)&&d.disabledButton],children:jsxRuntime.jsx(reactNative.Text,{style:d.continueButtonText,children:ne?"Loading...":"Continue"})})})]}),xo()]}):zt==="onramp"&&Be?jsxRuntime.jsxs(reactNative.View,{style:d.onrampContainer,children:[jsxRuntime.jsx(ue,{uri:z(Be.provider.icon_url),width:64,height:64,borderRadius:16}),jsxRuntime.jsxs(reactNative.Text,{style:[d.onrampTitle,{color:a.foreground}],children:["Complete transaction with ",Be.provider.service_provider_display_name]}),jsxRuntime.jsx(reactNative.Text,{style:[d.onrampSubtitle,{color:a.foregroundMuted}],children:"You can close this modal."}),jsxRuntime.jsxs(reactNative.View,{style:[d.flowDiagram,{backgroundColor:a.card}],children:[jsxRuntime.jsxs(reactNative.View,{style:d.flowStep,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ie(`/icons/currencies/png/${Be.sourceCurrency.toLowerCase()}.png`)},style:d.flowIconImage}),jsxRuntime.jsx(reactNative.Text,{style:[d.flowLabel,{color:a.foregroundMuted}],children:"You use"}),jsxRuntime.jsx(reactNative.Text,{style:[d.flowValue,{color:a.foreground}],children:Be.sourceCurrency.toUpperCase()})]}),jsxRuntime.jsx(Ge,{size:16,color:a.foregroundMuted,strokeWidth:2}),jsxRuntime.jsxs(reactNative.View,{style:d.flowStep,children:[jsxRuntime.jsxs(reactNative.View,{style:d.flowIconWithBadge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ie("/icons/tokens/png/usdc.png")},style:d.flowIconImageNoBadge}),jsxRuntime.jsx(reactNative.Image,{source:{uri:ie("/icons/networks/png/polygon.png")},style:[d.flowNetworkBadge,{borderColor:a.background}]})]}),jsxRuntime.jsx(reactNative.Text,{style:[d.flowLabel,{color:a.foregroundMuted}],children:"You buy"}),jsxRuntime.jsx(reactNative.Text,{style:[d.flowValue,{color:a.foreground}],children:"USDC"})]}),jsxRuntime.jsx(Ge,{size:16,color:a.foregroundMuted,strokeWidth:2}),jsxRuntime.jsxs(reactNative.View,{style:d.flowStep,children:[jsxRuntime.jsxs(reactNative.View,{style:d.flowIconWithBadge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:ie("/icons/tokens/png/usdc.png")},style:d.flowIconImageNoBadge}),jsxRuntime.jsx(reactNative.Image,{source:{uri:ie("/icons/networks/png/polygon.png")},style:[d.flowNetworkBadge,{borderColor:a.background}]})]}),jsxRuntime.jsx(reactNative.Text,{style:[d.flowLabel,{color:a.foregroundMuted}],children:"You receive"}),jsxRuntime.jsx(reactNative.Text,{style:[d.flowValue,{color:a.foreground}],children:s})]})]}),jsxRuntime.jsx(reactNative.View,{style:[d.onrampInfoBox,{backgroundColor:a.card}],children:jsxRuntime.jsx(reactNative.Text,{style:[d.onrampInfoText,{color:a.foregroundMuted}],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 Pn({visible:e,onClose:t,url:o,providerName:n,colors:l}){return jsxRuntime.jsxs(Q,{visible:e,onClose:t,closeOnBackdropPress:false,showHandle:false,heightPercent:.92,noPadding:true,children:[jsxRuntime.jsxs(reactNative.View,{style:tt.header,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:t,style:tt.headerButton,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(te,{size:20,color:l.foregroundMuted,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[tt.headerTitle,{color:l.foreground}],children:n}),jsxRuntime.jsx(reactNative.View,{style:tt.headerSpacer})]}),o&&jsxRuntime.jsx(reactNative.View,{style:tt.container,children:jsxRuntime.jsx(reactNativeWebview.WebView,{source:{uri:o},style:tt.webView,startInLoadingState:true,renderLoading:()=>jsxRuntime.jsx(reactNative.View,{style:tt.loading,children:jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:l.primary})})})})]})}var tt=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"}}),d=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,borderRadius: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,borderRadius:8},quickAmountText:{fontSize:14,fontWeight:"500"},providerSection:{marginBottom:24},providerHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8},providerLabel:{fontSize:12,fontWeight:"500"},refreshText:{fontSize:10},providerButton:{padding:16,borderRadius:12},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},providerName:{fontSize:14,fontWeight:"500"},bestPriceText:{fontSize:11,marginTop:2},noProviderText:{fontSize:14,textAlign:"center"},errorText:{fontSize:12,marginTop:8},continueButtonContainer:{padding:16,paddingBottom:24},continueButton:{paddingVertical:16,borderRadius:12,alignItems:"center"},disabledButton:{opacity:.5},continueButtonText:{color:"#FFFFFF",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:{height:468,paddingHorizontal:12,marginTop:8},quotesList:{gap:8,paddingBottom:24,minHeight:468},quoteItem:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:12,borderRadius:12},quoteLeft:{flexDirection:"row",alignItems:"center",gap:12},quoteIcon:{width:40,height:40,borderRadius:20},quoteName:{fontSize:14,fontWeight:"500"},bestPriceLabel:{fontSize:11,marginTop:2},quoteRight:{alignItems:"flex-end"},quoteAmount:{fontSize:14,fontWeight:"500"},quoteSource:{fontSize:12},onrampContainer:{flex:1,padding:16,alignItems:"center",paddingTop:24},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,borderRadius:7,borderWidth:2},onrampInfoBox:{marginTop:16,padding:16,borderRadius:12,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 Mn(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 An(e){return e?`$${parseFloat(e).toFixed(2)}`:"$0.00"}function uo({execution:e,onPress:t}){let {colors:o}=R(),n=e.status==="pending"||e.status==="waiting"||e.status==="delayed";e.status==="succeeded";let s=z(ee(e.destination_token_metadata,"png")||ie("/icons/tokens/png/usdc.png")),p=n?"Deposit Processing":"Deposit Completed",w=Mn(e.created_at||new Date().toISOString()),f=An(e.source_amount_usd);return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:t,activeOpacity:.7,style:[Pe.container,{backgroundColor:o.card}],children:[jsxRuntime.jsxs(reactNative.View,{style:Pe.iconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:s},style:Pe.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[Pe.statusBadge,{backgroundColor:n?"#EAB308":"#22C55E",borderColor:o.card}],children:n?jsxRuntime.jsx(qt,{size:12,color:"#FFFFFF",strokeWidth:2.5}):jsxRuntime.jsx(te,{size:12,color:"#FFFFFF",strokeWidth:3})})]}),jsxRuntime.jsxs(reactNative.View,{style:Pe.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Pe.title,{color:o.foreground}],children:p}),jsxRuntime.jsx(reactNative.Text,{style:[Pe.dateTime,{color:o.foregroundMuted}],children:w})]}),jsxRuntime.jsxs(reactNative.View,{style:Pe.rightContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Pe.amount,{color:o.foreground}],children:f}),jsxRuntime.jsx(Ge,{size:20,color:o.foregroundMuted,strokeWidth:2})]})]})}var Pe=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingVertical:12,borderRadius:12},iconContainer:{position:"relative",marginRight:12},tokenIcon:{width:40,height:40,borderRadius:20},statusBadge:{position:"absolute",bottom:-2,right:-2,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"}});var{height:jn}=reactNative.Dimensions.get("window");function Sr(e,t){let o={solana:"Solana",ethereum:"Ethereum",bitcoin:"Bitcoin"};return e==="ethereum"?{1:"Ethereum",137:"Polygon",8453:"Base",42161:"Arbitrum",10:"Optimism"}[t]||o[e]||e:o[e]||e}function _r(e,t=6){if(!e)return "\u2014";try{let o=Number(e)/Math.pow(10,t);return o===0?"0.00":o>=1?o.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}):o.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:8,minimumSignificantDigits:2,maximumSignificantDigits:6})}catch{return "0.00"}}function Un(e){return e?`$${parseFloat(e).toFixed(2)}`:"$0.00"}var Ir=e=>!e||e.length<12?e:`${e.slice(0,12)}...${e.slice(-4)}`;function vr(e){if(!e)return "";let t=e.indexOf(".");return t===-1?e.toUpperCase():e.slice(0,t).toUpperCase()+e.slice(t)}function On(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 fo({visible:e,onClose:t,executions:o,externalUserId:n,publishableKey:l}){let{colors:s}=R(),[p,w]=react.useState(o),[f,r]=react.useState(false),[P,b]=react.useState(null),[a,T]=react.useState(false),A=react.useRef(null);react.useEffect(()=>{if(!e||!n)return;let m=async()=>{r(true);try{let oe=[...(await kt(n,l)).data].sort((re,B)=>{let Ce=re.created_at?new Date(re.created_at).getTime():0;return (B.created_at?new Date(B.created_at).getTime():0)-Ce});w(oe);}catch(j){console.error("Failed to fetch executions:",j),w(o);}finally{r(false);}};m();let $=setInterval(m,1e4);return ()=>clearInterval($)},[e,n,l,o]),react.useEffect(()=>{o.length>0&&w(m=>{let $=new Set(m.map(oe=>oe.id)),j=o.filter(oe=>!$.has(oe.id));return j.length>0?[...j,...m]:m});},[o]),react.useEffect(()=>{e||b(null);},[e]);let F=m=>{b(m);},W=()=>{b(null),T(false);},x=()=>{b(null),t();};return jsxRuntime.jsxs(Q,{visible:e,onClose:x,closeOnBackdropPress:true,showHandle:false,heightPercent:.6,children:[jsxRuntime.jsx(de,{title:P?"Deposit Details":"Deposit Tracker",onClose:x,showClose:!P,showBack:!!P,onBack:W}),P?(()=>{if(!P)return null;let m=P,$=m.status==="pending"||m.status==="waiting"||m.status==="delayed",j=m.status==="succeeded",oe=z(ee(m.destination_token_metadata,"png")||ie("/icons/tokens/png/usdc.png")),re=m.provider_metadata?.details,B=re?.currencyIn,Ce=re?.currencyOut;B?.currency?.symbol||"USDC";Ce?.currency?.symbol||"USDC";let ne=_r(m.source_amount_base_unit,m.source_token_metadata?.decimals),ke=_r(m.destination_amount_base_unit,m.destination_token_metadata?.decimals),Le=Un(m.source_amount_usd),se=Sr(m.source_chain_type,m.source_chain_id),rt=Sr(m.destination_chain_type,m.destination_chain_id),Ne=()=>{m.explorer_url&&reactNative.Linking.openURL(m.explorer_url);},nt=()=>{m.destination_explorer_url&&reactNative.Linking.openURL(m.destination_explorer_url);};return jsxRuntime.jsxs(reactNative.ScrollView,{ref:A,style:y.scrollContainer,contentContainerStyle:y.detailsContent,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsxs(reactNative.View,{style:y.iconSection,children:[jsxRuntime.jsxs(reactNative.View,{style:y.iconWrapper,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:oe},style:y.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[y.statusBadge,{backgroundColor:$?"#EAB308":"#22C55E",borderColor:s.background}],children:$?jsxRuntime.jsx(ce,{size:14,color:"#FFFFFF",strokeWidth:2}):jsxRuntime.jsx(te,{size:14,color:"#FFFFFF",strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:y.statusRow,children:[jsxRuntime.jsx(reactNative.View,{style:[y.statusDot,{backgroundColor:$?"#EAB308":"#22C55E"}]}),jsxRuntime.jsx(reactNative.Text,{style:[y.statusText,{color:s.foreground}],children:$?"Processing":"Completed"})]}),jsxRuntime.jsx(reactNative.Text,{style:[y.dateText,{color:s.foregroundMuted}],children:On(m.created_at||new Date().toISOString())})]}),jsxRuntime.jsxs(reactNative.View,{style:[y.card,{backgroundColor:s.card}],children:[jsxRuntime.jsxs(reactNative.View,{style:y.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.cardLabel,{color:s.foregroundMuted}],children:"Amount Sent"}),jsxRuntime.jsxs(reactNative.Text,{style:[y.cardValue,{color:s.foreground}],children:[ne," ",vr(m.source_currency)]})]}),jsxRuntime.jsx(reactNative.View,{style:[y.cardDivider,{backgroundColor:s.border}]}),jsxRuntime.jsxs(reactNative.View,{style:y.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.cardLabel,{color:s.foregroundMuted}],children:"Amount Received"}),jsxRuntime.jsxs(reactNative.Text,{style:[y.cardValue,{color:s.foreground}],children:[ke," ",vr(m.destination_currency)]})]}),jsxRuntime.jsx(reactNative.View,{style:[y.cardDivider,{backgroundColor:s.border}]}),jsxRuntime.jsxs(reactNative.View,{style:y.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.cardLabel,{color:s.foregroundMuted}],children:"USD Value"}),jsxRuntime.jsx(reactNative.Text,{style:[y.cardValue,{color:s.foreground}],children:Le})]}),jsxRuntime.jsx(reactNative.View,{style:[y.cardDivider,{backgroundColor:s.border}]}),jsxRuntime.jsxs(reactNative.View,{style:y.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.cardLabel,{color:s.foregroundMuted}],children:"Source Network"}),jsxRuntime.jsx(reactNative.Text,{style:[y.cardValue,{color:s.foreground}],children:se})]}),jsxRuntime.jsx(reactNative.View,{style:[y.cardDivider,{backgroundColor:s.border}]}),jsxRuntime.jsxs(reactNative.View,{style:y.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.cardLabel,{color:s.foregroundMuted}],children:"Destination Network"}),jsxRuntime.jsx(reactNative.Text,{style:[y.cardValue,{color:s.foreground}],children:rt})]})]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>{let Te=!a;T(Te),Te?setTimeout(()=>{A.current?.scrollToEnd({animated:true});},100):A.current?.scrollTo({y:0,animated:true});},style:y.toggleButton,activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.toggleText,{color:s.foregroundMuted}],children:a?"See less":"See more details"}),a?jsxRuntime.jsx(lt,{size:14,color:s.foregroundMuted,strokeWidth:2}):jsxRuntime.jsx(ce,{size:14,color:s.foregroundMuted,strokeWidth:2})]}),a&&jsxRuntime.jsxs(reactNative.View,{style:[y.card,{backgroundColor:s.card}],children:[m.explorer_url&&jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:Ne,style:y.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.cardLabel,{color:s.foregroundMuted}],children:"Deposit Tx"}),jsxRuntime.jsxs(reactNative.View,{style:y.cardRowRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.cardValue,{color:s.foreground}],children:Ir(m.transaction_hash)}),jsxRuntime.jsx(Ye,{size:14,color:s.foregroundMuted,strokeWidth:2})]})]}),jsxRuntime.jsx(reactNative.View,{style:[y.cardDivider,{backgroundColor:s.border}]})]}),m.destination_explorer_url&&j&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:nt,style:y.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.cardLabel,{color:s.foregroundMuted}],children:"Completion Tx"}),jsxRuntime.jsxs(reactNative.View,{style:y.cardRowRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.cardValue,{color:s.foreground}],children:Ir(m.destination_transaction_hashes[0])}),jsxRuntime.jsx(Ye,{size:14,color:s.foregroundMuted,strokeWidth:2})]})]})]})]})})():jsxRuntime.jsx(reactNative.ScrollView,{style:y.scrollContainer,contentContainerStyle:y.scrollContent,showsVerticalScrollIndicator:false,children:p.length===0?jsxRuntime.jsxs(reactNative.View,{style:y.emptyContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.emptyText,{color:s.foregroundMuted}],children:"No deposits yet"}),jsxRuntime.jsx(reactNative.Text,{style:[y.emptySubtext,{color:s.foregroundMuted}],children:"Your deposit history will appear here"})]}):jsxRuntime.jsx(reactNative.View,{style:y.executionsList,children:p.map(m=>jsxRuntime.jsx(uo,{execution:m,onPress:()=>F(m)},m.id))})})]})}var y=reactNative.StyleSheet.create({scrollContainer:{maxHeight:jn*.7,paddingTop:16},scrollContent:{paddingHorizontal:16,paddingBottom:16},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 Rt(e,t=true){let[o,n]=react.useState(null),[l,s]=react.useState(null),[p,w]=react.useState(false),[f,r]=react.useState(false),[P,b]=react.useState(null),[a,T]=react.useState(null);react.useEffect(()=>{!t||o||(w(true),_o().then(x=>{n(x),b(null);}).catch(x=>{b(x instanceof Error?x:new Error(String(x)));}).finally(()=>{w(false);}));},[t,o]),react.useEffect(()=>{!t||!e||l||(r(true),bt(e).then(x=>{s(x),T(null);}).catch(x=>{T(x instanceof Error?x:new Error(String(x)));}).finally(()=>{r(false);}));},[t,e,l]);let A=p||f,F=P||a||null,W=null;if(o&&l){let x=l.blocked_country_codes||[],D=o.alpha2.toUpperCase();W=!x.some(J=>J.toUpperCase()===D);}return {isAllowed:W,alpha2:o?.alpha2?.toLowerCase()??null,country:o?.country??null,isLoading:A,error:F}}var ot={transferCrypto:{title:"Transfer Crypto",subtitle:"No limit \u2022 Instant"},depositWithCard:{title:"Deposit with Card",subtitle:"$50,000 limit \u2022 2 min"},depositTracker:{title:"Deposit Tracker",subtitle:"Track your deposit progress"}};function Gn({visible:e,onClose:t,externalUserId:o,publishableKey:n,modalTitle:l="Deposit",destinationTokenSymbol:s,recipientAddress:p,destinationChainType:w,destinationChainId:f,destinationTokenAddress:r,hideDepositTracker:P=false,onDepositSuccess:b,onDepositError:a}){let{colors:T}=R(),[A,F]=react.useState([]),[W,x]=react.useState(false),[D,J]=react.useState(false),[m,$]=react.useState(false),[j,oe]=react.useState(null),[re,B]=react.useState("amount"),{isAllowed:Ce,isLoading:xe}=Rt(n,e);react.useEffect(()=>{e&&!j&&bt(n).then(oe).catch(console.error);},[e,j,n]);let Oe=()=>{t();},ne=A.filter(se=>se.status==="pending"||se.status==="waiting").length,ke=xe||e&&!j,Le=Ce===false;return jsxRuntime.jsxs(Q,{visible:e,onClose:Oe,closeOnBackdropPress:false,showHandle:false,children:[jsxRuntime.jsx(de,{title:l,showBack:false,onClose:Oe}),ke&&jsxRuntime.jsx(reactNative.View,{style:Re.centeredContainer,children:jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:T.primary})}),!ke&&Le&&jsxRuntime.jsxs(reactNative.View,{style:Re.centeredContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[Re.iconContainer,{backgroundColor:T.cardHover}],children:jsxRuntime.jsx($t,{size:32,color:T.foreground,strokeWidth:1.5})}),jsxRuntime.jsx(reactNative.Text,{style:[Re.blockedTitle,{color:T.foreground}],children:"No Tokens Available"}),jsxRuntime.jsx(reactNative.Text,{style:[Re.blockedDescription,{color:T.foreground,opacity:.7}],children:"There are no supported tokens available from your current location."})]}),!ke&&!Le&&jsxRuntime.jsxs(reactNative.View,{style:Re.optionsContainer,children:[jsxRuntime.jsx(St,{onPress:()=>J(true),title:ot.transferCrypto.title,subtitle:ot.transferCrypto.subtitle,featuredTokens:j?.transfer_crypto?.networks}),jsxRuntime.jsx(It,{onPress:()=>$(true),title:ot.depositWithCard.title,subtitle:ot.depositWithCard.subtitle,paymentNetworks:j?.payment_networks?.networks}),!P&&jsxRuntime.jsx(vt,{onPress:()=>x(true),title:ot.depositTracker.title,subtitle:ot.depositTracker.subtitle,badge:ne>0?ne:void 0})]}),jsxRuntime.jsx(fo,{visible:W,onClose:()=>x(false),executions:A,externalUserId:o,publishableKey:n}),jsxRuntime.jsxs(Q,{visible:D,onClose:()=>J(false),closeOnBackdropPress:false,showHandle:false,heightPercent:.9,children:[jsxRuntime.jsx(de,{title:ot.transferCrypto.title,showBack:false,onClose:()=>J(false)}),jsxRuntime.jsx(reactNative.ScrollView,{style:Re.transferScrollContainer,contentContainerStyle:Re.scrollContent,showsVerticalScrollIndicator:false,children:jsxRuntime.jsx(oo,{externalUserId:o,publishableKey:n,recipientAddress:p,destinationChainType:w,destinationChainId:f,destinationTokenAddress:r,onExecutionsChange:F,onDepositSuccess:b,onDepositError:a})})]}),jsxRuntime.jsxs(Q,{visible:m,onClose:()=>{$(false),B("amount");},closeOnBackdropPress:false,showHandle:false,heightPercent:.9,children:[jsxRuntime.jsx(de,{title:`Deposit ${s||"USDC"}`,showBack:re==="onramp",onBack:()=>B("amount"),onClose:()=>{$(false),B("amount");}}),jsxRuntime.jsx(reactNative.View,{style:Re.buyWithCardContainer,children:jsxRuntime.jsx(ao,{externalUserId:o,publishableKey:n,destinationTokenSymbol:s,recipientAddress:p,destinationChainType:w,destinationChainId:f,destinationTokenAddress:r,onDepositSuccess:b,onDepositError:a,view:re,onViewChange:se=>B(se)})})]})]})}function go({theme:e="auto",...t}){return jsxRuntime.jsx(wt,{mode:e,children:jsxRuntime.jsx(Gn,{...t})})}var Re=reactNative.StyleSheet.create({optionsContainer:{paddingTop:8,paddingBottom:24,gap:8},transferScrollContainer:{flex:1},scrollContent:{paddingBottom:24},buyWithCardContainer:{flex:1},centeredContainer:{alignItems:"center",justifyContent:"center",paddingVertical:48,paddingHorizontal:16,minHeight:200},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}});reactNative.StyleSheet.create({base:{flexDirection:"row",alignItems:"center",justifyContent:"center",borderRadius:12,gap:8},text:{fontWeight:"600",textAlign:"center"},fullWidth:{width:"100%"},disabled:{opacity:.5}});reactNative.StyleSheet.create({icon:{backgroundColor:"transparent"}});var ni=()=>new reactQuery.QueryClient({defaultOptions:{queries:{staleTime:6e4,retry:1}}}),Rr=react.createContext(null);function ii({children:e,publishableKey:t,config:o}){let[n]=react.useState(()=>ni()),[l,s]=react.useState(false),[p,w]=react.useState(null),f=reactNative.useColorScheme(),r=react.useRef(false);r.current||(Ot({publishableKey:t}),r.current=true);let P=react.useMemo(()=>{let D=o?.appearance||"dark";return D==="auto"?f==="dark"?"dark":"light":D},[o?.appearance,f]);react.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.'),Ot({publishableKey:t});},[t]);let b=react.useRef(null),a=react.useRef(null),T=react.useCallback(D=>{console.log("[UnifoldProvider] beginDeposit called with:",D),a.current&&(clearTimeout(a.current),a.current=null),b.current&&(console.warn("[UnifoldProvider] A deposit is already in progress. Cancelling previous deposit."),b.current.reject({message:"Deposit cancelled - new deposit started",code:"DEPOSIT_SUPERSEDED"}),b.current=null);let J=new Promise((m,$)=>{b.current={resolve:m,reject:$};});return w(D),s(true),J},[]),A=react.useCallback(()=>{b.current&&(b.current.reject({message:"Deposit cancelled by user",code:"DEPOSIT_CANCELLED"}),b.current=null),s(false),a.current=setTimeout(()=>{w(null),a.current=null;},200);},[]),F=react.useCallback(D=>{console.log("[UnifoldProvider] Deposit success:",D),p?.onSuccess&&p.onSuccess(D),b.current&&(b.current.resolve(D),b.current=null);},[p]),W=react.useCallback(D=>{console.error("[UnifoldProvider] Deposit error:",D),p?.onError&&p.onError(D),b.current&&(b.current.reject(D),b.current=null);},[p]),x=react.useMemo(()=>({publishableKey:t,beginDeposit:T,closeDeposit:A}),[t,T,A]);return jsxRuntime.jsx(reactQuery.QueryClientProvider,{client:n,children:jsxRuntime.jsx(Rr.Provider,{value:x,children:jsxRuntime.jsxs(wt,{mode:P,children:[e,p&&jsxRuntime.jsx(go,{visible:l,onClose:A,externalUserId:p.externalUserId,publishableKey:t,modalTitle:o?.modalTitle,destinationTokenSymbol:p.destinationTokenSymbol,recipientAddress:p.recipientAddress,destinationChainId:p.destinationChainId,destinationTokenAddress:p.destinationTokenAddress,hideDepositTracker:o?.hideDepositTracker,onDepositSuccess:F,onDepositError:W,theme:P})]})})})}function si(){let e=react.useContext(Rr);if(!e)throw new Error("useUnifold must be used within UnifoldProvider");return e}
2
- exports.UnifoldProvider=ii;exports.setDevApiUrl=Yo;exports.useAllowedCountry=Rt;exports.useUnifold=si;
1
+ 'use strict';var react=require('react'),reactNative=require('react-native'),reactQuery=require('@tanstack/react-query'),jsxRuntime=require('react/jsx-runtime'),ke=require('react-native-svg'),qn=require('react-native-qrcode-svg'),reactNativeWebview=require('react-native-webview'),Sr=require('@react-native-async-storage/async-storage');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ke__default=/*#__PURE__*/_interopDefault(ke);var qn__default=/*#__PURE__*/_interopDefault(qn);var Sr__default=/*#__PURE__*/_interopDefault(Sr);var tr={light:{background:"#FFFFFF",card:"#F8FAFC",cardHover:"#F1F5F9",foreground:"#0F172A",foregroundMuted:"#64748B",foregroundSubtle:"#94A3B8",border:"#E2E8F0",borderSecondary:"#CBD5E1",primary:"#3B82F6",primaryForeground:"#FFFFFF",success:"#22C55E",successBackground:"#DCFCE7",warning:"#F59E0B",warningBackground:"#FEF3C7",error:"#EF4444",errorBackground:"#FEE2E2",overlay:"rgba(0, 0, 0, 0.5)"},dark:{background:"#2D2C2F",card:"#3A393C",cardHover:"#48474A",foreground:"#F8FAFC",foregroundMuted:"#94A3B8",foregroundSubtle:"#64748B",border:"#38383A",borderSecondary:"#48484A",primary:"#3B82F6",primaryForeground:"#FFFFFF",success:"#22C55E",successBackground:"rgba(34, 197, 94, 0.1)",warning:"#F59E0B",warningBackground:"rgba(245, 158, 11, 0.1)",error:"#EF4444",errorBackground:"rgba(239, 68, 68, 0.1)",overlay:"rgba(0, 0, 0, 0.7)"}},or=tr;function xo(e,t,o){let i=o?t?.[o]:void 0,r=(a,d,l)=>{let c=i?.[a]?.[d];if(c!==void 0)return c;let h=t?.[a]?.[d];return h!==void 0?h:l};return {header:{titleColor:r("header","titleColor",e.foreground),buttonColor:r("header","buttonColor",e.foreground)},card:{backgroundColor:r("card","backgroundColor",e.card),titleColor:r("card","titleColor",e.foreground),subtitleColor:r("card","subtitleColor",e.foregroundMuted),labelColor:r("card","labelColor",e.foregroundMuted),headerColor:r("card","headerColor",e.foregroundMuted),labelRightColor:r("card","labelRightColor",e.foregroundMuted),labelHighlightRightColor:r("card","labelHighlightRightColor",e.warning),textRightColor:r("card","textRightColor",e.foreground),subtextRightColor:r("card","subtextRightColor",e.foregroundMuted),rowLeftLabel:r("card","rowLeftLabel",e.foregroundMuted),rowRightLabel:r("card","rowRightLabel",e.foreground),iconColor:r("card","iconColor",e.primary),iconBackgroundColor:r("card","iconBackgroundColor",e.primary+"26"),actionColor:r("card","actionColor",e.foregroundMuted),actionIcon:r("card","actionIcon",e.foregroundMuted),descriptionColor:r("card","descriptionColor",e.foregroundMuted)},input:{backgroundColor:r("input","backgroundColor",e.card),textColor:r("input","textColor",e.foreground),placeholderColor:r("input","placeholderColor",e.foregroundMuted),borderColor:r("input","borderColor",e.border)},button:{primaryBackground:r("button","primaryBackground",e.primary),primaryText:r("button","primaryText",e.primaryForeground),secondaryBackground:r("button","secondaryBackground",e.card),secondaryText:r("button","secondaryText",e.foreground)},container:{titleColor:r("container","titleColor",e.foreground),subtitleColor:r("container","subtitleColor",e.foregroundMuted),actionColor:r("container","actionColor",e.foregroundMuted),actionTitle:r("container","actionTitle",e.foregroundMuted),buttonColor:r("container","buttonColor",e.primary),buttonTitleColor:r("container","buttonTitleColor",e.primaryForeground),iconBackgroundColor:r("container","iconBackgroundColor",e.success),iconColor:r("container","iconColor",e.foreground)},search:{backgroundColor:r("search","backgroundColor",e.card),inputColor:r("search","inputColor",e.foreground),placeholderColor:r("search","placeholderColor",e.foregroundMuted)},list:{titleSectionColor:r("list","titleSectionColor",e.foregroundMuted)}}}function rr(e,t,o){let r={...tr[e]};return o&&(r.primary=o),t&&(r={...r,...t}),r}var Vr=react.createContext(null);function To({children:e,mode:t="auto",accentColor:o,theme:i,fontFamily:r,fonts:a,components:d}){let l=reactNative.useColorScheme(),c=react.useMemo(()=>t==="auto"?l==="dark"?"dark":"light":t,[t,l]),h=react.useMemo(()=>{let p=i?.[c];return rr(c,p,o)},[c,i,o]),x=react.useMemo(()=>xo(h,d,c),[h,d,c]),L=react.useMemo(()=>a?{regular:a.regular||r,medium:a.medium||r,semibold:a.semibold||r,bold:a.bold||r}:r?{regular:r,medium:r,semibold:r,bold:r}:{regular:void 0,medium:void 0,semibold:void 0,bold:void 0},[r,a]),D=react.useMemo(()=>({mode:c,colors:h,fonts:L,components:x,isDark:c==="dark"}),[c,h,L,x]);return jsxRuntime.jsx(Vr.Provider,{value:D,children:e})}function A(){let e=react.useContext(Vr);if(!e){let t=or.dark;return {mode:"dark",colors:t,fonts:{regular:void 0,medium:void 0,semibold:void 0,bold:void 0},components:xo(t,void 0,"dark"),isDark:true}}return e}var vn="https://api.unifold.io",Io,pt="pk_test_123",So={};function ze(){return typeof __DEV__<"u"&&__DEV__&&Io?Io:vn}function _o(e){if(e.publishableKey!==void 0){if(!e.publishableKey||e.publishableKey.trim()==="")throw new Error("Unifold SDK: publishableKey cannot be empty. Please provide a valid publishable key.");!e.publishableKey.startsWith("pk_test_")&&!e.publishableKey.startsWith("pk_live_")&&console.warn('Unifold SDK: publishableKey should start with "pk_test_" or "pk_live_". Please ensure you are using a valid publishable key.'),pt=e.publishableKey;}e.baseUrl&&typeof __DEV__<"u"&&__DEV__&&(Io=e.baseUrl),e.defaultConfig&&(So=e.defaultConfig);}function Fr(e){typeof __DEV__<"u"&&__DEV__?Io=e:console.warn("[Unifold] setDevApiUrl() is only available in development mode");}function It(e){if(!e||e.trim()==="")throw new Error("Unifold SDK: No publishable key configured. Please provide a valid publishable key via setApiConfig() or pass it directly to the API function.");e==="pk_test_123"&&console.warn('Unifold SDK: Using default test key "pk_test_123". This should only be used for local development. Please use a real publishable key in production.');}function De(e){let t=e.startsWith("/")?e:`/${e}`;return `${ze()}/api/public${t}`}function q(e){return e?e.includes("localhost")||e.includes("127.0.0.1")?e.replace(/https?:\/\/(localhost|127\.0\.0\.1)(:\d+)?/,ze()):e.startsWith("http://")||e.startsWith("https://")?e:e.startsWith("/api/public/")?`${ze()}${e}`:`${ze()}/api/public${e}`:""}async function Pr(e,t){if(!e?.external_user_id)throw new Error("external_user_id is required");let o={external_user_id:e.external_user_id,destination_chain_type:e?.destination_chain_type||"ethereum",destination_chain_id:e?.destination_chain_id||So.destinationChainId||"8453",destination_token_address:e?.destination_token_address||So.destinationTokenAddress||"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",recipient_address:e?.recipient_address||So.recipientAddress||"0x309a4154a2CD4153Da886E780890C9cb5161553C",client_metadata:e?.client_metadata||{}},i=t||pt;It(i);let r=await fetch(`${ze()}/v1/public/deposit_addresses`,{method:"POST",headers:{accept:"application/json","x-publishable-key":i,"Content-Type":"application/json"},body:JSON.stringify(o)});if(!r.ok)throw new Error(`Failed to create deposit address: ${r.statusText}`);return r.json()}async function _t(e,t){return Pr(e?{...e,external_user_id:e.external_user_id}:void 0,t)}function vt(e,t){return e.find(o=>o.chain_type===t)}async function Dt(e,t){let o=t||pt;It(o);let i=await fetch(`${ze()}/v1/public/direct_executions/query`,{method:"POST",headers:{accept:"application/json","x-publishable-key":o,"Content-Type":"application/json"},body:JSON.stringify({external_user_id:e})});if(!i.ok)throw new Error(`Failed to query executions: ${i.statusText}`);return i.json()}function ne(e,t="svg"){if(!e)return "";if(t==="svg"||!e.icon_urls||e.icon_urls.length===0)return e.icon_url;let o=e.icon_urls.find(i=>i.format===t);return o?o.url:e.icon_url}async function so(e){let t=e||pt;It(t);let o=await fetch(`${ze()}/v1/public/tokens/supported_deposit_tokens`,{method:"GET",headers:{accept:"application/json","x-publishable-key":t}});if(!o.ok)throw new Error(`Failed to fetch supported deposit tokens: ${o.statusText}`);return o.json()}function vo(e,t,o){return !e||e.length===0?o||"":e.find(r=>r.format===t)?.url||o||e[0]?.url||""}async function nr(e,t){let o=t||pt;It(o);let i=await fetch(`${ze()}/v1/public/onramps/meld/quotes`,{method:"POST",headers:{accept:"application/json","x-publishable-key":o,"Content-Type":"application/json"},body:JSON.stringify(e)});if(!i.ok)throw new Error(`Failed to fetch Meld quotes: ${i.statusText}`);return i.json()}async function ir(e,t){let o=t||pt;It(o);let i=await fetch(`${ze()}/v1/public/onramps/meld/sessions`,{method:"POST",headers:{accept:"application/json","x-publishable-key":o,"Content-Type":"application/json"},body:JSON.stringify(e)});if(!i.ok)throw new Error(`Failed to create Meld session: ${i.statusText}`);return i.json()}async function sr(e){let t=e||pt;It(t);let o=await fetch(`${ze()}/v1/public/onramps/fiat_currencies`,{method:"GET",headers:{accept:"application/json","x-publishable-key":t}});if(!o.ok)throw new Error(`Failed to fetch fiat currencies: ${o.statusText}`);return o.json()}async function ao(e){let t=e||pt;It(t);let o=await fetch(`${ze()}/v1/public/projects/config`,{method:"GET",headers:{accept:"application/json","x-publishable-key":t}});if(!o.ok)throw new Error(`Failed to fetch project config: ${o.statusText}`);return o.json()}async function ar(){let e=await fetch(`${ze()}/v1/public/ip_address`,{method:"GET",headers:{accept:"application/json"}});if(!e.ok)throw new Error(`Failed to fetch IP address information: ${e.statusText}`);return e.json()}var{height:Nt}=reactNative.Dimensions.get("window");function ae({visible:e,onClose:t,children:o,closeOnBackdropPress:i=true,showHandle:r=true,heightPercent:a,noPadding:d=false}){let{colors:l}=A(),c=react.useRef(new reactNative.Animated.Value(Nt)).current,h=react.useRef(new reactNative.Animated.Value(0)).current;react.useEffect(()=>{e?(c.setValue(Nt),h.setValue(0),reactNative.Animated.parallel([reactNative.Animated.spring(c,{toValue:0,useNativeDriver:true,tension:65,friction:11}),reactNative.Animated.timing(h,{toValue:.5,duration:200,useNativeDriver:true})]).start()):reactNative.Animated.parallel([reactNative.Animated.spring(c,{toValue:Nt,useNativeDriver:true,tension:65,friction:11}),reactNative.Animated.timing(h,{toValue:0,duration:200,useNativeDriver:true})]).start();},[e,c,h]);let x=()=>{i&&t();};return jsxRuntime.jsx(reactNative.Modal,{visible:e,transparent:true,animationType:"none",statusBarTranslucent:true,onRequestClose:t,children:jsxRuntime.jsxs(reactNative.View,{style:Lt.container,children:[jsxRuntime.jsx(reactNative.TouchableWithoutFeedback,{onPress:x,children:jsxRuntime.jsx(reactNative.Animated.View,{style:[Lt.backdrop,{backgroundColor:"#000000",opacity:h}]})}),jsxRuntime.jsxs(reactNative.Animated.View,{style:[Lt.sheet,{backgroundColor:l.background,borderTopLeftRadius:24,borderTopRightRadius:24,transform:[{translateY:c}],...a&&{height:Nt*a,maxHeight:Nt*a},...d&&{paddingBottom:0}}],children:[r&&jsxRuntime.jsx(reactNative.View,{style:Lt.handleContainer,children:jsxRuntime.jsx(reactNative.View,{style:[Lt.handle,{backgroundColor:l.border}]})}),jsxRuntime.jsx(reactNative.View,{style:[Lt.content,a&&Lt.contentFlex],children:o})]})]})})}var Lt=reactNative.StyleSheet.create({container:{flex:1,justifyContent:"flex-end"},backdrop:{...reactNative.StyleSheet.absoluteFillObject},sheet:{maxHeight:Nt*.9,paddingBottom:reactNative.Platform.OS==="ios"?34:24,shadowColor:"#000",shadowOffset:{width:0,height:-4},shadowOpacity:.1,shadowRadius:12,elevation:16},handleContainer:{alignItems:"center",paddingTop:12,paddingBottom:4},handle:{width:36,height:4,borderRadius:2},content:{},contentFlex:{flex:1}});function lr({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(ke.Path,{d:"M13 2L3 14h9l-1 8 10-12h-9l1-8z",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function cr({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Rect,{x:"1",y:"4",width:"22",height:"16",rx:"2",ry:"2",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Line,{x1:"1",y1:"10",x2:"23",y2:"10",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Rt({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Circle,{cx:"12",cy:"12",r:"10",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Polyline,{points:"12 6 12 12 16 14",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function dr({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Line,{x1:"19",y1:"12",x2:"5",y2:"12",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Polyline,{points:"12 19 5 12 12 5",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Ve({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Line,{x1:"18",y1:"6",x2:"6",y2:"18",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Line,{x1:"6",y1:"6",x2:"18",y2:"18",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function rt({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(ke.Polyline,{points:"9 18 15 12 9 6",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function Fe({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(ke.Polyline,{points:"6 9 12 15 18 9",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function lo({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Rect,{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Path,{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function we({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(ke.Polyline,{points:"20 6 9 17 4 12",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function Vt({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Path,{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Polyline,{points:"15 3 21 3 21 9",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Line,{x1:"10",y1:"14",x2:"21",y2:"3",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function qt({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Line,{x1:"12",y1:"1",x2:"12",y2:"23",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Path,{d:"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Lo({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Path,{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Polyline,{points:"14 2 14 8 20 8",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Line,{x1:"16",y1:"13",x2:"8",y2:"13",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Line,{x1:"16",y1:"17",x2:"8",y2:"17",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Polyline,{points:"10 9 9 9 8 9",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function gt({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsx(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:jsxRuntime.jsx(ke.Polyline,{points:"18 15 12 9 6 15",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})})}function Mr({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Polyline,{points:"23 4 23 10 17 10",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Polyline,{points:"1 20 1 14 7 14",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Path,{d:"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function $t({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Circle,{cx:"12",cy:"12",r:"10",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Line,{x1:"12",y1:"16",x2:"12",y2:"12",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Line,{x1:"12",y1:"8",x2:"12.01",y2:"8",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Qt({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Path,{d:"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Path,{d:"M9 12l2 2 4-4",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Ro({size:e=24,color:t="#fff",strokeWidth:o=2}){return jsxRuntime.jsxs(ke__default.default,{width:e,height:e,viewBox:"0 0 24 24",fill:"none",children:[jsxRuntime.jsx(ke.Path,{d:"M5.43 5.43A8.06 8.06 0 0 0 4 10c0 6 8 12 8 12a29.94 29.94 0 0 0 5-5",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Path,{d:"M19.18 13.52A8.66 8.66 0 0 0 20 10a8 8 0 0 0-8-8 7.88 7.88 0 0 0-3.52.82",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Path,{d:"M9.13 9.13A2.78 2.78 0 0 0 9 10a3 3 0 0 0 3 3 2.78 2.78 0 0 0 .87-.13",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Path,{d:"M14.9 9.25a3 3 0 0 0-2.15-2.16",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"}),jsxRuntime.jsx(ke.Line,{x1:"2",y1:"2",x2:"22",y2:"22",stroke:t,strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})]})}function Me({title:e,showBack:t=false,showClose:o=true,onBack:i,onClose:r,badge:a}){let{colors:d,fonts:l,components:c}=A();return jsxRuntime.jsxs(reactNative.View,{style:Ge.header,children:[jsxRuntime.jsx(reactNative.View,{style:Ge.leftContainer,children:t&&i?jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:i,style:[Ge.iconButton,{backgroundColor:"transparent"}],hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(dr,{size:20,color:c.header.buttonColor,strokeWidth:2})}):jsxRuntime.jsx(reactNative.View,{style:Ge.spacer})}),jsxRuntime.jsxs(reactNative.View,{style:Ge.titleContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Ge.title,{color:c.header.titleColor,fontFamily:l.medium}],children:e}),a&&a.count>0&&jsxRuntime.jsx(reactNative.View,{style:[Ge.titleBadge,{backgroundColor:d.card}],children:jsxRuntime.jsx(reactNative.Text,{style:[Ge.titleBadgeText,{color:d.foregroundMuted,fontFamily:l.regular}],children:a.count})})]}),jsxRuntime.jsx(reactNative.View,{style:Ge.rightContainer,children:o?jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:r,style:[Ge.iconButton,{backgroundColor:"transparent"}],hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(Ve,{size:20,color:c.header.buttonColor,strokeWidth:2})}):jsxRuntime.jsx(reactNative.View,{style:Ge.spacer})})]})}var Ge=reactNative.StyleSheet.create({header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingTop:16,paddingBottom:8},leftContainer:{width:40,alignItems:"flex-start"},rightContainer:{width:40,alignItems:"flex-end"},titleContainer:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8},title:{fontSize:16,textAlign:"center"},titleBadge:{paddingHorizontal:8,paddingVertical:2,borderRadius:12},titleBadgeText:{fontSize:10,fontWeight:"400"},iconButton:{width:28,height:28,borderRadius:8,alignItems:"center",justifyContent:"center"},spacer:{width:28,height:28}});function ft({uri:e,width:t,height:o,borderRadius:i=0,borderWidth:r=0,borderColor:a="transparent",backgroundColor:d="transparent",style:l}){let{colors:c}=A(),[h,x]=react.useState(false),L=e?.toLowerCase().endsWith(".svg");react.useEffect(()=>{x(false);},[e]);let D=c.card;if(!e)return jsxRuntime.jsx(reactNative.View,{style:[{width:t,height:o,borderRadius:i,backgroundColor:D},l]});let p={width:t,height:o,borderRadius:i,borderWidth:r,borderColor:a,backgroundColor:d,overflow:"hidden",alignItems:"center",justifyContent:"center",...l},s=t-r*2,n=o-r*2;return h?jsxRuntime.jsx(reactNative.View,{style:[p,{backgroundColor:d||D}]}):L?jsxRuntime.jsx(reactNative.View,{style:p,children:jsxRuntime.jsx(ke.SvgUri,{uri:e,width:s,height:n,onError:k=>{x(true);}})}):jsxRuntime.jsx(reactNative.View,{style:p,children:jsxRuntime.jsx(reactNative.Image,{source:{uri:e},style:{width:s,height:n},resizeMode:"contain",onError:k=>{x(true);}})})}function co({onPress:e,title:t,subtitle:o,featuredTokens:i}){let{colors:r,fonts:a,components:d}=A(),l=i?[...i].sort((c,h)=>c.position-h.position):[];return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:e,activeOpacity:.7,style:[nt.container,{backgroundColor:d.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:nt.leftContent,children:[jsxRuntime.jsx(reactNative.View,{style:nt.iconContainer,children:jsxRuntime.jsx(lr,{size:20,color:d.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.View,{style:nt.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[nt.title,{color:d.card.titleColor,fontFamily:a.regular}],children:t}),jsxRuntime.jsx(reactNative.Text,{style:[nt.subtitle,{color:d.card.subtitleColor,fontFamily:a.regular}],children:o})]})]}),jsxRuntime.jsx(reactNative.View,{style:nt.rightContent,children:jsxRuntime.jsx(reactNative.View,{style:nt.networkIcons,children:l.map((c,h)=>{let x=c.icon_urls.find(L=>L.format==="png")?.url||c.icon_urls.find(L=>L.format==="svg")?.url;return jsxRuntime.jsx(reactNative.View,{style:[nt.networkIconWrapper,{marginLeft:h===0?0:-6,zIndex:l.length-h}],children:jsxRuntime.jsx(ft,{uri:q(x),width:20,height:20,borderRadius:10,borderWidth:2,borderColor:d.card.backgroundColor})},c.name)})})})]})}var nt=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:16,paddingHorizontal:12,borderRadius:12,marginHorizontal:16},leftContent:{flexDirection:"row",alignItems:"center",gap:12,flex:1},iconContainer:{width:36,height:36,borderRadius:8,alignItems:"center",justifyContent:"center"},textContainer:{flex:1},title:{fontSize:14,fontWeight:"400",marginBottom:2},subtitle:{fontSize:12,fontWeight:"300"},rightContent:{flexDirection:"row",alignItems:"center",gap:8},networkIcons:{flexDirection:"row",alignItems:"center"},networkIconWrapper:{}});function po({onPress:e,title:t,subtitle:o,paymentNetworks:i}){let{fonts:r,components:a}=A();return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:e,activeOpacity:.7,style:[ht.container,{backgroundColor:a.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:ht.leftContent,children:[jsxRuntime.jsx(reactNative.View,{style:ht.iconContainer,children:jsxRuntime.jsx(cr,{size:20,color:a.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.View,{style:ht.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[ht.title,{color:a.card.titleColor,fontFamily:r.regular}],children:t}),jsxRuntime.jsx(reactNative.Text,{style:[ht.subtitle,{color:a.card.subtitleColor,fontFamily:r.regular}],children:o})]})]}),jsxRuntime.jsx(reactNative.View,{style:ht.rightContent,children:jsxRuntime.jsx(reactNative.View,{style:ht.paymentIcons,children:i?.map(d=>{let l=d.icon_urls.find(c=>c.format==="png")?.url||d.icon_urls.find(c=>c.format==="svg")?.url;return jsxRuntime.jsx(ft,{uri:q(l),width:32,height:20,borderRadius:4},d.name)})})})]})}var ht=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:16,paddingHorizontal:12,borderRadius:12,marginHorizontal:16},leftContent:{flexDirection:"row",alignItems:"center",gap:12,flex:1},iconContainer:{width:36,height:36,borderRadius:8,alignItems:"center",justifyContent:"center"},textContainer:{flex:1},title:{fontSize:14,fontWeight:"400",marginBottom:2},subtitle:{fontSize:12,fontWeight:"300"},rightContent:{flexDirection:"row",alignItems:"center",gap:8},paymentIcons:{flexDirection:"row",alignItems:"center",gap:6}});function go({onPress:e,title:t,subtitle:o,badge:i}){let{fonts:r,components:a}=A();return jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:e,activeOpacity:.7,style:[yt.container,{backgroundColor:a.card.backgroundColor}],children:jsxRuntime.jsxs(reactNative.View,{style:yt.leftContent,children:[jsxRuntime.jsxs(reactNative.View,{style:yt.iconContainer,children:[jsxRuntime.jsx(Rt,{size:20,color:a.card.iconColor,strokeWidth:2}),i!==void 0&&i>0&&jsxRuntime.jsx(reactNative.View,{style:[yt.badge,{backgroundColor:a.card.iconColor}],children:jsxRuntime.jsx(reactNative.Text,{style:[yt.badgeText,{fontFamily:r.semibold}],children:i>99?"99+":i})})]}),jsxRuntime.jsxs(reactNative.View,{style:yt.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[yt.title,{color:a.card.titleColor,fontFamily:r.regular}],children:t}),jsxRuntime.jsx(reactNative.Text,{style:[yt.subtitle,{color:a.card.subtitleColor,fontFamily:r.regular}],children:o})]})]})})}var yt=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:16,paddingHorizontal:12,borderRadius:12,marginHorizontal:16},leftContent:{flexDirection:"row",alignItems:"center",gap:12,flex:1},iconContainer:{width:36,height:36,borderRadius:8,alignItems:"center",justifyContent:"center",position:"relative"},badge:{position:"absolute",top:-4,right:-4,minWidth:18,height:18,borderRadius:9,alignItems:"center",justifyContent:"center",paddingHorizontal:4},badgeText:{color:"#FFFFFF",fontSize:10,fontWeight:"600"},textContainer:{flex:1},title:{fontSize:14,fontWeight:"400",marginBottom:2},subtitle:{fontSize:12,fontWeight:"300"}});function Jt({value:e,size:t=180,logoUri:o,logoSize:i=40,logoBackgroundColor:r}){let{colors:a,isDark:d}=A(),l=d?"#1a1a1a":"#ffffff",c=d?"#ffffff":"#000000",h=r||l;return jsxRuntime.jsxs(reactNative.View,{style:[$r.container,{width:t,height:t}],children:[jsxRuntime.jsx(qn__default.default,{value:e||"placeholder",size:t,backgroundColor:l,color:c,ecl:"H",quietZone:4}),o&&jsxRuntime.jsx(reactNative.View,{style:[$r.logoContainer,{width:i+12,height:i+12,backgroundColor:h,borderRadius:(i+12)/2}],children:jsxRuntime.jsx(ft,{uri:o,width:i,height:i,borderRadius:i/2})})]})}var $r=reactNative.StyleSheet.create({container:{alignItems:"center",justifyContent:"center",position:"relative"},logoContainer:{position:"absolute",alignItems:"center",justifyContent:"center"}});function oi({size:e,strokeWidth:t,iconSize:o,children:i}){let r=react.useRef(new reactNative.Animated.Value(0)).current,a=(e-t)/2,d=2*Math.PI*a,l=e/2,c=(e-o)/2;react.useEffect(()=>{let x=reactNative.Animated.loop(reactNative.Animated.timing(r,{toValue:1,duration:1500,easing:reactNative.Easing.linear,useNativeDriver:true}));return x.start(),()=>x.stop()},[r]);let h=r.interpolate({inputRange:[0,1],outputRange:["0deg","360deg"]});return jsxRuntime.jsxs(reactNative.View,{style:{width:e,height:e},children:[jsxRuntime.jsx(reactNative.Animated.View,{style:{position:"absolute",top:0,left:0,width:e,height:e,transform:[{rotate:h}]},children:jsxRuntime.jsxs(ke__default.default,{width:e,height:e,children:[jsxRuntime.jsx(ke.Defs,{children:jsxRuntime.jsxs(ke.LinearGradient,{id:"progressGradient",x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[jsxRuntime.jsx(ke.Stop,{offset:"0%",stopColor:"#F59E0B"}),jsxRuntime.jsx(ke.Stop,{offset:"100%",stopColor:"#FBBF24"})]})}),jsxRuntime.jsx(ke.Circle,{cx:l,cy:l,r:a,stroke:"url(#progressGradient)",strokeWidth:t,fill:"none",strokeDasharray:`${d*.75} ${d*.25}`,strokeLinecap:"round",rotation:-90,origin:`${l}, ${l}`})]})}),jsxRuntime.jsx(reactNative.View,{style:{position:"absolute",top:c+1.5,left:c,width:o,height:o},children:i})]})}function Kr(e){let t=e.split("/"),o=t[t.length-1];return o&&o.length>10?`${o.slice(0,6)}...${o.slice(-3)}`:o||""}function ri(e){let o=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][e.getMonth()],i=e.getDate(),r=e.getFullYear(),a=e.getHours(),d=e.getMinutes(),l=a>=12?"pm":"am";a=a%12,a=a||12;let c=d<10?`0${d}`:d;return `${o} ${i}, ${r} at ${a}:${c}${l}`}function Xt({visible:e,status:t,tokenIconUrl:o,explorerUrl:i,completionExplorerUrl:r,date:a,amountUsd:d,onClose:l}){let{colors:c,fonts:h,components:x}=A(),[L,D]=react.useState(false),p=t==="pending"||t==="waiting"||t==="delayed",s=t==="succeeded",n=()=>{i&&reactNative.Linking.openURL(i);},k=()=>{r&&reactNative.Linking.openURL(r);};return jsxRuntime.jsx(ae,{visible:e,onClose:l,closeOnBackdropPress:true,showHandle:false,children:jsxRuntime.jsxs(reactNative.View,{style:le.container,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{style:le.closeButton,onPress:l,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(Ve,{size:20,color:x.header.buttonColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.View,{style:le.iconContainer,children:p?jsxRuntime.jsx(oi,{size:80,strokeWidth:4,iconSize:68,children:o?jsxRuntime.jsx(reactNative.Image,{source:{uri:q(o)},style:le.tokenIconFill}):jsxRuntime.jsx(reactNative.View,{style:[le.tokenIconFill,{backgroundColor:c.cardHover}]})}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[o?jsxRuntime.jsx(reactNative.Image,{source:{uri:q(o)},style:le.tokenIconLarge}):jsxRuntime.jsx(reactNative.View,{style:[le.tokenIconLarge,{backgroundColor:c.cardHover}]}),jsxRuntime.jsx(reactNative.View,{style:[le.statusBadge,{backgroundColor:x.container.iconBackgroundColor}],children:jsxRuntime.jsx(we,{size:16,color:x.container.iconColor,strokeWidth:3})})]})}),jsxRuntime.jsx(reactNative.Text,{style:[le.title,{color:x.container.titleColor,fontFamily:h.semibold}],children:p?"Deposit Processing":"Deposit Complete"}),d!==void 0&&jsxRuntime.jsxs(reactNative.Text,{style:[le.amount,{color:x.container.titleColor,fontFamily:h.bold}],children:["$",d.toLocaleString(void 0,{minimumFractionDigits:2,maximumFractionDigits:2})]}),a&&jsxRuntime.jsx(reactNative.Text,{style:[le.date,{color:x.container.subtitleColor,fontFamily:h.regular}],children:ri(a)}),jsxRuntime.jsx(reactNative.Text,{style:[le.subtitle,{color:x.container.subtitleColor,fontFamily:h.regular}],children:p?"This usually takes less than a minute.":"Your account has been credited successfully!"}),s&&(i||r)&&jsxRuntime.jsxs(reactNative.View,{style:le.detailsSection,children:[jsxRuntime.jsx(reactNative.View,{style:[le.divider,{backgroundColor:c.border}]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:le.detailsToggle,onPress:()=>D(!L),children:[jsxRuntime.jsx(reactNative.Text,{style:[le.detailsToggleText,{color:x.container.actionTitle,fontFamily:h.medium}],children:L?"See less":"See more details"}),L?jsxRuntime.jsx(gt,{size:18,color:x.container.actionColor,strokeWidth:2}):jsxRuntime.jsx(Fe,{size:18,color:x.container.actionColor,strokeWidth:2})]}),L&&jsxRuntime.jsxs(reactNative.View,{style:le.txButtonsContainer,children:[i&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[le.txButton,{backgroundColor:x.card.backgroundColor,borderColor:c.border}],onPress:n,children:[jsxRuntime.jsx(reactNative.Text,{style:[le.txLabel,{color:x.card.titleColor,fontFamily:h.medium}],children:"Deposit tx"}),jsxRuntime.jsx(reactNative.Text,{style:[le.txHash,{color:x.card.subtitleColor,fontFamily:h.regular}],children:Kr(i)}),jsxRuntime.jsx(Vt,{size:16,color:x.card.actionColor,strokeWidth:2})]}),r&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{style:[le.txButton,{backgroundColor:x.card.backgroundColor,borderColor:c.border}],onPress:k,children:[jsxRuntime.jsx(reactNative.Text,{style:[le.txLabel,{color:x.card.titleColor,fontFamily:h.medium}],children:"Completion tx"}),jsxRuntime.jsx(reactNative.Text,{style:[le.txHash,{color:x.card.subtitleColor,fontFamily:h.regular}],children:Kr(r)}),jsxRuntime.jsx(Vt,{size:16,color:x.card.actionColor,strokeWidth:2})]})]})]})]})})}var le=reactNative.StyleSheet.create({container:{alignItems:"center",paddingHorizontal:24,paddingTop:40},closeButton:{position:"absolute",top:16,right:16,padding:4,zIndex:1},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"}});var mo=(e,t)=>`${t}:${e}`,ci=e=>{let[t,o]=e.split(":");return {chainType:t,chainId:o}};function Eo({externalUserId:e,publishableKey:t,recipientAddress:o,destinationChainType:i,destinationChainId:r,destinationTokenAddress:a,destinationTokenSymbol:d,defaultChainType:l,defaultChainId:c,defaultTokenAddress:h,onExecutionsChange:x,onDepositSuccess:L,onDepositError:D}){let{colors:p,fonts:s,components:n}=A(),k=l&&c?`${l}:${c}`:"solana:mainnet",[F,z]=react.useState("USDC"),[b,S]=react.useState(k),[O,f]=react.useState([]),[se,X]=react.useState(true),[Z,fe]=react.useState([]),[P,xe]=react.useState(true),[he,Pe]=react.useState(false),[Ue,Je]=react.useState(false),[Le,Be]=react.useState(false),[je,Se]=react.useState(false),[ye,dt]=react.useState([]),[kt,oo]=react.useState(new Map),[Ie]=react.useState(()=>new Date),[wt,Ne]=react.useState(null),[Mt,bt]=react.useState(false),[te,ro]=react.useState(null),[Ot,qe]=react.useState(false),ot=new Map;Z.forEach(C=>{C.chains.forEach(g=>{let I=`${g.chain_type}:${g.chain_id}`;ot.has(I)||ot.set(I,g);});});let Ht=Array.from(ot.values()),ut=ci(b),Ut=Ht.find(C=>C.chain_type===ut.chainType&&C.chain_id===ut.chainId)?.chain_type||"ethereum",_e=vt(O,Ut)?.address||"",Tt=react.useRef(false);react.useEffect(()=>{async function C(){try{xe(!0),Ne(null);let g=await so(t);if(fe(g.data),g.data.length>0&&!Tt.current){Tt.current=!0;let I,R;if(l&&c)if(h)for(let H of g.data){let re=H.chains.find(Re=>Re.chain_type===l&&Re.chain_id===c&&Re.token_address.toLowerCase()===h.toLowerCase());if(re){I=H,R=re;break}}else for(let H of g.data){let re=H.chains.find(Re=>Re.chain_type===l&&Re.chain_id===c);if(re){I=H,R=re;break}}if(!I&&a)for(let H of g.data){let re=H.chains.find(Re=>Re.token_address.toLowerCase()===a.toLowerCase());if(re){I=H,R=re;break}}I||(I=g.data.find(H=>H.symbol==="USDC"),I&&I.chains.length>0&&(R=I.chains[0])),I||(I=g.data.find(H=>H.symbol==="USDT"),I&&I.chains.length>0&&(R=I.chains[0])),I||(I=g.data[0],I.chains.length>0&&(R=I.chains[0])),I&&z(I.symbol),R&&S(mo(R.chain_id,R.chain_type));}}catch(g){console.error("Error fetching supported tokens:",g),Ne("Failed to load supported tokens"),D?.({message:"Failed to load supported tokens",error:g});}finally{xe(false);}}C();},[t,D,l,c,h,a]),react.useEffect(()=>{async function C(){try{X(!0),Ne(null);let g=await _t({external_user_id:e,recipient_address:o,destination_chain_type:i,destination_chain_id:r,destination_token_address:a},t);f(g.data);}catch(g){console.error("Error fetching wallets:",g),Ne("Failed to load wallets"),D?.({message:"Failed to load wallets",error:g});}finally{X(false);}}C();},[e,o,i,r,a,t,D]),react.useEffect(()=>{if(!e||!Ie)return;let C=setInterval(async()=>{try{let g=await Dt(e,t),I=null;for(let R of g.data){let H=R.created_at?new Date(R.created_at):null;if(!H||H<=Ie)continue;let re=kt.get(R.id);if(!re){I=R;break}if(["pending","waiting","delayed"].includes(re)&&R.status==="succeeded"){I=R;break}}if(I){let R=I;dt(H=>{let re=H.findIndex(Re=>Re.id===R.id);if(re>=0){let Re=[...H];return Re[re]=R,Re}else return [...H,R]}),oo(H=>{let re=new Map(H);return re.set(R.id,R.status),re}),ro(R),bt(!0),R.status==="succeeded"&&L?.({message:"Deposit completed successfully",executionId:R.id}),x?.([...ye,R]);}}catch(g){console.error("Error polling executions:",g),D?.({message:"Failed to check deposit status",error:g});}},5e3);return ()=>clearInterval(C)},[e,t,Ie,kt,ye,x,L,D]),react.useEffect(()=>{if(!Z.length)return;let C=Z.find(I=>I.symbol===F);if(!C||C.chains.length===0)return;if(!C.chains.some(I=>mo(I.chain_id,I.chain_type)===b)){let I=C.chains[0];S(mo(I.chain_id,I.chain_type));}},[F,Z,b]);let We=Z.find(C=>C.symbol===F),St=We?.chains||[],Ce=St.find(C=>mo(C.chain_id,C.chain_type)===b),no=async()=>{if(_e)try{reactNative.Clipboard.setString(_e),Pe(!0),setTimeout(()=>Pe(!1),2e3);}catch(C){console.error("Failed to copy:",C);}},_=Ce?.estimated_price_impact_percent??0,G=Ce?.max_slippage_percent??.25,ve=Ce?.minimum_deposit_amount_usd??3;if(P)return jsxRuntime.jsxs(reactNative.View,{style:u.loadingContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:p.primary}),jsxRuntime.jsx(reactNative.Text,{style:[u.loadingText,{color:p.foregroundMuted,fontFamily:s.regular}],children:"Loading currencies..."})]});if(wt&&Z.length===0)return jsxRuntime.jsxs(reactNative.View,{style:u.errorContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[u.errorText,{color:p.error,fontFamily:s.regular}],children:wt}),jsxRuntime.jsx(reactNative.Text,{style:[u.errorHint,{color:p.foregroundMuted,fontFamily:s.regular}],children:"Please check your network connection and try again."})]});let N=()=>jsxRuntime.jsxs(ae,{visible:Le,onClose:()=>Be(false),closeOnBackdropPress:true,showHandle:false,children:[jsxRuntime.jsxs(reactNative.View,{style:[u.sheetHeader,{borderBottomColor:p.border}],children:[jsxRuntime.jsx(reactNative.View,{style:u.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[u.sheetTitle,{color:n.header.titleColor,fontFamily:s.medium}],children:"Select Token"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>Be(false),style:u.sheetCloseButton,children:jsxRuntime.jsx(Ve,{size:20,color:n.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.ScrollView,{style:u.sheetList,showsVerticalScrollIndicator:false,children:Z.map(C=>jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>{z(C.symbol),Be(false);},style:[u.sheetItem,{backgroundColor:F===C.symbol?n.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(C,"png"))},style:u.sheetItemIcon}),jsxRuntime.jsxs(reactNative.View,{style:u.sheetItemText,children:[jsxRuntime.jsx(reactNative.Text,{style:[u.sheetItemTitle,{color:n.card.titleColor,fontFamily:s.medium}],children:C.symbol}),jsxRuntime.jsxs(reactNative.Text,{style:[u.sheetItemSubtitle,{color:n.card.subtitleColor,fontFamily:s.regular}],children:[C.chains.length," network",C.chains.length!==1?"s":""," available"]})]}),F===C.symbol&&jsxRuntime.jsx(we,{size:20,color:p.primary,strokeWidth:2})]},C.symbol))})]}),oe=()=>jsxRuntime.jsxs(ae,{visible:je,onClose:()=>Se(false),closeOnBackdropPress:true,showHandle:false,children:[jsxRuntime.jsxs(reactNative.View,{style:[u.sheetHeader,{borderBottomColor:p.border}],children:[jsxRuntime.jsx(reactNative.View,{style:u.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[u.sheetTitle,{color:n.header.titleColor,fontFamily:s.medium}],children:"Select Network"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>Se(false),style:u.sheetCloseButton,children:jsxRuntime.jsx(Ve,{size:20,color:n.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.ScrollView,{style:u.sheetList,showsVerticalScrollIndicator:false,children:St.map(C=>{let g=mo(C.chain_id,C.chain_type),I=b===g;return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>{S(g),Se(false);},style:[u.sheetItem,{backgroundColor:I?n.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(C,"png"))},style:u.sheetItemIcon}),jsxRuntime.jsxs(reactNative.View,{style:u.sheetItemText,children:[jsxRuntime.jsx(reactNative.Text,{style:[u.sheetItemTitle,{color:n.card.titleColor,fontFamily:s.medium}],children:C.chain_name}),jsxRuntime.jsxs(reactNative.Text,{style:[u.sheetItemSubtitle,{color:n.card.subtitleColor,fontFamily:s.regular}],children:["Min deposit: $",C.minimum_deposit_amount_usd]})]}),I&&jsxRuntime.jsx(we,{size:20,color:p.primary,strokeWidth:2})]},g)})})]});return jsxRuntime.jsxs(reactNative.View,{style:u.container,children:[jsxRuntime.jsxs(reactNative.View,{style:u.selectorSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[u.selectorLabel,{color:n.card.labelColor,fontFamily:s.regular}],children:"Token"}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>Be(true),style:[u.selector,{backgroundColor:n.card.backgroundColor}],children:[We&&jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(We,"png"))},style:u.selectorIcon}),jsxRuntime.jsx(reactNative.Text,{style:[u.selectorText,{color:n.card.titleColor,fontFamily:s.medium}],children:F}),jsxRuntime.jsx(Fe,{size:16,color:n.card.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsxs(reactNative.View,{style:u.selectorSection,children:[jsxRuntime.jsxs(reactNative.Text,{style:[u.selectorLabel,{color:n.card.labelColor,fontFamily:s.regular}],children:["Network"," ",jsxRuntime.jsxs(reactNative.Text,{style:[u.minDeposit,{fontFamily:s.regular}],children:["($",ve," min)"]})]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>Se(true),style:[u.selector,{backgroundColor:n.card.backgroundColor}],children:[Ce&&jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(Ce,"png"))},style:u.selectorIcon}),jsxRuntime.jsx(reactNative.Text,{style:[u.selectorText,{color:n.card.titleColor,fontFamily:s.medium}],numberOfLines:1,children:Ce?.chain_name||"Select network"}),jsxRuntime.jsx(Fe,{size:16,color:n.card.actionColor,strokeWidth:2})]})]}),jsxRuntime.jsx(reactNative.View,{style:u.qrContainer,children:jsxRuntime.jsx(reactNative.View,{style:[u.qrWrapper,{backgroundColor:p.background,borderColor:p.border}],children:se?jsxRuntime.jsxs(reactNative.View,{style:u.qrLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:p.primary}),jsxRuntime.jsx(reactNative.Text,{style:[u.loadingText,{color:p.foregroundMuted,fontFamily:s.regular}],children:"Loading..."})]}):_e?jsxRuntime.jsx(Jt,{value:_e,size:160,logoUri:q(ne(Ce,"png")||De("/icons/networks/png/ethereum.png")),logoSize:40}):jsxRuntime.jsx(reactNative.View,{style:u.qrLoading,children:jsxRuntime.jsx(reactNative.Text,{style:[u.errorText,{color:p.error,fontFamily:s.regular}],children:"No address available"})})})}),jsxRuntime.jsxs(reactNative.View,{style:u.addressSection,children:[jsxRuntime.jsxs(reactNative.View,{style:u.addressHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:[u.addressLabel,{color:n.card.labelColor,fontFamily:s.medium}],children:"Deposit Address"}),he&&jsxRuntime.jsxs(reactNative.View,{style:u.copiedIndicator,children:[jsxRuntime.jsx(we,{size:14,color:p.success,strokeWidth:2}),jsxRuntime.jsx(reactNative.Text,{style:[u.copiedText,{color:p.success,fontFamily:s.regular}],children:"Copied"})]})]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:no,disabled:!_e||se,activeOpacity:.7,style:[u.addressBox,{backgroundColor:n.card.backgroundColor}],children:[jsxRuntime.jsx(reactNative.Text,{style:[u.addressText,{color:n.card.titleColor,fontFamily:s.regular}],numberOfLines:2,children:se?"Loading...":_e||"No address available"}),jsxRuntime.jsx(reactNative.View,{style:u.addressCopyIcon,children:jsxRuntime.jsx(lo,{size:16,color:n.card.actionColor,strokeWidth:1})})]})]}),jsxRuntime.jsxs(reactNative.View,{style:[u.detailsCard,{backgroundColor:n.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>Je(!Ue),style:u.detailsHeader,children:[jsxRuntime.jsxs(reactNative.View,{style:u.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[u.detailIcon,{backgroundColor:n.card.iconBackgroundColor}],children:jsxRuntime.jsx(Rt,{size:12,color:n.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[u.detailsLabel,{color:n.card.titleColor,fontFamily:s.regular}],children:"Processing time: < 1 min"})]}),jsxRuntime.jsx(reactNative.View,{style:u.chevronContainer,children:Ue?jsxRuntime.jsx(gt,{size:16,color:n.card.actionColor,strokeWidth:2}):jsxRuntime.jsx(Fe,{size:16,color:n.card.actionColor,strokeWidth:2})})]}),Ue&&jsxRuntime.jsxs(reactNative.View,{style:u.detailsContent,children:[jsxRuntime.jsxs(reactNative.View,{style:u.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[u.detailIcon,{backgroundColor:n.card.iconBackgroundColor}],children:jsxRuntime.jsx(qt,{size:12,color:n.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[u.detailsLabel,{color:n.card.titleColor,fontFamily:s.regular}],children:["Price impact: ",_.toFixed(2),"%"]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>qe(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx($t,{size:14,color:n.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:u.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[u.detailIcon,{backgroundColor:n.card.iconBackgroundColor}],children:jsxRuntime.jsx(Qt,{size:12,color:n.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[u.detailsLabel,{color:n.card.titleColor,fontFamily:s.regular}],children:["Slippage: Auto \u2022 ",G.toFixed(2),"%"]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>qe(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx($t,{size:14,color:n.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:u.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[u.detailIcon,{backgroundColor:n.card.iconBackgroundColor}],children:jsxRuntime.jsx(Lo,{size:12,color:n.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[u.detailsLabel,{color:n.card.titleColor,fontFamily:s.regular}],children:["Need help?"," ",jsxRuntime.jsx(reactNative.Text,{style:{textDecorationLine:"underline"},children:"Contact support"})]})]})]})]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:u.termsContainer,onPress:()=>reactNative.Linking.openURL("https://unifold.io/terms"),children:jsxRuntime.jsx(reactNative.Text,{style:[u.termsText,{color:p.primary,fontFamily:s.regular}],children:"Terms apply"})}),N(),oe(),jsxRuntime.jsxs(ae,{visible:Ot,onClose:()=>qe(false),closeOnBackdropPress:true,showHandle:true,children:[jsxRuntime.jsxs(reactNative.View,{style:[u.sheetHeader,{borderBottomColor:p.border}],children:[jsxRuntime.jsx(reactNative.View,{style:u.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[u.sheetTitle,{color:n.header.titleColor,fontFamily:s.medium}],children:"Price Impact & Slippage"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>qe(false),style:u.sheetCloseButton,children:jsxRuntime.jsx(Ve,{size:20,color:n.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:u.infoSheetContent,children:[jsxRuntime.jsxs(reactNative.View,{style:[u.infoCard,{backgroundColor:n.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:u.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[u.infoCardIcon,{backgroundColor:n.card.iconBackgroundColor}],children:jsxRuntime.jsx(qt,{size:16,color:n.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[u.infoCardTitle,{color:n.card.titleColor,fontFamily:s.medium}],children:"Price Impact"}),jsxRuntime.jsxs(reactNative.Text,{style:[u.infoCardValue,{color:n.card.titleColor,fontFamily:s.medium}],children:[_.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[u.infoCardDescription,{color:n.card.descriptionColor,fontFamily:s.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:[u.infoCard,{backgroundColor:n.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:u.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[u.infoCardIcon,{backgroundColor:n.card.iconBackgroundColor}],children:jsxRuntime.jsx(Qt,{size:16,color:n.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[u.infoCardTitle,{color:n.card.titleColor,fontFamily:s.medium}],children:"Max Slippage"}),jsxRuntime.jsxs(reactNative.Text,{style:[u.infoCardValue,{color:n.card.titleColor,fontFamily:s.medium}],children:[G.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[u.infoCardDescription,{color:n.card.descriptionColor,fontFamily:s.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."})]})]})]}),te&&jsxRuntime.jsx(Xt,{visible:Mt,status:te.status,tokenIconUrl:te.destination_token_metadata?.icon_urls?.find(C=>C.format==="png")?.url||te.destination_token_metadata?.icon_url||ne(We,"png"),explorerUrl:te.explorer_url,completionExplorerUrl:te.destination_explorer_url,date:te.created_at?new Date(te.created_at):void 0,amountUsd:te.source_amount_usd?parseFloat(te.source_amount_usd):void 0,onClose:()=>bt(false)})]})}var u=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,borderRadius:16,borderWidth:1},qrLoading:{width:160,height:160,alignItems:"center",justifyContent:"center"},addressSection:{marginBottom:16},addressHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8},addressLabel:{fontSize:13},copiedIndicator:{flexDirection:"row",alignItems:"center",gap:4},copiedText:{fontSize:12,fontWeight:"500"},addressBox:{position:"relative",paddingHorizontal:12,paddingVertical:16,borderRadius:8},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:{},spacer:{flex:1},termsContainer:{alignItems:"center"},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"},sheetList:{maxHeight:400,paddingTop:8},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 Ao({currency:e,isSelected:t,onSelect:o}){let{colors:i,fonts:r,components:a}=A();return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>o(e.currency_code),activeOpacity:.7,style:[Bt.container,{backgroundColor:a.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:Bt.leftContent,children:[jsxRuntime.jsx(reactNative.View,{style:[Bt.iconContainer,{backgroundColor:i.background}],children:jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(e,"png"))},style:Bt.icon})}),jsxRuntime.jsxs(reactNative.View,{style:Bt.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[Bt.name,{color:a.card.titleColor,fontFamily:r.medium}],children:e.name}),jsxRuntime.jsx(reactNative.Text,{style:[Bt.code,{color:a.card.subtitleColor,fontFamily:r.regular}],children:e.currency_code.toUpperCase()})]})]}),t&&jsxRuntime.jsx(we,{size:16,color:i.primary,strokeWidth:2})]})}var Bt=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:12,borderRadius: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 yo({title:e,currencies:t,selectedCurrency:o,onSelect:i}){let{fonts:r,components:a}=A();return t.length===0?null:jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsx(reactNative.View,{style:tn.headerContainer,children:jsxRuntime.jsx(reactNative.Text,{style:[tn.title,{color:a.list.titleSectionColor,fontFamily:r.medium}],children:e})}),t.map(d=>jsxRuntime.jsx(Ao,{currency:d,isSelected:o.toLowerCase()===d.currency_code.toLowerCase(),onSelect:i},d.currency_code))]})}var tn=reactNative.StyleSheet.create({headerContainer:{paddingHorizontal:12,paddingBottom:8,paddingTop:4},title:{fontSize:14,fontWeight:"500"}});function Oo({open:e,onOpenChange:t,currencies:o,preferredCurrencyCodes:i,selectedCurrency:r,onSelectCurrency:a}){let{colors:d,fonts:l,components:c}=A(),[h,x]=react.useState(""),L=i.map(z=>o.find(b=>b.currency_code.toLowerCase()===z.toLowerCase())).filter(z=>z!==void 0),D=o.filter(z=>!i.includes(z.currency_code.toLowerCase())),p=z=>{if(!h)return z;let b=h.toLowerCase();return z.filter(S=>S.name.toLowerCase().includes(b)||S.currency_code.toLowerCase().includes(b))},s=p(L),n=p(D),k=z=>{a(z),t(false),x("");},F=()=>{t(false),x("");};return jsxRuntime.jsxs(ae,{visible:e,onClose:F,closeOnBackdropPress:true,showHandle:false,children:[jsxRuntime.jsx(Me,{title:"Currency",showBack:false,onClose:F}),jsxRuntime.jsx(reactNative.View,{style:Wt.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[Wt.searchInput,{backgroundColor:c.search.backgroundColor,color:c.search.inputColor,fontFamily:l.regular}],value:h,onChangeText:x,placeholder:"Search",placeholderTextColor:c.search.placeholderColor})}),jsxRuntime.jsx(reactNative.ScrollView,{style:Wt.listContainer,showsVerticalScrollIndicator:false,children:jsxRuntime.jsxs(reactNative.View,{style:Wt.listContent,children:[jsxRuntime.jsx(yo,{title:"Popular currencies",currencies:s,selectedCurrency:r,onSelect:k}),s.length>0&&n.length>0&&jsxRuntime.jsx(reactNative.View,{style:Wt.sectionSpacer}),jsxRuntime.jsx(yo,{title:"All currencies",currencies:n,selectedCurrency:r,onSelect:k}),s.length===0&&n.length===0&&jsxRuntime.jsx(reactNative.View,{style:Wt.noResultsContainer,children:jsxRuntime.jsx(reactNative.Text,{style:[Wt.noResultsText,{color:c.container.subtitleColor,fontFamily:l.regular}],children:"No currencies found"})})]})})]})}var Wt=reactNative.StyleSheet.create({searchContainer:{marginTop:8,paddingHorizontal:16,paddingBottom:12},searchInput:{padding:16,borderRadius:12,fontSize:14},listContainer:{height:400,paddingHorizontal:12},listContent:{paddingBottom:24,minHeight:400},sectionSpacer:{height:8},noResultsContainer:{paddingVertical:32,alignItems:"center"},noResultsText:{fontSize:14}});var Si=[100,500,1e3];function nn(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 Uo({externalUserId:e,publishableKey:t,view:o,onViewChange:i,maxAmountUsd:r=5e4,destinationTokenSymbol:a="USDC",recipientAddress:d,destinationChainType:l,destinationChainId:c,destinationTokenAddress:h,onDepositSuccess:x,onDepositError:L}){let{colors:D,fonts:p,components:s}=A(),[n,k]=react.useState("500.00"),[F,z]=react.useState("usd"),[b,S]=react.useState([]),[O,f]=react.useState(false),[se,X]=react.useState(null),[Z,fe]=react.useState("amount"),[P,xe]=react.useState(null),[he,Pe]=react.useState(false),[Ue,Je]=react.useState([]),[Le,Be]=react.useState(true),[je,Se]=react.useState(60),[ye,dt]=react.useState([]),[kt,oo]=react.useState([]),[Ie,wt]=react.useState(null),[Ne,Mt]=react.useState(false),[bt,te]=react.useState(false),[ro,Ot]=react.useState(false),[qe,ot]=react.useState(null),Ht=o??Z,ut=ye.find(_=>_.currency_code.toLowerCase()===F.toLowerCase()),xt=react.useCallback(_=>{fe(_),_==="quotes"?i?.(_,b.length):i?.(_);},[b.length,i]);react.useEffect(()=>{async function _(){try{let G=await _t({external_user_id:e,recipient_address:d,destination_chain_type:l,destination_chain_id:c,destination_token_address:h},t);Je(G.data);}catch(G){console.error("Error fetching wallets:",G),X("Failed to load wallet addresses");}finally{Be(false);}}_();},[e,d,l,c,h,t]),react.useEffect(()=>{async function _(){try{let G=await sr(t);dt(G.data),oo(G.preferred||[]);}catch(G){console.error("Error fetching fiat currencies:",G);}}_();},[t]),react.useEffect(()=>{let _=parseFloat(n);if(isNaN(_)||_<=0){S([]);return}if(F.toLowerCase()==="usd"&&_>r){S([]),X(`Maximum amount is ${nn("usd")}${r.toLocaleString()}`);return}let G=setTimeout(()=>{Ut(_);},500);return ()=>clearTimeout(G)},[n,F,r,t]);let Ut=async _=>{f(true),X(null);try{let G={country_code:"US",destination_currency_code:"usdc_polygon",source_amount:_.toString(),source_currency_code:F.toLowerCase()},ve=await nr(G,t);if(S(ve.data),ve.data.length>0){let N=ve.data.reduce((oe,C)=>C.destination_amount>oe.destination_amount?C:oe);xe(N);}Se(60);}catch(G){console.error("Failed to fetch quotes:",G),X("Failed to fetch quotes. Please try again."),S([]);}finally{f(false);}};react.useEffect(()=>{if(b.length===0)return;let _=setInterval(()=>{Se(G=>{if(G<=1){let ve=parseFloat(n);return !isNaN(ve)&&ve>0&&Ut(ve),60}return G-1});},1e3);return ()=>clearInterval(_)},[b.length,n]);let er=_=>{(/^\d*\.?\d{0,2}$/.test(_)||_==="")&&k(_);},_e=_=>{k(_.toFixed(2));},Tt=()=>P?P.destination_amount.toFixed(2):"0.00",We=async()=>{if(P)try{let _=vt(Ue,"ethereum");if(!_?.address){X("Wallet address not available");return}let G={service_provider:P.service_provider,country_code:P.country_code.toUpperCase(),destination_currency_code:P.destination_currency_code,source_currency_code:P.source_currency_code,wallet_address:_.address,source_amount:n},ve=await ir(G,t);wt({provider:P,sourceCurrency:F,sourceAmount:n}),ot(ve.widget_url),Ot(!0);}catch(_){console.error("Failed to create session:",_),X("Failed to start payment flow"),L?.({message:"Failed to start payment flow",error:_});}},St=nn(F),Ce=()=>{Ot(false),xt("onramp"),x?.({message:"Payment flow completed",executionId:Ie?.sessionId});},no=()=>jsxRuntime.jsx(Ii,{visible:ro,onClose:Ce,url:qe,providerName:P?.service_provider_display_name||"Complete Payment",colors:D,fonts:p});return Ht==="amount"?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.View,{style:w.amountViewContainer,children:[jsxRuntime.jsxs(reactNative.ScrollView,{style:w.scrollContainer,contentContainerStyle:w.scrollContent,showsVerticalScrollIndicator:false,keyboardShouldPersistTaps:"handled",bounces:false,children:[jsxRuntime.jsx(reactNative.View,{style:w.currencySelector,children:jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>Mt(true),style:[w.currencyButton,{backgroundColor:s.card.backgroundColor}],children:[ut&&jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(ut,"png"))},style:w.currencyIcon}),jsxRuntime.jsx(reactNative.Text,{style:[w.currencyText,{color:s.card.titleColor,fontFamily:p.medium}],children:F.toUpperCase()}),jsxRuntime.jsx(Fe,{size:16,color:s.card.actionColor,strokeWidth:2})]})}),jsxRuntime.jsx(Oo,{open:Ne,onOpenChange:Mt,currencies:ye,preferredCurrencyCodes:kt,selectedCurrency:F,onSelectCurrency:_=>{z(_.toLowerCase());}}),jsxRuntime.jsxs(reactNative.View,{style:w.amountContainer,children:[jsxRuntime.jsxs(reactNative.View,{style:w.amountInputRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[w.currencySymbol,{color:s.container.titleColor,fontFamily:p.medium}],children:St}),jsxRuntime.jsx(reactNative.TextInput,{style:[w.amountInput,{color:s.container.titleColor,fontFamily:p.medium}],value:n,onChangeText:er,keyboardType:"decimal-pad",placeholder:"0",placeholderTextColor:D.foregroundMuted})]}),O?jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:D.primary}):jsxRuntime.jsxs(reactNative.Text,{style:[w.usdcPreview,{color:s.container.subtitleColor,fontFamily:p.regular}],children:["\u2248 ",Tt()," ",a]})]}),jsxRuntime.jsx(reactNative.View,{style:w.quickAmounts,children:Si.map(_=>jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>_e(_),style:[w.quickAmountButton,{backgroundColor:s.card.backgroundColor},parseFloat(n)===_&&{borderColor:D.primary,borderWidth:2}],children:jsxRuntime.jsxs(reactNative.Text,{style:[w.quickAmountText,{color:s.card.titleColor,fontFamily:p.medium}],children:[St,_.toLocaleString()]})},_))}),jsxRuntime.jsxs(reactNative.View,{style:w.providerSection,children:[jsxRuntime.jsxs(reactNative.View,{style:w.providerHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:[w.providerLabel,{color:s.card.labelColor,fontFamily:p.medium}],children:"Provider"}),b.length>0&&!O&&jsxRuntime.jsxs(reactNative.Text,{style:[w.refreshText,{color:s.card.labelRightColor,fontFamily:p.regular}],children:["Refreshing in ",je,"s"]})]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>te(true),disabled:O||b.length===0,style:[w.providerButton,{backgroundColor:s.card.backgroundColor},(O||b.length===0)&&w.disabled],children:O?jsxRuntime.jsxs(reactNative.View,{style:w.providerLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:s.container.subtitleColor}),jsxRuntime.jsx(reactNative.Text,{style:[w.loadingText,{color:s.container.subtitleColor,fontFamily:p.regular}],children:"Finding best rates..."})]}):P?jsxRuntime.jsxs(reactNative.View,{style:w.providerContent,children:[jsxRuntime.jsxs(reactNative.View,{style:w.providerInfo,children:[!he&&jsxRuntime.jsx(reactNative.Text,{style:[w.autoPickedText,{color:s.container.subtitleColor,fontFamily:p.regular}],children:"Auto-picked for you"}),jsxRuntime.jsxs(reactNative.View,{style:w.providerRow,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:q(vo(P.icon_urls,"png",P.icon_url))},style:w.providerIconImage},`provider-${P.service_provider}`),jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsx(reactNative.Text,{style:[w.providerName,{color:s.card.titleColor,fontFamily:p.medium}],children:P.service_provider_display_name}),jsxRuntime.jsxs(reactNative.Text,{style:[w.bestPriceText,{color:D.success,fontFamily:p.regular}],children:["Best price \u2022 ",P.destination_amount.toFixed(2)," ","USDC"]})]})]})]}),jsxRuntime.jsx(rt,{size:20,color:s.card.actionColor,strokeWidth:2})]}):jsxRuntime.jsx(reactNative.Text,{style:[w.noProviderText,{color:s.container.subtitleColor,fontFamily:p.regular}],children:parseFloat(n)>0?"No providers available":"Enter an amount to see providers"})}),se&&jsxRuntime.jsx(reactNative.Text,{style:[w.errorText,{color:D.error,fontFamily:p.regular}],children:se})]}),jsxRuntime.jsxs(ae,{visible:bt,onClose:()=>te(false),closeOnBackdropPress:true,showHandle:false,children:[jsxRuntime.jsx(Me,{title:"Select Provider",showBack:false,onClose:()=>te(false)}),jsxRuntime.jsx(reactNative.ScrollView,{style:w.providerModalList,showsVerticalScrollIndicator:false,children:jsxRuntime.jsx(reactNative.View,{style:w.quotesList,children:[...b].sort((_,G)=>G.destination_amount-_.destination_amount).map((_,G)=>{let ve=P?.service_provider===_.service_provider,N=G===0;return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>{xe(_),Pe(true),te(false);},style:[w.quoteItem,{backgroundColor:s.card.backgroundColor},ve&&{borderColor:D.primary,borderWidth:2}],children:[jsxRuntime.jsxs(reactNative.View,{style:w.quoteLeft,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:q(vo(_.icon_urls,"png",_.icon_url))},style:w.providerIconImage}),jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsx(reactNative.Text,{style:[w.quoteName,{color:s.card.titleColor,fontFamily:p.medium}],children:_.service_provider_display_name}),N&&jsxRuntime.jsx(reactNative.Text,{style:[w.bestPriceLabel,{color:D.success,fontFamily:p.regular}],children:"\u2713 Best price"})]})]}),jsxRuntime.jsxs(reactNative.View,{style:w.quoteRight,children:[jsxRuntime.jsxs(reactNative.Text,{style:[w.quoteAmount,{color:s.card.textRightColor,fontFamily:p.medium}],children:[_.destination_amount.toFixed(2)," USDC"]}),jsxRuntime.jsxs(reactNative.Text,{style:[w.quoteSource,{color:s.card.subtextRightColor,fontFamily:p.regular}],children:["Fee: ",St,_.total_fee.toFixed(2)]})]})]},_.service_provider)})})})]})]}),jsxRuntime.jsx(reactNative.View,{style:[w.continueButtonContainer,{backgroundColor:D.background}],children:jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:We,disabled:O||Le||!P||parseFloat(n)<=0,style:[w.continueButton,{backgroundColor:s.container.buttonColor},(O||Le||!P)&&w.disabledButton],children:jsxRuntime.jsx(reactNative.Text,{style:[w.continueButtonText,{color:s.container.buttonTitleColor,fontFamily:p.medium}],children:Le?"Loading...":"Continue"})})})]}),no()]}):Ht==="onramp"&&Ie?jsxRuntime.jsxs(reactNative.View,{style:w.onrampContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:q(vo(Ie.provider.icon_urls,"png",Ie.provider.icon_url))},style:w.onrampProviderIcon}),jsxRuntime.jsxs(reactNative.Text,{style:[w.onrampTitle,{color:s.container.titleColor,fontFamily:p.medium}],children:["Complete transaction with ",Ie.provider.service_provider_display_name]}),jsxRuntime.jsx(reactNative.Text,{style:[w.onrampSubtitle,{color:s.container.subtitleColor,fontFamily:p.regular}],children:"You can close this modal."}),jsxRuntime.jsxs(reactNative.View,{style:[w.flowDiagram,{backgroundColor:s.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:w.flowStep,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:De(`/icons/currencies/png/${Ie.sourceCurrency.toLowerCase()}.png`)},style:w.flowIconImage}),jsxRuntime.jsx(reactNative.Text,{style:[w.flowLabel,{color:s.card.subtitleColor,fontFamily:p.regular}],children:"You use"}),jsxRuntime.jsx(reactNative.Text,{style:[w.flowValue,{color:s.card.titleColor,fontFamily:p.medium}],children:Ie.sourceCurrency.toUpperCase()})]}),jsxRuntime.jsx(rt,{size:16,color:s.card.actionColor,strokeWidth:2}),jsxRuntime.jsxs(reactNative.View,{style:w.flowStep,children:[jsxRuntime.jsxs(reactNative.View,{style:w.flowIconWithBadge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:De("/icons/tokens/png/usdc.png")},style:w.flowIconImageNoBadge}),jsxRuntime.jsx(reactNative.Image,{source:{uri:De("/icons/networks/png/polygon.png")},style:[w.flowNetworkBadge,{borderColor:D.background}]})]}),jsxRuntime.jsx(reactNative.Text,{style:[w.flowLabel,{color:s.card.subtitleColor,fontFamily:p.regular}],children:"You buy"}),jsxRuntime.jsx(reactNative.Text,{style:[w.flowValue,{color:s.card.titleColor,fontFamily:p.medium}],children:"USDC"})]}),jsxRuntime.jsx(rt,{size:16,color:s.card.actionColor,strokeWidth:2}),jsxRuntime.jsxs(reactNative.View,{style:w.flowStep,children:[jsxRuntime.jsxs(reactNative.View,{style:w.flowIconWithBadge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:De("/icons/tokens/png/usdc.png")},style:w.flowIconImageNoBadge}),jsxRuntime.jsx(reactNative.Image,{source:{uri:De("/icons/networks/png/polygon.png")},style:[w.flowNetworkBadge,{borderColor:D.background}]})]}),jsxRuntime.jsx(reactNative.Text,{style:[w.flowLabel,{color:s.card.subtitleColor,fontFamily:p.regular}],children:"You receive"}),jsxRuntime.jsx(reactNative.Text,{style:[w.flowValue,{color:s.card.titleColor,fontFamily:p.medium}],children:a})]})]}),jsxRuntime.jsx(reactNative.View,{style:[w.onrampInfoBox,{backgroundColor:s.card.backgroundColor}],children:jsxRuntime.jsx(reactNative.Text,{style:[w.onrampInfoText,{color:s.card.descriptionColor,fontFamily:p.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 Ii({visible:e,onClose:t,url:o,providerName:i,colors:r,fonts:a}){return jsxRuntime.jsxs(ae,{visible:e,onClose:t,closeOnBackdropPress:false,showHandle:false,heightPercent:.92,noPadding:true,children:[jsxRuntime.jsxs(reactNative.View,{style:zt.header,children:[jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:t,style:zt.headerButton,hitSlop:{top:10,bottom:10,left:10,right:10},children:jsxRuntime.jsx(we,{size:20,color:r.foregroundMuted,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[zt.headerTitle,{color:r.foreground,fontFamily:a.medium}],children:i}),jsxRuntime.jsx(reactNative.View,{style:zt.headerSpacer})]}),o&&jsxRuntime.jsx(reactNative.View,{style:zt.container,children:jsxRuntime.jsx(reactNativeWebview.WebView,{source:{uri:o},style:zt.webView,startInLoadingState:true,renderLoading:()=>jsxRuntime.jsx(reactNative.View,{style:zt.loading,children:jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:r.primary})})})})]})}var zt=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"}}),w=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,borderRadius: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,borderRadius:8},quickAmountText:{fontSize:14,fontWeight:"500"},providerSection:{marginBottom:24},providerHeader:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8},providerLabel:{fontSize:12,fontWeight:"500"},refreshText:{fontSize:10},providerButton:{padding:16,borderRadius:12},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:24},continueButton:{paddingVertical:16,borderRadius:12,alignItems:"center"},disabledButton:{opacity:.5},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:{height:468,paddingHorizontal:12,marginTop:8},quotesList:{gap:8,paddingBottom:24,minHeight:468},quoteItem:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:12,borderRadius:12},quoteLeft:{flexDirection:"row",alignItems:"center",gap:12},quoteIcon:{width:40,height:40,borderRadius:20},quoteName:{fontSize:14,fontWeight:"500"},bestPriceLabel:{fontSize:11,marginTop:2},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,borderRadius:7,borderWidth:2},onrampInfoBox:{marginTop:16,padding:16,borderRadius:12,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 Ri(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 Vi(e){return e?`$${parseFloat(e).toFixed(2)}`:"$0.00"}function qo({execution:e,onPress:t}){let {colors:o,fonts:i,components:r}=A(),a=e.status==="pending"||e.status==="waiting"||e.status==="delayed";e.status==="succeeded";let l=q(ne(e.destination_token_metadata,"png")||De("/icons/tokens/png/usdc.png")),c=a?"Deposit Processing":"Deposit Completed",h=Ri(e.created_at||new Date().toISOString()),x=Vi(e.source_amount_usd);return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:t,activeOpacity:.7,style:[lt.container,{backgroundColor:r.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:lt.iconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:l},style:lt.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[lt.statusBadge,{backgroundColor:a?o.warning:o.success,borderColor:r.card.backgroundColor}],children:a?jsxRuntime.jsx(Mr,{size:12,color:"#FFFFFF",strokeWidth:2.5}):jsxRuntime.jsx(we,{size:12,color:"#FFFFFF",strokeWidth:3})})]}),jsxRuntime.jsxs(reactNative.View,{style:lt.textContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[lt.title,{color:r.card.titleColor,fontFamily:i.medium}],children:c}),jsxRuntime.jsx(reactNative.Text,{style:[lt.dateTime,{color:r.card.subtitleColor,fontFamily:i.regular}],children:h})]}),jsxRuntime.jsxs(reactNative.View,{style:lt.rightContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[lt.amount,{color:r.card.textRightColor,fontFamily:i.medium}],children:x}),jsxRuntime.jsx(rt,{size:20,color:r.card.actionColor,strokeWidth:2})]})]})}var lt=reactNative.StyleSheet.create({container:{flexDirection:"row",alignItems:"center",paddingHorizontal:16,paddingVertical:12,borderRadius:12},iconContainer:{position:"relative",marginRight:12},tokenIcon:{width:40,height:40,borderRadius:20},statusBadge:{position:"absolute",bottom:-2,right:-2,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"}});var{height:zi}=reactNative.Dimensions.get("window");function cn(e,t){let o={solana:"Solana",ethereum:"Ethereum",bitcoin:"Bitcoin"};return e==="ethereum"?{1:"Ethereum",137:"Polygon",8453:"Base",42161:"Arbitrum",10:"Optimism"}[t]||o[e]||e:o[e]||e}function dn(e,t=6){if(!e)return "\u2014";try{let o=Number(e)/Math.pow(10,t);return o===0?"0.00":o>=1?o.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}):o.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:8,minimumSignificantDigits:2,maximumSignificantDigits:6})}catch{return "0.00"}}function Ei(e){return e?`$${parseFloat(e).toFixed(2)}`:"$0.00"}var un=e=>!e||e.length<12?e:`${e.slice(0,12)}...${e.slice(-4)}`;function pn(e){if(!e)return "";let t=e.indexOf(".");return t===-1?e.toUpperCase():e.slice(0,t).toUpperCase()+e.slice(t)}function Ai(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 Qo({visible:e,onClose:t,executions:o,externalUserId:i,publishableKey:r}){let{colors:a,fonts:d,components:l}=A(),[c,h]=react.useState(o),[x,L]=react.useState(false),[D,p]=react.useState(null),[s,n]=react.useState(false),k=react.useRef(null);react.useEffect(()=>{if(!e||!i)return;let f=async()=>{L(true);try{let Z=[...(await Dt(i,r)).data].sort((fe,P)=>{let xe=fe.created_at?new Date(fe.created_at).getTime():0;return (P.created_at?new Date(P.created_at).getTime():0)-xe});h(Z);}catch(X){console.error("Failed to fetch executions:",X),h(o);}finally{L(false);}};f();let se=setInterval(f,1e4);return ()=>clearInterval(se)},[e,i,r,o]),react.useEffect(()=>{o.length>0&&h(f=>{let se=new Set(f.map(Z=>Z.id)),X=o.filter(Z=>!se.has(Z.id));return X.length>0?[...X,...f]:f});},[o]),react.useEffect(()=>{e||p(null);},[e]);let F=f=>{p(f);},z=()=>{p(null),n(false);},b=()=>{p(null),t();};return jsxRuntime.jsxs(ae,{visible:e,onClose:b,closeOnBackdropPress:true,showHandle:false,heightPercent:.6,children:[jsxRuntime.jsx(Me,{title:D?"Deposit Details":"Deposit Tracker",onClose:b,showClose:!D,showBack:!!D,onBack:z}),D?(()=>{if(!D)return null;let f=D,se=f.status==="pending"||f.status==="waiting"||f.status==="delayed",X=f.status==="succeeded",Z=q(ne(f.destination_token_metadata,"png")||De("/icons/tokens/png/usdc.png")),fe=f.provider_metadata?.details,P=fe?.currencyIn,xe=fe?.currencyOut;P?.currency?.symbol||"USDC";xe?.currency?.symbol||"USDC";let Ue=dn(f.source_amount_base_unit,f.source_token_metadata?.decimals),Je=dn(f.destination_amount_base_unit,f.destination_token_metadata?.decimals),Le=Ei(f.source_amount_usd),Be=cn(f.source_chain_type,f.source_chain_id),je=cn(f.destination_chain_type,f.destination_chain_id),Se=()=>{f.explorer_url&&reactNative.Linking.openURL(f.explorer_url);},ye=()=>{f.destination_explorer_url&&reactNative.Linking.openURL(f.destination_explorer_url);};return jsxRuntime.jsxs(reactNative.ScrollView,{ref:k,style:V.scrollContainer,contentContainerStyle:V.detailsContent,showsVerticalScrollIndicator:false,children:[jsxRuntime.jsxs(reactNative.View,{style:V.iconSection,children:[jsxRuntime.jsxs(reactNative.View,{style:V.iconWrapper,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:Z},style:V.tokenIcon}),jsxRuntime.jsx(reactNative.View,{style:[V.statusBadge,{backgroundColor:se?a.warning:a.success,borderColor:a.background}],children:se?jsxRuntime.jsx(Fe,{size:14,color:"#FFFFFF",strokeWidth:2}):jsxRuntime.jsx(we,{size:14,color:"#FFFFFF",strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:V.statusRow,children:[jsxRuntime.jsx(reactNative.View,{style:[V.statusDot,{backgroundColor:se?a.warning:a.success}]}),jsxRuntime.jsx(reactNative.Text,{style:[V.statusText,{color:l.container.titleColor,fontFamily:d.semibold}],children:se?"Processing":"Completed"})]}),jsxRuntime.jsx(reactNative.Text,{style:[V.dateText,{color:l.container.subtitleColor,fontFamily:d.regular}],children:Ai(f.created_at||new Date().toISOString())})]}),jsxRuntime.jsxs(reactNative.View,{style:[V.card,{backgroundColor:l.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:V.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.cardLabel,{color:l.card.rowLeftLabel,fontFamily:d.regular}],children:"Amount Sent"}),jsxRuntime.jsxs(reactNative.Text,{style:[V.cardValue,{color:l.card.rowRightLabel,fontFamily:d.medium}],children:[Ue," ",pn(f.source_currency)]})]}),jsxRuntime.jsx(reactNative.View,{style:[V.cardDivider,{backgroundColor:a.border}]}),jsxRuntime.jsxs(reactNative.View,{style:V.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.cardLabel,{color:l.card.rowLeftLabel,fontFamily:d.regular}],children:"Amount Received"}),jsxRuntime.jsxs(reactNative.Text,{style:[V.cardValue,{color:l.card.rowRightLabel,fontFamily:d.medium}],children:[Je," ",pn(f.destination_currency)]})]}),jsxRuntime.jsx(reactNative.View,{style:[V.cardDivider,{backgroundColor:a.border}]}),jsxRuntime.jsxs(reactNative.View,{style:V.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.cardLabel,{color:l.card.rowLeftLabel,fontFamily:d.regular}],children:"USD Value"}),jsxRuntime.jsx(reactNative.Text,{style:[V.cardValue,{color:l.card.rowRightLabel,fontFamily:d.medium}],children:Le})]}),jsxRuntime.jsx(reactNative.View,{style:[V.cardDivider,{backgroundColor:a.border}]}),jsxRuntime.jsxs(reactNative.View,{style:V.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.cardLabel,{color:l.card.rowLeftLabel,fontFamily:d.regular}],children:"Source Network"}),jsxRuntime.jsx(reactNative.Text,{style:[V.cardValue,{color:l.card.rowRightLabel,fontFamily:d.medium}],children:Be})]}),jsxRuntime.jsx(reactNative.View,{style:[V.cardDivider,{backgroundColor:a.border}]}),jsxRuntime.jsxs(reactNative.View,{style:V.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.cardLabel,{color:l.card.rowLeftLabel,fontFamily:d.regular}],children:"Destination Network"}),jsxRuntime.jsx(reactNative.Text,{style:[V.cardValue,{color:l.card.rowRightLabel,fontFamily:d.medium}],children:je})]})]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>{let dt=!s;n(dt),dt?setTimeout(()=>{k.current?.scrollToEnd({animated:true});},100):k.current?.scrollTo({y:0,animated:true});},style:V.toggleButton,activeOpacity:.7,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.toggleText,{color:l.container.actionTitle,fontFamily:d.regular}],children:s?"See less":"See more details"}),s?jsxRuntime.jsx(gt,{size:14,color:l.container.actionColor,strokeWidth:2}):jsxRuntime.jsx(Fe,{size:14,color:l.container.actionColor,strokeWidth:2})]}),s&&jsxRuntime.jsxs(reactNative.View,{style:[V.card,{backgroundColor:l.card.backgroundColor}],children:[f.explorer_url&&jsxRuntime.jsxs(reactNative.View,{children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:Se,style:V.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.cardLabel,{color:l.card.rowLeftLabel,fontFamily:d.regular}],children:"Deposit Tx"}),jsxRuntime.jsxs(reactNative.View,{style:V.cardRowRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.cardValue,{color:l.card.rowRightLabel,fontFamily:d.medium}],children:un(f.transaction_hash)}),jsxRuntime.jsx(Vt,{size:14,color:l.card.actionIcon,strokeWidth:2})]})]}),jsxRuntime.jsx(reactNative.View,{style:[V.cardDivider,{backgroundColor:a.border}]})]}),f.destination_explorer_url&&X&&jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:ye,style:V.cardRow,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.cardLabel,{color:l.card.rowLeftLabel,fontFamily:d.regular}],children:"Completion Tx"}),jsxRuntime.jsxs(reactNative.View,{style:V.cardRowRight,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.cardValue,{color:l.card.rowRightLabel,fontFamily:d.medium}],children:un(f.destination_transaction_hashes[0])}),jsxRuntime.jsx(Vt,{size:14,color:l.card.actionIcon,strokeWidth:2})]})]})]})]})})():jsxRuntime.jsx(reactNative.ScrollView,{style:V.scrollContainer,contentContainerStyle:V.scrollContent,showsVerticalScrollIndicator:false,children:c.length===0?jsxRuntime.jsxs(reactNative.View,{style:V.emptyContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[V.emptyText,{color:l.container.titleColor,fontFamily:d.medium}],children:"No deposits yet"}),jsxRuntime.jsx(reactNative.Text,{style:[V.emptySubtext,{color:l.container.subtitleColor,fontFamily:d.regular}],children:"Your deposit history will appear here"})]}):jsxRuntime.jsx(reactNative.View,{style:V.executionsList,children:c.map(f=>jsxRuntime.jsx(qo,{execution:f,onPress:()=>F(f)},f.id))})})]})}var V=reactNative.StyleSheet.create({scrollContainer:{maxHeight:zi*.7,paddingTop:16},scrollContent:{paddingHorizontal:16,paddingBottom:16},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 Co(e,t=true){let[o,i]=react.useState(null),[r,a]=react.useState(null),[d,l]=react.useState(false),[c,h]=react.useState(false),[x,L]=react.useState(null),[D,p]=react.useState(null);react.useEffect(()=>{!t||o||(l(true),ar().then(F=>{i(F),L(null);}).catch(F=>{L(F instanceof Error?F:new Error(String(F)));}).finally(()=>{l(false);}));},[t,o]),react.useEffect(()=>{!t||!e||r||(h(true),ao(e).then(F=>{a(F),p(null);}).catch(F=>{p(F instanceof Error?F:new Error(String(F)));}).finally(()=>{h(false);}));},[t,e,r]);let s=d||c,n=x||D||null,k=null;if(o&&r){let F=r.blocked_country_codes||[],z=o.alpha2.toUpperCase();k=!F.some(b=>b.toUpperCase()===z);}return {isAllowed:k,alpha2:o?.alpha2?.toLowerCase()??null,country:o?.country??null,isLoading:s,error:n}}var Ir="unifold_recent_tokens",Hi=5,yn=[{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 Ko(){try{let e=await Sr__default.default.getItem(Ir);return e?JSON.parse(e):[]}catch{return []}}async function Ui(e){try{let o=(await Ko()).filter(r=>!(r.symbol===e.symbol&&r.chainType===e.chainType&&r.chainId===e.chainId));o.unshift(e);let i=o.slice(0,Hi);await Sr__default.default.setItem(Ir,JSON.stringify(i));}catch{}}async function ji(e){try{let o=(await Ko()).filter(i=>!(i.symbol===e.symbol&&i.chainType===e.chainType&&i.chainId===e.chainId));return await Sr__default.default.setItem(Ir,JSON.stringify(o)),o}catch{return []}}function _r({visible:e,onClose:t,tokens:o,selectedToken:i,selectedChainKey:r,onSelect:a}){let{colors:d,fonts:l,components:c}=A(),[h,x]=react.useState(""),[L,D]=react.useState([]);react.useEffect(()=>{e&&Ko().then(D);},[e]),react.useEffect(()=>{e||x("");},[e]);let p=react.useMemo(()=>{let b=[];return o.forEach(S=>{S.chains.forEach(O=>{b.push({token:S,chain:O});});}),b},[o]),s=react.useMemo(()=>{let b=[],S=new Set,O=(f,se,X,Z)=>{let fe=`${f}-${se}:${X}`;if(S.has(fe))return;let P=o.find(he=>he.symbol===f);if(!P)return;let xe=P.chains.find(he=>he.chain_type===se&&he.chain_id===X);xe&&(S.add(fe),b.push({token:P,chain:xe,isRecent:Z}));};return L.forEach(f=>{O(f.symbol,f.chainType,f.chainId,true);}),yn.forEach(f=>{O(f.symbol,f.chainType,f.chainId,false);}),b},[o,L]),n=react.useMemo(()=>{if(!h.trim())return p;let b=h.toLowerCase();return p.filter(({token:S,chain:O})=>S.symbol.toLowerCase().includes(b)||S.name.toLowerCase().includes(b)||O.chain_name.toLowerCase().includes(b))},[p,h]),k=(b,S,O)=>yn.some(f=>f.symbol===b&&f.chainType===S&&f.chainId===O),F=async(b,S)=>{let O=`${S.chain_type}:${S.chain_id}`;if(!k(b.symbol,S.chain_type,S.chain_id)){await Ui({symbol:b.symbol,chainType:S.chain_type,chainId:S.chain_id});let f=await Ko();D(f);}x(""),a(b.symbol,O),t();},z=async(b,S)=>{let O=await ji({symbol:b.symbol,chainType:S.chain_type,chainId:S.chain_id});D(O);};return jsxRuntime.jsxs(ae,{visible:e,onClose:t,closeOnBackdropPress:true,showHandle:false,heightPercent:.9,children:[jsxRuntime.jsxs(reactNative.View,{style:K.header,children:[jsxRuntime.jsx(reactNative.View,{style:K.headerSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[K.headerTitle,{color:c.header.titleColor,fontFamily:l.medium}],children:"Select token to deposit"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:t,style:K.closeButton,children:jsxRuntime.jsx(Ve,{size:20,color:c.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsx(reactNative.View,{style:K.searchContainer,children:jsxRuntime.jsx(reactNative.TextInput,{style:[K.searchInput,{backgroundColor:c.search.backgroundColor,color:c.search.inputColor,fontFamily:l.regular}],placeholder:"Search",placeholderTextColor:c.search.placeholderColor,value:h,onChangeText:x,autoCapitalize:"none",autoCorrect:false})}),s.length>0&&!h&&jsxRuntime.jsxs(reactNative.View,{style:K.quickSelectSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[K.sectionLabel,{color:c.list.titleSectionColor,fontFamily:l.regular}],children:"Quick select"}),jsxRuntime.jsx(reactNative.ScrollView,{horizontal:true,showsHorizontalScrollIndicator:false,contentContainerStyle:K.quickSelectScroll,children:s.map(({token:b,chain:S,isRecent:O})=>{let f=`${S.chain_type}:${S.chain_id}`;b.symbol===i&&f===r;return jsxRuntime.jsxs(reactNative.View,{children:[O&&jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>z(b,S),style:K.removeButton,children:jsxRuntime.jsx(Ve,{size:12,color:d.foregroundMuted,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>F(b,S),style:[K.quickSelectItem],children:[jsxRuntime.jsxs(reactNative.View,{style:K.tokenIconContainer,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(b,"png"))},style:K.quickSelectIcon}),jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(S,"png"))},style:[K.quickSelectChainBadge,{borderColor:c.card.backgroundColor}]})]}),jsxRuntime.jsxs(reactNative.View,{style:K.quickSelectText,children:[jsxRuntime.jsx(reactNative.Text,{style:[K.quickSelectSymbol,{color:c.card.titleColor,fontFamily:l.medium}],children:b.symbol}),jsxRuntime.jsx(reactNative.Text,{style:[K.quickSelectChain,{color:c.card.subtitleColor,fontFamily:l.regular}],children:S.chain_name})]})]})]},`quick-${b.symbol}-${f}`)})})]}),jsxRuntime.jsx(reactNative.Text,{style:[K.sectionLabel,{color:c.list.titleSectionColor,fontFamily:l.regular}],children:"All supported tokens"}),jsxRuntime.jsx(reactNative.ScrollView,{style:K.tokenList,showsVerticalScrollIndicator:false,contentContainerStyle:K.tokenListContent,children:n.length===0?jsxRuntime.jsx(reactNative.View,{style:K.emptyState,children:jsxRuntime.jsx(reactNative.Text,{style:[K.emptyText,{color:d.foregroundMuted,fontFamily:l.regular}],children:"No tokens found"})}):n.map(({token:b,chain:S})=>{let O=`${S.chain_type}:${S.chain_id}`,f=b.symbol===i&&O===r;return jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>F(b,S),style:[K.tokenItem,{backgroundColor:f?c.card.backgroundColor:"transparent"}],children:[jsxRuntime.jsxs(reactNative.View,{style:K.tokenIconContainerLarge,children:[jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(b,"png"))},style:K.tokenIcon}),jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(S,"png"))},style:[K.tokenChainBadge,{borderColor:c.card.backgroundColor}]})]}),jsxRuntime.jsxs(reactNative.View,{style:K.tokenInfo,children:[jsxRuntime.jsx(reactNative.Text,{style:[K.tokenSymbol,{color:c.card.titleColor,fontFamily:l.medium}],children:b.symbol}),jsxRuntime.jsx(reactNative.Text,{style:[K.tokenChainName,{color:c.card.subtitleColor,fontFamily:l.regular}],children:S.chain_name})]}),jsxRuntime.jsxs(reactNative.Text,{style:[K.minDeposit,{color:c.card.labelColor,fontFamily:l.regular}],children:["Minimum:"," ",jsxRuntime.jsxs(reactNative.Text,{style:{color:c.card.labelHighlightRightColor,fontFamily:l.regular},children:["$",S.minimum_deposit_amount_usd]})]})]},`${b.symbol}-${O}`)})})]})}var K=reactNative.StyleSheet.create({header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:16},closeButton:{width:28,height:28,alignItems:"center",justifyContent:"center"},headerTitle:{fontSize:16,fontWeight:"500",textAlign:"center",flex:1},headerSpacer:{width:28},searchContainer:{paddingHorizontal:16,paddingBottom:12},searchInput:{height:40,borderRadius:8,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,borderRadius: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:24,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 Jo=(e,t)=>`${t}:${e}`,Gi=e=>{let[t,o]=e.split(":");return {chainType:t,chainId:o}};function vr({externalUserId:e,publishableKey:t,recipientAddress:o,destinationChainType:i,destinationChainId:r,destinationTokenAddress:a,destinationTokenSymbol:d,defaultChainType:l,defaultChainId:c,defaultTokenAddress:h,onExecutionsChange:x,onDepositSuccess:L,onDepositError:D,wallets:p}){let{colors:s,fonts:n,components:k}=A(),F=l&&c?`${l}:${c}`:"solana:mainnet",[z,b]=react.useState("USDC"),[S,O]=react.useState(F),[f,se]=react.useState([]),[X,Z]=react.useState(!p?.length),fe=p?.length?p:f,[P,xe]=react.useState([]),[he,Pe]=react.useState(true),[Ue,Je]=react.useState(false),[Le,Be]=react.useState(false),[je,Se]=react.useState(false),[ye,dt]=react.useState([]),[kt,oo]=react.useState(new Map),[Ie]=react.useState(()=>new Date),[wt,Ne]=react.useState(null),[Mt,bt]=react.useState(false),[te,ro]=react.useState(null),[Ot,qe]=react.useState(false),ot=new Map;P.forEach(N=>{N.chains.forEach(oe=>{let C=`${oe.chain_type}:${oe.chain_id}`;ot.has(C)||ot.set(C,oe);});});let Ht=Array.from(ot.values()),ut=Gi(S),xt=Ht.find(N=>N.chain_type===ut.chainType&&N.chain_id===ut.chainId),Ut=xt?.chain_type||"ethereum",_e=vt(fe,Ut)?.address||"",Tt=react.useRef(false);react.useEffect(()=>{async function N(){try{Pe(!0),Ne(null);let C=await so(t,a&&r&&i?{destination_token_address:a,destination_chain_id:r,destination_chain_type:i}:void 0);if(xe(C.data),C.data.length>0&&!Tt.current){Tt.current=!0;let g,I;if(l&&c)if(h)for(let R of C.data){let H=R.chains.find(re=>re.chain_type===l&&re.chain_id===c&&re.token_address.toLowerCase()===h.toLowerCase());if(H){g=R,I=H;break}}else for(let R of C.data){let H=R.chains.find(re=>re.chain_type===l&&re.chain_id===c);if(H){g=R,I=H;break}}if(!g&&a)for(let R of C.data){let H=R.chains.find(re=>re.token_address.toLowerCase()===a.toLowerCase());if(H){g=R,I=H;break}}g||(g=C.data.find(R=>R.symbol==="USDC"),g&&g.chains.length>0&&(I=g.chains[0])),g||(g=C.data.find(R=>R.symbol==="USDT"),g&&g.chains.length>0&&(I=g.chains[0])),g||(g=C.data[0],g.chains.length>0&&(I=g.chains[0])),g&&b(g.symbol),I&&O(Jo(I.chain_id,I.chain_type));}}catch(oe){console.error("Error fetching supported tokens:",oe),Ne("Failed to load supported tokens"),D?.({message:"Failed to load supported tokens",error:oe});}finally{Pe(false);}}N();},[t,a,r,i,l,c,h,D]),react.useEffect(()=>{x&&x(ye);},[ye,x]),react.useEffect(()=>{if(p?.length){Z(false);return}if(f.length>0){Z(false);return}let N=null,oe=false,C=async()=>{if(!oe){Z(true);try{let g=await _t({external_user_id:e,recipient_address:o,destination_chain_type:i,destination_chain_id:r,destination_token_address:a},t);oe||(se(g.data),Ne(null),Z(!1));}catch(g){console.error("Error fetching wallets, retrying in 5s:",g),oe||(Ne(g instanceof Error?g.message:"Failed to load wallets"),Z(false),N=setTimeout(C,5e3));}}};return C(),()=>{oe=true,N&&clearTimeout(N);}},[e,o,i,r,a,t,p,f.length]),react.useEffect(()=>{if(!e||!Ie)return;let N=setInterval(async()=>{try{let oe=await Dt(e,t),C=null;for(let g of oe.data){let I=g.created_at?new Date(g.created_at):null;if(!I||I<=Ie)continue;let R=kt.get(g.id);if(!R){C=g;break}if(["pending","waiting","delayed"].includes(R)&&g.status==="succeeded"){C=g;break}}if(C){let g=C;dt(I=>{let R=I.findIndex(H=>H.id===g.id);if(R>=0){let H=[...I];return H[R]=g,H}else return [...I,g]}),oo(I=>{let R=new Map(I);return R.set(g.id,g.status),R}),ro(g),bt(!0),g.status==="succeeded"&&L?.({message:"Deposit completed successfully",executionId:g.id}),x?.([...ye,g]);}}catch(oe){console.error("Error polling executions:",oe),D?.({message:"Failed to check deposit status",error:oe});}},3e3);return ()=>clearInterval(N)},[e,t,Ie,kt,ye,x,L,D]),react.useEffect(()=>{if(!P.length)return;let N=P.find(C=>C.symbol===z);if(!N||N.chains.length===0)return;if(!N.chains.some(C=>Jo(C.chain_id,C.chain_type)===S)){let C=N.chains[0];O(Jo(C.chain_id,C.chain_type));}},[z,P,S]);let We=P.find(N=>N.symbol===z),Ce=(We?.chains||[]).find(N=>Jo(N.chain_id,N.chain_type)===S),no=async()=>{if(_e)try{reactNative.Clipboard.setString(_e),Je(!0),setTimeout(()=>Je(!1),2e3);}catch(N){console.error("Failed to copy:",N);}},_=Ce?.estimated_price_impact_percent??0,G=Ce?.max_slippage_percent??.25,ve=Ce?.minimum_deposit_amount_usd??3;return he?jsxRuntime.jsxs(reactNative.View,{style:y.loadingContainer,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:s.primary}),jsxRuntime.jsx(reactNative.Text,{style:[y.loadingText,{color:s.foregroundMuted,fontFamily:n.regular}],children:"Loading currencies..."})]}):wt&&P.length===0?jsxRuntime.jsxs(reactNative.View,{style:y.errorContainer,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.errorText,{color:s.error,fontFamily:n.regular}],children:wt}),jsxRuntime.jsx(reactNative.Text,{style:[y.errorHint,{color:s.foregroundMuted,fontFamily:n.regular}],children:"Please check your network connection and try again."})]}):jsxRuntime.jsxs(reactNative.View,{style:y.container,children:[jsxRuntime.jsxs(reactNative.View,{style:y.selectorSection,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.selectorLabel,{color:k.card.labelColor,fontFamily:n.medium}],children:"Select token to deposit"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>Se(true),disabled:he||P.length===0,style:[y.tokenSelectorButton,{backgroundColor:k.card.backgroundColor}],activeOpacity:.7,children:he?jsxRuntime.jsxs(reactNative.View,{style:y.tokenSelectorLoading,children:[jsxRuntime.jsx(reactNative.View,{style:[y.loadingIcon,{backgroundColor:s.cardHover}]}),jsxRuntime.jsxs(reactNative.View,{style:y.loadingTextContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[y.loadingLine,{backgroundColor:s.cardHover,width:60}]}),jsxRuntime.jsx(reactNative.View,{style:[y.loadingLine,{backgroundColor:s.cardHover,width:100,marginTop:4}]})]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(reactNative.View,{style:y.tokenIconWrapper,children:[We&&jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(We,"png"))},style:y.tokenMainIcon}),(Ce||xt)&&jsxRuntime.jsx(reactNative.Image,{source:{uri:q(ne(Ce||xt,"png"))},style:[y.tokenChainBadge,{borderColor:k.card.backgroundColor}]})]}),jsxRuntime.jsxs(reactNative.View,{style:y.tokenSelectorInfo,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.tokenSelectorSymbol,{color:k.card.titleColor,fontFamily:n.semibold}],children:We?.symbol||z}),jsxRuntime.jsx(reactNative.Text,{style:[y.tokenSelectorNetwork,{color:k.card.subtitleColor,fontFamily:n.regular}],numberOfLines:1,children:Ce?.chain_name||xt?.chain_name||"Select network"})]}),jsxRuntime.jsxs(reactNative.View,{style:y.tokenSelectorRight,children:[jsxRuntime.jsxs(reactNative.Text,{style:[y.minDepositText,{color:k.card.labelHighlightRightColor,fontFamily:n.medium}],children:["$",ve," min"]}),jsxRuntime.jsx(rt,{size:16,color:k.card.actionColor,strokeWidth:2})]})]})})]}),jsxRuntime.jsx(_r,{visible:je,onClose:()=>Se(false),tokens:P,selectedToken:z,selectedChainKey:S,onSelect:(N,oe)=>{b(N),O(oe);}}),jsxRuntime.jsx(reactNative.View,{style:y.qrContainer,children:jsxRuntime.jsx(reactNative.View,{style:[y.qrWrapper,{backgroundColor:s.background,borderColor:s.border}],children:X?jsxRuntime.jsxs(reactNative.View,{style:y.qrLoading,children:[jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"small",color:s.primary}),jsxRuntime.jsx(reactNative.Text,{style:[y.loadingText,{color:s.foregroundMuted,fontFamily:n.regular}],children:"Loading..."})]}):_e?jsxRuntime.jsx(Jt,{value:_e,size:180,logoUri:q(ne(Ce,"png")||De("/icons/networks/png/ethereum.png")),logoSize:45}):jsxRuntime.jsx(reactNative.View,{style:y.qrLoading,children:jsxRuntime.jsx(reactNative.Text,{style:[y.errorText,{color:s.error,fontFamily:n.regular}],children:"No address available"})})})}),jsxRuntime.jsxs(reactNative.View,{style:y.addressSection,children:[jsxRuntime.jsxs(reactNative.View,{style:y.addressHeader,children:[jsxRuntime.jsx(reactNative.Text,{style:[y.addressLabel,{color:k.card.labelColor,fontFamily:n.medium}],children:"Deposit Address"}),Ue&&jsxRuntime.jsxs(reactNative.View,{style:y.copiedIndicator,children:[jsxRuntime.jsx(we,{size:14,color:s.success,strokeWidth:2}),jsxRuntime.jsx(reactNative.Text,{style:[y.copiedText,{color:s.success,fontFamily:n.regular}],children:"Copied"})]})]}),jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:no,disabled:!_e||X,activeOpacity:.7,style:[y.addressBox,{backgroundColor:k.card.backgroundColor}],children:[jsxRuntime.jsx(reactNative.Text,{style:[y.addressText,{color:k.card.titleColor,fontFamily:n.regular}],numberOfLines:2,children:X?"Loading...":_e||"No address available"}),jsxRuntime.jsx(reactNative.View,{style:y.addressCopyIcon,children:jsxRuntime.jsx(lo,{size:16,color:k.card.actionColor,strokeWidth:1})})]})]}),jsxRuntime.jsxs(reactNative.View,{style:[y.detailsCard,{backgroundColor:k.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.TouchableOpacity,{onPress:()=>Be(!Le),style:y.detailsHeader,children:[jsxRuntime.jsxs(reactNative.View,{style:y.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[y.detailIcon,{backgroundColor:k.card.iconBackgroundColor}],children:jsxRuntime.jsx(Rt,{size:12,color:k.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[y.detailsLabel,{color:k.card.titleColor,fontFamily:n.regular}],children:"Processing time: < 1 min"})]}),jsxRuntime.jsx(reactNative.View,{style:y.chevronContainer,children:Le?jsxRuntime.jsx(gt,{size:16,color:k.card.actionColor,strokeWidth:2}):jsxRuntime.jsx(Fe,{size:16,color:k.card.actionColor,strokeWidth:2})})]}),Le&&jsxRuntime.jsxs(reactNative.View,{style:y.detailsContent,children:[jsxRuntime.jsxs(reactNative.View,{style:y.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[y.detailIcon,{backgroundColor:k.card.iconBackgroundColor}],children:jsxRuntime.jsx(qt,{size:12,color:k.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[y.detailsLabel,{color:k.card.titleColor,fontFamily:n.regular}],children:["Price impact: ",_.toFixed(2),"%"]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>qe(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx($t,{size:14,color:k.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:y.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[y.detailIcon,{backgroundColor:k.card.iconBackgroundColor}],children:jsxRuntime.jsx(Qt,{size:12,color:k.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[y.detailsLabel,{color:k.card.titleColor,fontFamily:n.regular}],children:["Slippage: Auto \u2022 ",G.toFixed(2),"%"]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>qe(true),hitSlop:{top:10,bottom:10,left:10,right:10},style:{marginLeft:-4},children:jsxRuntime.jsx($t,{size:14,color:k.card.actionColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:y.detailsRow,children:[jsxRuntime.jsx(reactNative.View,{style:[y.detailIcon,{backgroundColor:k.card.iconBackgroundColor}],children:jsxRuntime.jsx(Lo,{size:12,color:k.card.iconColor,strokeWidth:2})}),jsxRuntime.jsxs(reactNative.Text,{style:[y.detailsLabel,{color:k.card.titleColor,fontFamily:n.regular}],children:["Need help?"," ",jsxRuntime.jsx(reactNative.Text,{style:{textDecorationLine:"underline"},children:"Contact support"})]})]})]})]}),jsxRuntime.jsx(reactNative.TouchableOpacity,{style:y.termsContainer,onPress:()=>reactNative.Linking.openURL("https://unifold.io/terms"),children:jsxRuntime.jsx(reactNative.Text,{style:[y.termsText,{color:s.primary,fontFamily:n.regular}],children:"Terms apply"})}),jsxRuntime.jsxs(ae,{visible:Ot,onClose:()=>qe(false),closeOnBackdropPress:true,showHandle:true,children:[jsxRuntime.jsxs(reactNative.View,{style:[y.sheetHeader,{borderBottomColor:s.border}],children:[jsxRuntime.jsx(reactNative.View,{style:y.sheetHeaderSpacer}),jsxRuntime.jsx(reactNative.Text,{style:[y.sheetTitle,{color:k.header.titleColor,fontFamily:n.medium}],children:"Price Impact & Slippage"}),jsxRuntime.jsx(reactNative.TouchableOpacity,{onPress:()=>qe(false),style:y.sheetCloseButton,children:jsxRuntime.jsx(Ve,{size:20,color:k.header.buttonColor,strokeWidth:2})})]}),jsxRuntime.jsxs(reactNative.View,{style:y.infoSheetContent,children:[jsxRuntime.jsxs(reactNative.View,{style:[y.infoCard,{backgroundColor:k.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:y.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[y.infoCardIcon,{backgroundColor:k.card.iconBackgroundColor}],children:jsxRuntime.jsx(qt,{size:16,color:k.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[y.infoCardTitle,{color:k.card.titleColor,fontFamily:n.medium}],children:"Price Impact"}),jsxRuntime.jsxs(reactNative.Text,{style:[y.infoCardValue,{color:k.card.titleColor,fontFamily:n.medium}],children:[_.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[y.infoCardDescription,{color:k.card.descriptionColor,fontFamily:n.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:[y.infoCard,{backgroundColor:k.card.backgroundColor}],children:[jsxRuntime.jsxs(reactNative.View,{style:y.infoCardHeader,children:[jsxRuntime.jsx(reactNative.View,{style:[y.infoCardIcon,{backgroundColor:k.card.iconBackgroundColor}],children:jsxRuntime.jsx(Qt,{size:16,color:k.card.iconColor,strokeWidth:2})}),jsxRuntime.jsx(reactNative.Text,{style:[y.infoCardTitle,{color:k.card.titleColor,fontFamily:n.medium}],children:"Max Slippage"}),jsxRuntime.jsxs(reactNative.Text,{style:[y.infoCardValue,{color:k.card.titleColor,fontFamily:n.medium}],children:[G.toFixed(2),"%"]})]}),jsxRuntime.jsx(reactNative.Text,{style:[y.infoCardDescription,{color:k.card.descriptionColor,fontFamily:n.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."})]})]})]}),te&&jsxRuntime.jsx(Xt,{visible:Mt,status:te.status,tokenIconUrl:te.destination_token_metadata?.icon_urls?.find(N=>N.format==="png")?.url||te.destination_token_metadata?.icon_url||ne(We,"png"),explorerUrl:te.explorer_url,completionExplorerUrl:te.destination_explorer_url,date:te.created_at?new Date(te.created_at):void 0,amountUsd:te.source_amount_usd?parseFloat(te.source_amount_usd):void 0,onClose:()=>bt(false)})]})}var y=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,borderRadius: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,borderRadius:16,borderWidth:1},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,borderRadius:8},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 At={transferCrypto:{title:"Transfer Crypto",subtitle:"No limit \u2022 Instant"},depositWithCard:{title:"Deposit with Card",subtitle:"$50,000 limit \u2022 2 min"},depositTracker:{title:"Deposit Tracker",subtitle:"Track your deposit progress"}};function es({visible:e,onClose:t,externalUserId:o,publishableKey:i,modalTitle:r="Deposit",destinationTokenSymbol:a,recipientAddress:d,destinationChainType:l,destinationChainId:c,destinationTokenAddress:h,defaultChainType:x,defaultChainId:L,defaultTokenAddress:D,hideDepositTracker:p=false,transferInputVariant:s="double_input",onDepositSuccess:n,onDepositError:k}){let{colors:F,fonts:z}=A(),[b,S]=react.useState([]),[O,f]=react.useState(false),[se,X]=react.useState(false),[Z,fe]=react.useState(false),[P,xe]=react.useState(null),[he,Pe]=react.useState("amount"),{isAllowed:Ue,isLoading:Je}=Co(i,e);react.useEffect(()=>{e&&!P&&ao(i).then(xe).catch(console.error);},[e,P,i]);let Le=()=>{t();},Be=b.filter(ye=>ye.status==="pending"||ye.status==="waiting").length,je=Je||e&&!P,Se=Ue===false;return jsxRuntime.jsxs(ae,{visible:e,onClose:Le,closeOnBackdropPress:false,showHandle:false,children:[jsxRuntime.jsx(Me,{title:r,showBack:false,onClose:Le}),je&&jsxRuntime.jsx(reactNative.View,{style:ct.centeredContainer,children:jsxRuntime.jsx(reactNative.ActivityIndicator,{size:"large",color:F.primary})}),!je&&Se&&jsxRuntime.jsxs(reactNative.View,{style:ct.centeredContainer,children:[jsxRuntime.jsx(reactNative.View,{style:[ct.iconContainer,{backgroundColor:F.cardHover}],children:jsxRuntime.jsx(Ro,{size:32,color:F.foreground,strokeWidth:1.5})}),jsxRuntime.jsx(reactNative.Text,{style:[ct.blockedTitle,{color:F.foreground,fontFamily:z.semibold}],children:"No Tokens Available"}),jsxRuntime.jsx(reactNative.Text,{style:[ct.blockedDescription,{color:F.foreground,opacity:.7,fontFamily:z.regular}],children:"There are no supported tokens available from your current location."})]}),!je&&!Se&&jsxRuntime.jsxs(reactNative.View,{style:ct.optionsContainer,children:[jsxRuntime.jsx(co,{onPress:()=>X(true),title:At.transferCrypto.title,subtitle:At.transferCrypto.subtitle,featuredTokens:P?.transfer_crypto?.networks}),jsxRuntime.jsx(po,{onPress:()=>fe(true),title:At.depositWithCard.title,subtitle:At.depositWithCard.subtitle,paymentNetworks:P?.payment_networks?.networks}),!p&&jsxRuntime.jsx(go,{onPress:()=>f(true),title:At.depositTracker.title,subtitle:At.depositTracker.subtitle,badge:Be>0?Be:void 0})]}),jsxRuntime.jsx(Qo,{visible:O,onClose:()=>f(false),executions:b,externalUserId:o,publishableKey:i}),jsxRuntime.jsxs(ae,{visible:se,onClose:()=>X(false),closeOnBackdropPress:false,showHandle:false,heightPercent:.9,children:[jsxRuntime.jsx(Me,{title:At.transferCrypto.title,showBack:false,onClose:()=>X(false)}),jsxRuntime.jsx(reactNative.ScrollView,{style:ct.transferScrollContainer,contentContainerStyle:ct.scrollContent,showsVerticalScrollIndicator:false,children:s==="single_input"?jsxRuntime.jsx(vr,{externalUserId:o,publishableKey:i,recipientAddress:d,destinationChainType:l,destinationChainId:c,destinationTokenAddress:h,destinationTokenSymbol:a,defaultChainType:x,defaultChainId:L,defaultTokenAddress:D,onExecutionsChange:S,onDepositSuccess:n,onDepositError:k}):jsxRuntime.jsx(Eo,{externalUserId:o,publishableKey:i,recipientAddress:d,destinationChainType:l,destinationChainId:c,destinationTokenAddress:h,destinationTokenSymbol:a,defaultChainType:x,defaultChainId:L,defaultTokenAddress:D,onExecutionsChange:S,onDepositSuccess:n,onDepositError:k})})]}),jsxRuntime.jsxs(ae,{visible:Z,onClose:()=>{fe(false),Pe("amount");},closeOnBackdropPress:false,showHandle:false,heightPercent:.9,children:[jsxRuntime.jsx(Me,{title:`Deposit ${a||"USDC"}`,showBack:he==="onramp",onBack:()=>Pe("amount"),onClose:()=>{fe(false),Pe("amount");}}),jsxRuntime.jsx(reactNative.View,{style:ct.buyWithCardContainer,children:jsxRuntime.jsx(Uo,{externalUserId:o,publishableKey:i,destinationTokenSymbol:a,recipientAddress:d,destinationChainType:l,destinationChainId:c,destinationTokenAddress:h,onDepositSuccess:n,onDepositError:k,view:he,onViewChange:ye=>Pe(ye)})})]})]})}function Xo({theme:e="auto",...t}){return jsxRuntime.jsx(es,{...t})}var ct=reactNative.StyleSheet.create({optionsContainer:{paddingTop:8,paddingBottom:24,gap:8},transferScrollContainer:{flex:1},scrollContent:{paddingBottom:24},buyWithCardContainer:{flex:1},centeredContainer:{alignItems:"center",justifyContent:"center",paddingVertical:48,paddingHorizontal:16,minHeight:200},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}});reactNative.StyleSheet.create({base:{flexDirection:"row",alignItems:"center",justifyContent:"center",borderRadius:12,gap:8},text:{fontWeight:"600",textAlign:"center"},fullWidth:{width:"100%"},disabled:{opacity:.5}});reactNative.StyleSheet.create({icon:{backgroundColor:"transparent"}});var ds=()=>new reactQuery.QueryClient({defaultOptions:{queries:{staleTime:6e4,retry:1}}}),xn=react.createContext(null);function us({children:e,publishableKey:t,config:o}){let[i]=react.useState(()=>ds()),[r,a]=react.useState(false),[d,l]=react.useState(null),c=reactNative.useColorScheme(),h=react.useRef(false);h.current||(_o({publishableKey:t}),h.current=true);let x=react.useMemo(()=>{let z=o?.appearance||"dark";return z==="auto"?c==="dark"?"dark":"light":z},[o?.appearance,c]);react.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.'),_o({publishableKey:t});},[t]);let L=react.useRef(null),D=react.useRef(null),p=react.useCallback(z=>{D.current&&(clearTimeout(D.current),D.current=null),L.current&&(console.warn("[UnifoldProvider] A deposit is already in progress. Cancelling previous deposit."),L.current.reject({message:"Deposit cancelled - new deposit started",code:"DEPOSIT_SUPERSEDED"}),L.current=null);let b=new Promise((S,O)=>{L.current={resolve:S,reject:O};});return l(z),a(true),b},[]),s=react.useCallback(()=>{L.current&&(L.current.reject({message:"Deposit cancelled by user",code:"DEPOSIT_CANCELLED"}),L.current=null),a(false),D.current=setTimeout(()=>{l(null),D.current=null;},200);},[]),n=react.useCallback(z=>{d?.onSuccess&&d.onSuccess(z),L.current&&(L.current.resolve(z),L.current=null);},[d]),k=react.useCallback(z=>{console.error("[UnifoldProvider] Deposit error:",z),d?.onError&&d.onError(z),L.current&&(L.current.reject(z),L.current=null);},[d]),F=react.useMemo(()=>({publishableKey:t,beginDeposit:p,closeDeposit:s}),[t,p,s]);return jsxRuntime.jsx(reactQuery.QueryClientProvider,{client:i,children:jsxRuntime.jsx(xn.Provider,{value:F,children:jsxRuntime.jsxs(To,{mode:x,accentColor:o?.accentColor,theme:o?.theme,fontFamily:o?.fontFamily,fonts:o?.fonts,components:o?.components,children:[e,d&&jsxRuntime.jsx(Xo,{visible:r,onClose:s,publishableKey:t,modalTitle:o?.modalTitle,externalUserId:d.externalUserId,destinationChainType:d.destinationChainType,destinationChainId:d.destinationChainId,destinationTokenSymbol:d.destinationTokenSymbol,recipientAddress:d.recipientAddress,destinationTokenAddress:d.destinationTokenAddress,defaultChainType:d.defaultChainType,defaultChainId:d.defaultChainId,defaultTokenAddress:d.defaultTokenAddress,hideDepositTracker:o?.hideDepositTracker,transferInputVariant:o?.transferInputVariant,onDepositSuccess:n,onDepositError:k,theme:x})]})})})}function ps(){let e=react.useContext(xn);if(!e)throw new Error("useUnifold must be used within UnifoldProvider");return e}
2
+ exports.UnifoldProvider=us;exports.setDevApiUrl=Fr;exports.useAllowedCountry=Co;exports.useUnifold=ps;