1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[968],{8489:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(42407).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},42407:(e,t,n)=>{n.d(t,{A:()=>l});var r=n(12115);let a=e=>{let t=e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase());return t.charAt(0).toUpperCase()+t.slice(1)},i=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((e,t,n)=>!!e&&""!==e.trim()&&n.indexOf(e)===t).join(" ").trim()};var s={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let o=(0,r.forwardRef)((e,t)=>{let{color:n="currentColor",size:a=24,strokeWidth:o=2,absoluteStrokeWidth:l,className:d="",children:c,iconNode:u,...p}=e;return(0,r.createElement)("svg",{ref:t,...s,width:a,height:a,stroke:n,strokeWidth:l?24*Number(o)/Number(a):o,className:i("lucide",d),...!c&&!(e=>{for(let t in e)if(t.startsWith("aria-")||"role"===t||"title"===t)return!0})(p)&&{"aria-hidden":"true"},...p},[...u.map(e=>{let[t,n]=e;return(0,r.createElement)(t,n)}),...Array.isArray(c)?c:[c]])}),l=(e,t)=>{let n=(0,r.forwardRef)((n,s)=>{let{className:l,...d}=n;return(0,r.createElement)(o,{ref:s,iconNode:t,className:i("lucide-".concat(a(e).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()),"lucide-".concat(e),l),...d})});return n.displayName=a(e),n}},43792:(e,t,n)=>{n.r(t),n.d(t,{AwaitingSolToEvmBridgingScreen:()=>x,default:()=>x});var r=n(95155),a=n(6956),i=n(12115),s=n(80319),o=n(21899),l=n(83361),d=n(35595),c=n(83288),u=n(24902),p=n(95204),h=n(56130),g=n(16189),f=n(48075),m=n(87008),v=n(61976),w=n(55483),b=n(38479),y=n(83949),I=n(47132),C=n(83699);n(50205),n(92253),n(68463);let x={component:function(){let e=(0,h.u)(),{closePrivyModal:t,createAnalyticsEvent:n,connectors:x}=(0,g.u)(),{navigate:S,setModalData:N,data:A}=(0,m.a)(),T=(0,h.u)(),E=(0,i.useRef)(!1),$=(0,b.u)(),[j,F]=(0,i.useState)(!1),[U,k]=(0,i.useState)(!1),[B,z]=(0,i.useState)(null),[R,W]=(0,i.useState)(),[L,_]=(0,i.useState)();if(!A?.funding||"ethereum"!==A.funding.chainType)throw Error("Invalid funding data");let{amount:D,connectedWallet:M,chain:O,solanaChain:P,isUSDC:q}=A.funding,H=A.funding.address,Q=A.funding.erc20Address,Z=A.funding.isUSDC?"USDC":O.nativeCurrency.symbol,V=(0,i.useMemo)(()=>"solana"===M?.type?M.provider:function({connectors:e,connectedWalletAddress:t}){let n=e.find(e=>"solana"===e.chainType&&e.wallets.some(e=>e.address===t)),r=n?.wallet.accounts.find(e=>e.address===t);if(!n||!r)throw new g.a("Unable to find source wallet connector");return new o.W({wallet:n.wallet,account:r})}({connectors:x,connectedWalletAddress:M?.address||""}),[M,x]),Y=(0,i.useMemo)(()=>{let t=$(y.S);if(!t)throw new g.a("Unable to load solana plugin");let n=e.solanaRpcs["solana:mainnet"];if(!n)throw new g.a("Unable to load mainnet RPC");return t.getSolanaRpcClient({rpc:n.rpc,rpcSubscriptions:n.rpcSubscriptions,chain:"solana:mainnet",blockExplorerUrl:n.blockExplorerUrl??"https://explorer.solana.com"})},[]),G=(0,f.Q)((0,C.t)(V?.standardWallet.name||"unknown")),J=G?.name||"wallet";return(0,i.useEffect)(()=>{(async function(){if(!V||!O||E.current)return;let e=$(y.S);if(!e)return void z(new g.a("Unable to solana plugin"));E.current=!0,O?.testnet&&console.warn("Solana testnets are not supported for bridging");let t=q?1e6*parseFloat(D):(0,s.g)(D),n=await (0,w.g)({isTestnet:!!O.testnet,input:(0,w.t)({appId:T.id,amount:t.toString(),user:V.address,recipient:H,destinationChainId:O.id,originChainId:w.b,originCurrency:q?w.d:w.a,destinationCurrency:q?Q:void 0})}).catch(console.error);if(!n)return void z(new g.a(`Unable to fetch quotes for bridging. Wallet ${(0,f.a6)(V.address)} does not have enough funds.`,void 0,g.b.INSUFFICIENT_BALANCE));let r=await e.createTransactionFromRelayQuote({quote:n,source:V.address,solanaClient:Y});if(r)try{F(!0);let t=await e.simulateTransaction({solanaClient:Y,tx:r});if(t.hasError)return t.hasFunds?(console.error("Transaction failed:",t.error),void z(new g.a("Something went wrong",void 0,g.b.TRANSACTION_FAILURE))):void z(new g.a(`Wallet ${(0,f.a6)(V?.address)} does not have enough funds. ${n.details.currencyIn.amountFormatted} ${Z} are needed to complete the transaction.`,void 0,g.b.INSUFFICIENT_BALANCE));let{signature:a}=await V.signAndSendTransaction({chain:"solana:mainnet",transaction:r}),i=e.getAddressFromBuffer(a);W(i),_("pending")}catch(e){if(console.error(e),/user rejected the request/gi.test(e.message||""))return void z(new g.a("Transaction was rejected by the user",void 0,g.b.TRANSACTION_FAILURE));z(new g.a("Something went wrong",void 0,g.b.TRANSACTION_FAILURE))}else z(new g.a(`Unable to select bridge option from quotes. Wallet ${(0,f.a6)(V.address)} does not have enough funds.`,void 0,g.b.INSUFFICIENT_BALANCE))})().catch(console.error)},[]),(0,w.u)({transactionHash:R,isTestnet:!1,bridgingStatus:L,setBridgingStatus:_,onSuccess({transactionHash:e}){F(!1),k(!0),n({eventName:v.O,payload:{provider:"external",status:"success",txHash:e,address:V.address,chainType:"solana",clusterName:P,token:"SOL",destinationAddress:H,destinationChainId:O.id,destinationChainType:"ethereum",destinationValue:D,destinationToken:q?"USDC":"ETH"}})},onFailure({error:e}){F(!1),z(e)}}),(0,i.useEffect)(()=>
1{if(!U)return;let e=setTimeout(t,h.t);return()=>clearTimeout(e)},[U]),(0,i.useEffect)(()=>{B&&(N({funding:A?.funding,solanaFundingData:A?.solanaFundingData,sendTransaction:A?.sendTransaction,errorModalData:{error:B,previousScreen:"TransferFromWalletScreen"}}),S("ErrorScreen",!1))},[B]),U?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.t,{}),(0,r.jsx)(l.b,{}),(0,r.jsxs)(l.c,{children:[(0,r.jsx)(a.A,{color:"var(--privy-color-success)",width:"64px",height:"64px"}),(0,r.jsx)(c.C,{title:"Success!",description:`Youâve successfully added ${D} ${Z} to your ${T.name} wallet. It may take a minute before the funds are available to use.`})]}),(0,r.jsx)(l.R,{}),(0,r.jsx)(d.B,{})]}):j&&V?(0,r.jsx)(I.T,{walletClientType:(0,C.t)(V?.standardWallet.name||"unknown"),displayName:J,addressToFund:H,isBridging:j,isErc20Flow:!1,chainId:O.id,chainName:O.name,totalPriceInUsd:void 0,totalPriceInNativeCurrency:void 0,gasPriceInUsd:void 0,gasPriceInNativeCurrency:void 0}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(u.t,{}),(0,r.jsx)(p.N,{}),(0,r.jsx)("div",{style:{marginTop:"1rem"}}),(0,r.jsx)(d.B,{})]})}}},80319:(e,t,n)=>{n.d(t,{g:()=>s});var r=n(24895),a=n(39330);class i extends a.C{constructor({value:e}){super(`Number \`${e}\` is not a valid decimal number.`,{name:"InvalidDecimalNumberError"})}}function s(e,t="wei"){return function(e,t){if(!/^(-?)([0-9]*)\.?([0-9]*)$/.test(e))throw new i({value:e});let[n,r="0"]=e.split("."),a=n.startsWith("-");if(a&&(n=n.slice(1)),r=r.replace(/(0+)$/,""),0===t)1===Math.round(Number(`.${r}`))&&(n=`${BigInt(n)+1n}`),r="";else if(r.length>t){let[e,a,i]=[r.slice(0,t-1),r.slice(t-1,t),r.slice(t)],s=Math.round(Number(`${a}.${i}`));(r=s>9?`${BigInt(e)+BigInt(1)}0`.padStart(e.length+1,"0"):`${e}${s}`).length>t&&(r=r.slice(1),n=`${BigInt(n)+1n}`),r=r.slice(0,t)}else r=r.padEnd(t,"0");return BigInt(`${a?"-":""}${n}${r}`)}(e,r.eL[t])}},95204:(e,t,n)=>{n.d(t,{N:()=>i});var r=n(95155),a=n(47561);let i=({size:e,centerIcon:t})=>(0,r.jsx)(s,{$size:e,children:(0,r.jsxs)(o,{children:[(0,r.jsx)(d,{}),(0,r.jsx)(c,{}),t?(0,r.jsx)(l,{children:t}):null]})}),s=a.I4.div` 2 --spinner-size: ${e=>e.$size?e.$size:"96px"}; 3 4 display: inline-flex; 5 justify-content: center; 6 align-items: center; 7 8 @media all and (display-mode: standalone) { 9 margin-bottom: 30px; 10 } 11`,o=a.I4.div` 12 position: relative; 13 height: var(--spinner-size); 14 width: var(--spinner-size); 15 16 opacity: 1; 17 animation: fadein 200ms ease; 18`,l=a.I4.div` 19 position: absolute; 20 top: 0; 21 right: 0; 22 bottom: 0; 23 left: 0; 24 display: flex; 25 align-items: center; 26 justify-content: center; 27 svg, 28 img { 29 width: calc(var(--spinner-size) * 0.4); 30 height: calc(var(--spinner-size) * 0.4); 31 border-radius: var(--privy-border-radius-full); 32 } 33`,d=a.I4.div` 34 position: absolute; 35 top: 0; 36 right: 0; 37 bottom: 0; 38 left: 0; 39 width: var(--spinner-size); 40 height: var(--spinner-size); 41 42 && { 43 border: 4px solid var(--privy-color-border-default); 44 border-radius: 50%; 45 } 46`,c=a.I4.div` 47 position: absolute; 48 top: 0; 49 right: 0; 50 bottom: 0; 51 left: 0; 52 width: var(--spinner-size); 53 height: var(--spinner-size); 54 animation: spin 1200ms linear infinite; 55 56 && { 57 border: 4px solid; 58 border-color: var(--privy-color-icon-subtle) transparent transparent transparent; 59 border-radius: 50%; 60 } 61 62 @keyframes spin { 63 from { 64 transform: rotate(0deg); 65 } 66 to { 67 transform: rotate(360deg); 68 } 69 } 70`}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.