1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1734],{51933:(e,t,a)=>{a(2657)},71734:(e,t,a)=>{a.r(t),a.d(t,{W3mPayLoadingView:()=>er,W3mPayView:()=>Z,arbitrumUSDC:()=>eg,arbitrumUSDT:()=>eb,baseETH:()=>ed,baseSepoliaETH:()=>ey,baseUSDC:()=>ep,ethereumUSDC:()=>ew,ethereumUSDT:()=>eP,getExchanges:()=>eo,getIsPaymentInProgress:()=>eu,getPayError:()=>el,getPayResult:()=>ec,openPay:()=>es,optimismUSDC:()=>eh,optimismUSDT:()=>eE,pay:()=>ei,polygonUSDC:()=>ef,polygonUSDT:()=>eI,solanaUSDC:()=>ex,solanaUSDT:()=>eS});var n=a(22707),r=a(71877),s=a(43957),i=a(35728),o=a(12890),c=a(88950),l=a(85934),u=a(72317),m=a(2767),d=a(21438);a(2080),a(21995),a(44949),a(59493),a(60612),a(51933),a(37533),a(26616),a(38266),a(8633),a(97039),a(97437);var p=a(42649),y=a(65501),w=a(34907),h=a(77085),g=a(77424),f=a(6792),x=a(83605);let P="INVALID_PAYMENT_CONFIG",E="INVALID_RECIPIENT",b="INVALID_ASSET",I="INVALID_AMOUNT",S="UNABLE_TO_INITIATE_PAYMENT",v="INVALID_CHAIN_NAMESPACE",A="GENERIC_PAYMENT_ERROR",C="UNABLE_TO_GET_EXCHANGES",k="ASSET_NOT_SUPPORTED",N="UNABLE_TO_GET_PAY_URL",U="UNABLE_TO_GET_BUY_STATUS",T={[P]:"Invalid payment configuration",[E]:"Invalid recipient address",[b]:"Invalid asset specified",[I]:"Invalid payment amount",UNKNOWN_ERROR:"Unknown payment error occurred",[S]:"Unable to initiate payment",[v]:"Invalid chain namespace",[A]:"Unable to process payment",[C]:"Unable to get exchanges",[k]:"Asset not supported by the selected exchange",[N]:"Unable to get payment URL",[U]:"Unable to get buy status"};class D extends Error{get message(){return T[this.code]}constructor(e,t){super(T[e]),this.name="AppKitPayError",this.code=e,this.details=t,Error.captureStackTrace&&Error.captureStackTrace(this,D)}}var _=a(16285);class R extends Error{}async function W(e,t){let a,n=(a=_.H.getSnapshot().projectId,`https://rpc.walletconnect.org/v1/json-rpc?projectId=${a}`),r=await fetch(n,{method:"POST",body:JSON.stringify({jsonrpc:"2.0",id:1,method:e,params:t}),headers:{"Content-Type":"application/json"}}),s=await r.json();if(s.error)throw new R(s.error.message);return s}async function $(e){return(await W("reown_getExchanges",e)).result}async function O(e){return(await W("reown_getExchangePayUrl",e)).result}async function M(e){return(await W("reown_getExchangeBuyStatus",e)).result}let L=["eip155","solana"],q={eip155:{native:{assetNamespace:"slip44",assetReference:"60"},defaultTokenNamespace:"erc20"},solana:{native:{assetNamespace:"slip44",assetReference:"501"},defaultTokenNamespace:"token"}};function F(e,t){let{chainNamespace:a,chainId:n}=h.C.parseCaipNetworkId(e),r=q[a];if(!r)throw Error(`Unsupported chain namespace for CAIP-19 formatting: ${a}`);let s=r.native.assetNamespace,i=r.native.assetReference;"native"!==t&&(s=r.defaultTokenNamespace,i=t);let o=`${a}:${n}`;return`${o}/${s}:${i}`}var H=a(77709);async function Y(e){let{paymentAssetNetwork:t,activeCaipNetwork:a,approvedCaipNetworkIds:n,requestedCaipNetworks:r}=e,s=l.w.sortRequestedNetworks(n,r).find(e=>e.caipNetworkId===t);if(!s)throw new D(P);if(s.caipNetworkId===a.caipNetworkId)return;let i=o.W.getNetworkProp("supportsAllNetworks",s.chainNamespace);if(!(n?.includes(s.caipNetworkId)||i))throw new D(P);try{await o.W.switchActiveNetwork(s)}catch(e){throw new D(A,e)}}async function B(e,t,a){if(t!==w.o.CHAIN.EVM)throw new D(v);if(!a.fromAddress)throw new D(P,"fromAddress is required for native EVM payments.");let n="string"==typeof a.amount?parseFloat(a.amount):a.amount;if(isNaN(n))throw new D(P);let r=e.metadata?.decimals??18,s=m.x.parseUnits(n.toString(),r);if("bigint"!=typeof s)throw new D(A);return await m.x.sendTransaction({chainNamespace:t,to:a.recipient,address:a.fromAddress,value:s,data:"0x"})??void 0}async function G(e,t){if(!t.fromAddress)throw new D(P,"fromAddress is required for ERC20 EVM payments.");let a=e.asset,n=t.recipient,r=Number(e.metadata.decimals),s=m.x.parseUnits(t.amount.toString(),r);if(void 0===s)throw new D(A);return await m.x.writeContract({fromAddress:t.fromAddress,tokenAddress:a,args:[n,s],method:"transfer",abi:H.v.getERC20Abi(a),chainNamespace:w.o.CHAIN.EVM})??void 0}async function V(e,t){if(e!==w.o.CHAIN.SOLANA)throw new D(v);if(!t.fromAddress)throw new D(P,"fromAddress is required for Solana payments.");let a="string"==typeof t.amount?parseFloat(t.amount):t.amount;if(isNaN(a)||a<=0)throw new D(P,"Invalid payment amount.");try{if(!x.A.getProvider(e))throw new D(A,"No Solana provider available.");let n=await m.x.sendTransaction({chainNamespace:w.o.CHAIN.SOLANA,to:t.recipient,value:a,tokenMint:t.tokenMint});if(!n)throw new D(A,"Transaction failed.");return n}catch(e){if(e instanceof D)throw e;throw new D(A,`Solana payment failed: ${e}`)}}let j="unknown",z=(0,p.BX)({paymentAsset:{network:"eip155:1",asset:"0x0",metadata:{name:"0x0",symbol:"0x0",decimals:0}},recipient:"0x0",amount:0,isConfigured:!1,error:null,isPaymentInProgress:!1,exchanges:[],isLoading:!1,openInNewTab:!0,redirectUrl:void 0,payWithExchange:void 0,currentPayment:void 0,analyticsSet:!1,paymentId:void 0}),K={state:z,subscribe:e=>(0,p.B1)(z,()=>e(z)),subscribeKey:(e,t)=>(0,y.u$)(z,e,t),async handleOpenPay(e){this.resetState(),this.setPaymentConfig(e),this.subscribeEvents(),this.initializeAnalytics(),z.isConfigured=!0,g.E.sendEvent({type:"track",event:"PAY_MODAL_OPEN",properties:{exchanges:z.exchanges,configuration:{network:z.paymentAsset.network,asset:z.paymentAsset.asset,recipient:z.recipient,amount:z.amount}}}),await c.W.open({view:"Pay"})},resetState(){z.paymentAsset={network:"eip155:1",asset:"0x0",metadata:{name:"0x0",symbol:"0x0",decimals:0}},z.recipient="0x0",z.amount=0,z.isConfigured=!1,z.error=null,z.isPaymentInProgress=!1,z.isLoading=!1,z.currentPayment=void 0},setPaymentConfig(e){if(!e.paymentAsset)throw new D(P);try{z.paymentAsset=e.paymentAsset,z.recipient=e.recipient,z.amount=e.amount,z.openInNewTab=e.openInNewTab??!0,z.redirectUrl=e.redirectUrl,z.payWithExchange=e.payWithExchange,z.error=null}catch(e){throw new D(P,e.message)}},getPaymentAsset:()=>
1z.paymentAsset,getExchanges:()=>z.exchanges,async fetchExchanges(){try{z.isLoading=!0;let e=await $({page:0,asset:F(z.paymentAsset.network,z.paymentAsset.asset),amount:z.amount.toString()});z.exchanges=e.exchanges.slice(0,2)}catch(e){throw u.P.showError(T.UNABLE_TO_GET_EXCHANGES),new D(C)}finally{z.isLoading=!1}},async getAvailableExchanges(e){try{let t=e?.asset&&e?.network?F(e.network,e.asset):void 0;return await $({page:e?.page??0,asset:t,amount:e?.amount?.toString()})}catch(e){throw new D(C)}},async getPayUrl(e,t,a=!1){try{let n=Number(t.amount),r=await O({exchangeId:e,asset:F(t.network,t.asset),amount:n.toString(),recipient:`${t.network}:${t.recipient}`});return g.E.sendEvent({type:"track",event:"PAY_EXCHANGE_SELECTED",properties:{exchange:{id:e},configuration:{network:t.network,asset:t.asset,recipient:t.recipient,amount:n},currentPayment:{type:"exchange",exchangeId:e},headless:a}}),a&&(this.initiatePayment(),g.E.sendEvent({type:"track",event:"PAY_INITIATED",properties:{paymentId:z.paymentId||j,configuration:{network:t.network,asset:t.asset,recipient:t.recipient,amount:n},currentPayment:{type:"exchange",exchangeId:e}}})),r}catch(e){if(e instanceof Error&&e.message.includes("is not supported"))throw new D(k);throw Error(e.message)}},async openPayUrl(e,t,a=!1){try{let n=await this.getPayUrl(e.exchangeId,t,a);if(!n)throw new D(N);let r=e.openInNewTab??!0;return l.w.openHref(n.url,r?"_blank":"_self"),n}catch(e){throw e instanceof D?z.error=e.message:z.error=T.GENERIC_PAYMENT_ERROR,new D(N)}},subscribeEvents(){z.isConfigured||(m.x.subscribeKey("connections",e=>{e.size>0&&this.handlePayment()}),i.U.subscribeKey("caipAddress",e=>{let t=m.x.hasAnyConnection(w.o.CONNECTOR_ID.WALLET_CONNECT);e&&(t?setTimeout(()=>{this.handlePayment()},100):this.handlePayment())}))},async handlePayment(){z.currentPayment={type:"wallet",status:"IN_PROGRESS"};let e=i.U.state.caipAddress;if(!e)return;let{chainId:t,address:a}=h.C.parseCaipAddress(e),n=o.W.state.activeChain;if(!a||!t||!n||!x.A.getProvider(n))return;let r=o.W.state.activeCaipNetwork;if(r&&!z.isPaymentInProgress)try{this.initiatePayment();let e=o.W.getAllRequestedCaipNetworks(),t=o.W.getAllApprovedCaipNetworkIds();switch(await Y({paymentAssetNetwork:z.paymentAsset.network,activeCaipNetwork:r,approvedCaipNetworkIds:t,requestedCaipNetworks:e}),await c.W.open({view:"PayLoading"}),n){case w.o.CHAIN.EVM:"native"===z.paymentAsset.asset&&(z.currentPayment.result=await B(z.paymentAsset,n,{recipient:z.recipient,amount:z.amount,fromAddress:a})),z.paymentAsset.asset.startsWith("0x")&&(z.currentPayment.result=await G(z.paymentAsset,{recipient:z.recipient,amount:z.amount,fromAddress:a})),z.currentPayment.status="SUCCESS";break;case w.o.CHAIN.SOLANA:z.currentPayment.result=await V(n,{recipient:z.recipient,amount:z.amount,fromAddress:a,tokenMint:"native"===z.paymentAsset.asset?void 0:z.paymentAsset.asset}),z.currentPayment.status="SUCCESS";break;default:throw new D(v)}}catch(e){e instanceof D?z.error=e.message:z.error=T.GENERIC_PAYMENT_ERROR,z.currentPayment.status="FAILED",u.P.showError(z.error)}finally{z.isPaymentInProgress=!1}},getExchangeById:e=>z.exchanges.find(t=>t.id===e),validatePayConfig(e){let{paymentAsset:t,recipient:a,amount:n}=e;if(!t)throw new D(P);if(!a)throw new D(E);if(!t.asset)throw new D(b);if(null==n||n<=0)throw new D(I)},handlePayWithWallet(){let e=i.U.state.caipAddress;if(!e)return void f.I.push("Connect");let{chainId:t,address:a}=h.C.parseCaipAddress(e),n=o.W.state.activeChain;a&&t&&n?this.handlePayment():f.I.push("Connect")},async handlePayWithExchange(e){try{z.currentPayment={type:"exchange",exchangeId:e};let{network:t,asset:a}=z.paymentAsset,n={network:t,asset:a,amount:z.amount,recipient:z.recipient},r=await this.getPayUrl(e,n);if(!r)throw new D(S);return z.currentPayment.sessionId=r.sessionId,z.currentPayment.status="IN_PROGRESS",z.currentPayment.exchangeId=e,this.initiatePayment(),{url:r.url,openInNewTab:z.openInNewTab}}catch(e){return e instanceof D?z.error=e.message:z.error=T.GENERIC_PAYMENT_ERROR,z.isPaymentInProgress=!1,u.P.showError(z.error),null}},async getBuyStatus(e,t){try{let a=await M({sessionId:t,exchangeId:e});return("SUCCESS"===a.status||"FAILED"===a.status)&&g.E.sendEvent({type:"track",event:"SUCCESS"===a.status?"PAY_SUCCESS":"PAY_ERROR",properties:{paymentId:z.paymentId||j,configuration:{network:z.paymentAsset.network,asset:z.paymentAsset.asset,recipient:z.recipient,amount:z.amount},currentPayment:{type:"exchange",exchangeId:z.currentPayment?.exchangeId,sessionId:z.currentPayment?.sessionId,result:a.txHash}}}),a}catch(e){throw new D(U)}},async updateBuyStatus(e,t){try{let a=await this.getBuyStatus(e,t);z.currentPayment&&(z.currentPayment.status=a.status,z.currentPayment.result=a.txHash),("SUCCESS"===a.status||"FAILED"===a.status)&&(z.isPaymentInProgress=!1)}catch(e){throw new D(U)}},initiatePayment(){z.isPaymentInProgress=!0,z.paymentId=crypto.randomUUID()},initializeAnalytics(){z.analyticsSet||(z.analyticsSet=!0,this.subscribeKey("isPaymentInProgress",e=>{if(z.currentPayment?.status&&"UNKNOWN"!==z.currentPayment.status){let e={IN_PROGRESS:"PAY_INITIATED",SUCCESS:"PAY_SUCCESS",FAILED:"PAY_ERROR"}[z.currentPayment.status];g.E.sendEvent({type:"track",event:e,properties:{paymentId:z.paymentId||j,configuration:{network:z.paymentAsset.network,asset:z.paymentAsset.asset,recipient:z.recipient,amount:z.amount},currentPayment:{type:z.currentPayment.type,exchangeId:z.currentPayment.exchangeId,sessionId:z.currentPayment.sessionId,result:z.currentPayment.result}}})}}))}},J=(0,n.AH)` 2 wui-separator { 3 margin: var(--wui-spacing-m) calc(var(--wui-spacing-m) * -1) var(--wui-spacing-xs) 4 calc(var(--wui-spacing-m) * -1); 5 width: calc(100% + var(--wui-spacing-s) * 2); 6 } 7 8 .token-display { 9 padding: var(--wui-spacing-s) var(--wui-spacing-m); 10 border-radius: var(--wui-border-radius-s); 11 background-color: var(--wui-color-bg-125); 12 margin-top: var(--wui-spacing-s); 13 margin-bottom: var(--wui-spacing-s); 14 } 15 16 .token-display wui-text { 17 text-transform: none; 18 } 19 20 wui-loading-spinner { 21 padding: var(--wui-spacing-xs); 22 } 23`;var X=function(e,t,a,n){var r,s=arguments.length,i=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,a):n;
23if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i);return s>3&&i&&Object.defineProperty(t,a,i),i};let Z=class extends n.WF{constructor(){super(),this.unsubscribe=[],this.amount="",this.tokenSymbol="",this.networkName="",this.exchanges=K.state.exchanges,this.isLoading=K.state.isLoading,this.loadingExchangeId=null,this.connectedWalletInfo=i.U.state.connectedWalletInfo,this.initializePaymentDetails(),this.unsubscribe.push(K.subscribeKey("exchanges",e=>this.exchanges=e)),this.unsubscribe.push(K.subscribeKey("isLoading",e=>this.isLoading=e)),this.unsubscribe.push(i.U.subscribe(e=>this.connectedWalletInfo=e.connectedWalletInfo)),K.fetchExchanges()}get isWalletConnected(){return"connected"===i.U.state.status}render(){return(0,n.qy)` 24 <wui-flex flexDirection="column"> 25 <wui-flex flexDirection="column" .padding=${["0","l","l","l"]} gap="s"> 26 ${this.renderPaymentHeader()} 27 28 <wui-flex flexDirection="column" gap="s"> 29 ${this.renderPayWithWallet()} ${this.renderExchangeOptions()} 30 </wui-flex> 31 </wui-flex> 32 </wui-flex> 33 `}initializePaymentDetails(){let e=K.getPaymentAsset();this.networkName=e.network,this.tokenSymbol=e.metadata.symbol,this.amount=K.state.amount.toString()}renderPayWithWallet(){return!function(e){let{chainNamespace:t}=h.C.parseCaipNetworkId(e);return L.includes(t)}(this.networkName)?(0,n.qy)``:(0,n.qy)`<wui-flex flexDirection="column" gap="s"> 34 ${this.isWalletConnected?this.renderConnectedView():this.renderDisconnectedView()} 35 </wui-flex> 36 <wui-separator text="or"></wui-separator>`}renderPaymentHeader(){let e=this.networkName;if(this.networkName){let t=o.W.getAllRequestedCaipNetworks().find(e=>e.caipNetworkId===this.networkName);t&&(e=t.name)}return(0,n.qy)` 37 <wui-flex flexDirection="column" alignItems="center"> 38 <wui-flex alignItems="center" gap="xs"> 39 <wui-text variant="large-700" color="fg-100">${this.amount||"0.0000"}</wui-text> 40 <wui-flex class="token-display" alignItems="center" gap="xxs"> 41 <wui-text variant="paragraph-600" color="fg-100"> 42 ${this.tokenSymbol||"Unknown Asset"} 43 </wui-text> 44 ${e?(0,n.qy)` 45 <wui-text variant="small-500" color="fg-200"> on ${e} </wui-text> 46 `:""} 47 </wui-flex> 48 </wui-flex> 49 </wui-flex> 50 `}renderConnectedView(){let e=this.connectedWalletInfo?.name||"connected wallet";return(0,n.qy)` 51 <wui-list-item 52 @click=${this.onWalletPayment} 53 ?chevron=${!0} 54 data-testid="wallet-payment-option" 55 > 56 <wui-flex alignItems="center" gap="s"> 57 <wui-wallet-image 58 size="sm" 59 imageSrc=${(0,s.J)(this.connectedWalletInfo?.icon)} 60 name=${(0,s.J)(this.connectedWalletInfo?.name)} 61 ></wui-wallet-image> 62 <wui-text variant="paragraph-500" color="inherit">Pay with ${e}</wui-text> 63 </wui-flex> 64 </wui-list-item> 65 66 <wui-list-item 67 variant="icon" 68 iconVariant="overlay" 69 icon="disconnect" 70 @click=${this.onDisconnect} 71 data-testid="disconnect-button" 72 ?chevron=${!1} 73 > 74 <wui-text variant="paragraph-500" color="fg-200">Disconnect</wui-text> 75 </wui-list-item> 76 `}renderDisconnectedView(){return(0,n.qy)`<wui-list-item 77 variant="icon" 78 iconVariant="overlay" 79 icon="walletPlaceholder" 80 @click=${this.onWalletPayment} 81 ?chevron=${!0} 82 data-testid="wallet-payment-option" 83 > 84 <wui-text variant="paragraph-500" color="inherit">Pay from wallet</wui-text> 85 </wui-list-item>`}renderExchangeOptions(){return this.isLoading?(0,n.qy)`<wui-flex justifyContent="center" alignItems="center"> 86 <wui-spinner size="md"></wui-spinner> 87 </wui-flex>`:0===this.exchanges.length?(0,n.qy)`<wui-flex justifyContent="center" alignItems="center"> 88 <wui-text variant="paragraph-500" color="fg-100">No exchanges available</wui-text> 89 </wui-flex>`:this.exchanges.map(e=>(0,n.qy)` 90 <wui-list-item 91 @click=${()=>this.onExchangePayment(e.id)}
92 data-testid="exchange-option-${e.id}" 93 ?chevron=${!0} 94 ?disabled=${null!==this.loadingExchangeId} 95 > 96 <wui-flex alignItems="center" gap="s"> 97 ${this.loadingExchangeId===e.id?(0,n.qy)`<wui-loading-spinner color="accent-100" size="md"></wui-loading-spinner>`:(0,n.qy)`<wui-wallet-image 98 size="sm" 99 imageSrc=${(0,s.J)(e.imageUrl)} 100 name=${e.name} 101 ></wui-wallet-image>`} 102 <wui-text flexGrow="1" variant="paragraph-500" color="inherit" 103 >Pay with ${e.name} <wui-spinner size="sm" color="fg-200"></wui-spinner 104 ></wui-text> 105 </wui-flex> 106 </wui-list-item> 107 `)}onWalletPayment(){K.handlePayWithWallet()}async onExchangePayment(e){try{this.loadingExchangeId=e;let t=await K.handlePayWithExchange(e);t&&(await c.W.open({view:"PayLoading"}),l.w.openHref(t.url,t.openInNewTab?"_blank":"_self"))}catch(e){console.error("Failed to pay with exchange",e),u.P.showError("Failed to pay with exchange")}finally{this.loadingExchangeId=null}}async onDisconnect(e){e.stopPropagation();try{await m.x.disconnect()}catch{console.error("Failed to disconnect"),u.P.showError("Failed to disconnect")}}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}};Z.styles=J,X([(0,r.wk)()],Z.prototype,"amount",void 0),X([(0,r.wk)()],Z.prototype,"tokenSymbol",void 0),X([(0,r.wk)()],Z.prototype,"networkName",void 0),X([(0,r.wk)()],Z.prototype,"exchanges",void 0),X([(0,r.wk)()],Z.prototype,"isLoading",void 0),X([(0,r.wk)()],Z.prototype,"loadingExchangeId",void 0),X([(0,r.wk)()],Z.prototype,"connectedWalletInfo",void 0),Z=X([(0,d.EM)("w3m-pay-view")],Z);var Q=a(9886),ee=a(15176),et=a(4555);a(48088);let ea=(0,n.AH)` 108 :host { 109 display: block; 110 height: 100%; 111 width: 100%; 112 } 113 114 wui-flex:first-child:not(:only-child) { 115 position: relative; 116 } 117 118 wui-loading-thumbnail { 119 position: absolute; 120 } 121`;var en=function(e,t,a,n){var r,s=arguments.length,i=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,a):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,a,n);else for(var o=e.length-1;o>=0;o--)(r=e[o])&&(i=(s<3?r(i):s>3?r(t,a,i):r(t,a))||i);return s>3&&i&&Object.defineProperty(t,a,i),i};let er=class extends n.WF{constructor(){super(),this.loadingMessage="",this.subMessage="",this.paymentState="in-progress",this.paymentState=K.state.isPaymentInProgress?"in-progress":"completed",this.updateMessages(),this.setupSubscription(),this.setupExchangeSubscription()}disconnectedCallback(){clearInterval(this.exchangeSubscription)}render(){return(0,n.qy)` 122 <wui-flex 123 flexDirection="column" 124 alignItems="center" 125 .padding=${["xl","xl","xl","xl"]} 126 gap="xl" 127 > 128 <wui-flex justifyContent="center" alignItems="center"> ${this.getStateIcon()} </wui-flex> 129 <wui-flex flexDirection="column" alignItems="center" gap="xs"> 130 <wui-text align="center" variant="paragraph-500" color="fg-100"> 131 ${this.loadingMessage} 132 </wui-text> 133 <wui-text align="center" variant="small-400" color="fg-200"> 134 ${this.subMessage} 135 </wui-text> 136 </wui-flex> 137 </wui-flex> 138 `}updateMessages(){switch(this.paymentState){case"completed":this.loadingMessage="Payment completed",this.subMessage="Your transaction has been successfully processed";break;case"error":this.loadingMessage="Payment failed",this.subMessage="There was an error processing your transaction";break;default:K.state.currentPayment?.type==="exchange"?(this.loadingMessage="Payment initiated",this.subMessage="Please complete the payment on the exchange"):(this.loadingMessage="Awaiting payment confirmation",this.subMessage="Please confirm the payment transaction in your wallet")}}getStateIcon(){switch(this.paymentState){case"completed":return this.successTemplate();case"error":return this.errorTemplate();default:return this.loaderTemplate()}}setupExchangeSubscription(){K.state.currentPayment?.type==="exchange"&&(this.exchangeSubscription=setInterval(async()=>{let e=K.state.currentPayment?.exchangeId,t=K.state.currentPayment?.sessionId;e&&t&&(await K.updateBuyStatus(e,t),K.state.currentPayment?.status==="SUCCESS"&&clearInterval(this.exchangeSubscription))},4e3))}setupSubscription(){K.subscribeKey("isPaymentInProgress",e=>{e||"in-progress"!==this.paymentState||(K.state.error||!K.state.currentPayment?.result?this.paymentState="error":this.paymentState="completed",this.updateMessages(),setTimeout(()=>{"disconnected"!==m.x.state.status&&c.W.close()},3e3))}),K.subscribeKey("error",e=>{e&&"in-progress"===this.paymentState&&(this.paymentState="error",this.updateMessages())})}loaderTemplate(){let e=Q.W.state.themeVariables["--w3m-border-radius-master"],t=e?parseInt(e.replace("px",""),10):4,a=this.getPaymentIcon();return(0,n.qy)` 139 <wui-flex justifyContent="center" alignItems="center" style="position: relative;"> 140 ${a?(0,n.qy)`<wui-wallet-image size="lg" imageSrc=${a}></wui-wallet-image>`:null} 141 <wui-loading-thumbnail radius=${9*t}></wui-loading-thumbnail> 142 </wui-flex> 143 `}getPaymentIcon(){let e=K.state.currentPayment;if(e){if("exchange"===e.type){let t=e.exchangeId;if(t){let e=K.getExchangeById(t);return e?.imageUrl}}if("wallet"===e.type){let e=i.U.state.connectedWalletInfo?.icon;if(e)return e;let t=o.W.state.activeChain;if(!t)return;let a=ee.a.getConnectorId(t);if(!a)return;let n=ee.a.getConnectorById(a);if(!n)return;return et.$.getConnectorImage(n)}}}successTemplate(){return(0,n.qy)`<wui-icon size="xl" color="success-100" name="checkmark"></wui-icon>`}errorTemplate(){return(0,n.qy)`<wui-icon size="xl" color="error-100" name="close"></wui-icon>`}};async function es(e){return K.handleOpenPay(e)}async function ei(e,t=3e5){if(t<=0)throw new D(P,"Timeout must be greater than 0");try{await es(e)}catch(e){if(e instanceof D)throw e;throw new D(S,e.message)}return new Promise((e,a)=>{var n;let r=!1,s=setTimeout(()=>{r||(r=!0,o(),a(new D(A,"Payment timeout")))},t);function i(){if(r)return;let t=K.state.currentPayment,a=K.state.error,n=K.state.isPaymentInProgress;if(t?.status==="SUCCESS"){r=!0,o(),clearTimeout(s),e({success:!0,result:t.result});return}if(t?.status==="FAILED"){r=!0,o(),clearTimeout(s),e({success:!1,error:a||"Payment failed"});return}!a||n||t||(r=!0,o(),clearTimeout(s),e({success:!1,error:a}))}let o=(n=[em("currentPayment",i),em("error",i),em("isPaymentInProgress",i)],()=>
143{n.forEach(e=>{try{e()}catch{}})});i()})}function eo(){return K.getExchanges()}function ec(){return K.state.currentPayment?.result}function el(){return K.state.error}function eu(){return K.state.isPaymentInProgress}function em(e,t){return K.subscribeKey(e,t)}er.styles=ea,en([(0,r.wk)()],er.prototype,"loadingMessage",void 0),en([(0,r.wk)()],er.prototype,"subMessage",void 0),en([(0,r.wk)()],er.prototype,"paymentState",void 0),er=en([(0,d.EM)("w3m-pay-loading-view")],er);let ed={network:"eip155:8453",asset:"native",metadata:{name:"Ethereum",symbol:"ETH",decimals:18}},ep={network:"eip155:8453",asset:"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},ey={network:"eip155:84532",asset:"native",metadata:{name:"Ethereum",symbol:"ETH",decimals:18}},ew={network:"eip155:1",asset:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},eh={network:"eip155:10",asset:"0x0b2c639c533813f4aa9d7837caf62653d097ff85",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},eg={network:"eip155:42161",asset:"0xaf88d065e77c8cC2239327C5EDb3A432268e5831",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},ef={network:"eip155:137",asset:"0x3c499c542cef5e3811e1192ce70d8cc03d5c3359",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},ex={network:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",asset:"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",metadata:{name:"USD Coin",symbol:"USDC",decimals:6}},eP={network:"eip155:1",asset:"0xdAC17F958D2ee523a2206206994597C13D831ec7",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},eE={network:"eip155:10",asset:"0x94b008aA00579c1307B0EF2c499aD98a8ce58e58",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},eb={network:"eip155:42161",asset:"0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},eI={network:"eip155:137",asset:"0xc2132d05d31c914a87c6611c10748aeb04b58e8f",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}},eS={network:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",asset:"Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB",metadata:{name:"Tether USD",symbol:"USDT",decimals:6}}}}]);
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.