"use strict";(self.webpackChunkfrog=self.webpackChunkfrog||[]).push([[381],{35748:(e,t,a)=>{a.d(t,{oU:()=>w,vW:()=>k,rL:()=>c,t$:()=>u,TC:()=>A,LX:()=>d,Se:()=>l,Cw:()=>C,Ud:()=>N,Ws:()=>v,T8:()=>y,o_:()=>f,IP:()=>I});var s=a(74353),n=a(65826),o=a(6279),r=a(53581);s.extend(o),s.extend(r);const i={...n,name:"en-web3-modal",relativeTime:{future:"in %s",past:"%s ago",s:"%d sec",m:"1 min",mm:"%d min",h:"1 hr",hh:"%d hrs",d:"1 d",dd:"%d d",M:"1 mo",MM:"%d mo",y:"1 yr",yy:"%d yr"}};s.locale("en-web3-modal",i);const c={getYear:(e=(new Date).toISOString())=>s(e).year(),getRelativeDateFromNow:e=>s(e).locale("en-web3-modal").fromNow(!0),formatDate:(e,t="DD MMM")=>s(e).format(t)},d={caipNetworkIdToNumber:e=>e?Number(e.split(":")[1]):void 0,parseEvmChainId(e){return"string"==typeof e?this.caipNetworkIdToNumber(e):e},getNetworksByNamespace:(e,t)=>e?.filter((e=>e.chainNamespace===t))||[],getFirstNetworkByNamespace(e,t){return this.getNetworksByNamespace(e,t)[0]}};var p=a(60346);const l={bigNumber:e=>new p.g(e),multiply(e,t){if(void 0===e||void 0===t)return p.g(0);const a=new p.g(e),s=new p.g(t);return a.multipliedBy(s)},formatNumberToLocalString:(e,t=2)=>void 0===e?"0.00":"number"==typeof e?e.toLocaleString("en-US",{maximumFractionDigits:t,minimumFractionDigits:t}):parseFloat(e).toLocaleString("en-US",{maximumFractionDigits:t,minimumFractionDigits:t}),parseLocalStringToNumber:e=>void 0===e?0:parseFloat(e.replace(/,/gu,""))},u={numericInputKeyDown(e,t,a){const s=e.metaKey||e.ctrlKey,n=e.key,o=n.toLocaleLowerCase(),r=","===n,i="."===n,c=n>="0"&&n<="9";!s&&("a"===o||"c"===o||"v"===o||"x"===o)&&e.preventDefault(),"0"!==t||r||i||"0"!==n||e.preventDefault(),"0"===t&&c&&(a(n),e.preventDefault()),(r||i)&&(t||(a("0."),e.preventDefault()),(t?.includes(".")||t?.includes(","))&&e.preventDefault()),c||["Backspace","Meta","Ctrl","a","A","c","C","x","X","v","V","ArrowLeft","ArrowRight","Tab"].includes(n)||i||r||e.preventDefault()}},m=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],h=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],g=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],w={WC_NAME_SUFFIX:".reown.id",WC_NAME_SUFFIX_LEGACY:".wcn.id",BLOCKCHAIN_API_RPC_URL:"https://rpc.walletconnect.org",PULSE_API_URL:"https://pulse.walletconnect.org",W3M_API_URL:"https://api.web3modal.org",CONNECTOR_ID:{WALLET_CONNECT:"walletConnect",INJECTED:"injected",WALLET_STANDARD:"announced",COINBASE:"coinbaseWallet",COINBASE_SDK:"coinbaseWalletSDK",SAFE:"safe",LEDGER:"ledger",EIP6963:"eip6963",AUTH:"ID_AUTH"},CONNECTOR_NAMES:{AUTH:"Auth"},AUTH_CONNECTOR_SUPPORTED_CHAINS:["eip155","solana"],LIMITS:{PENDING_TRANSACTIONS:99},CHAIN:{EVM:"eip155",SOLANA:"solana",POLKADOT:"polkadot",BITCOIN:"bip122"},CHAIN_NAME_MAP:{eip155:"Ethereum",solana:"Solana",polkadot:"Polkadot",bip122:"Bitcoin"},USDT_CONTRACT_ADDRESSES:["0xdac17f958d2ee523a2206206994597c13d831ec7","0xc2132d05d31c914a87c6611c10748aeb04b58e8f","0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7","0x919C1c267BC06a7039e03fcc2eF738525769109c","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e","0x55d398326f99059fF775485246999027B3197955","0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"],HTTP_STATUS_CODES:{SERVICE_UNAVAILABLE:503,FORBIDDEN:403},UNSUPPORTED_NETWORK_NAME:"Unknown Network"},k={getERC20Abi:e=>w.USDT_CONTRACT_ADDRESSES.includes(e)?g:m,getSwapAbi:()=>h},A={URLS:{FAQ:"https://walletconnect.com/faq"}};class T{on(e,t){T.eventListeners.has(e)||T.eventListeners.set(e,new Set),T.eventListeners.get(e)?.add(t)}off(e,t){const a=T.eventListeners.get(e);a&&a.delete(t)}emit(e,t){const a=T.eventListeners.get(e);a&&a.forEach((e=>e(t)))}clear(e){T.eventListeners.delete(e)}clearAll(){T.eventListeners.clear()}}T.eventListeners=new Map;const C={validateCaipAddress(e){if(3!==e.split(":")?.length)throw new Error("Invalid CAIP Address");return e},parseCaipAddress(e){const t=e.split(":");if(3!==t.length)throw new Error(`Invalid CAIP-10 address: ${e}`);const[a,s,n]=t;if(!a||!s||!n)throw new Error(`Invalid CAIP-10 address: ${e}`);return{chainNamespace:a,chainId:s,address:n}},parseCaipNetworkId(e){const t=e.split(":");if(2!==t.length)throw new Error(`Invalid CAIP-2 network id: ${e}`);const[a,s]=t;if(!a||!s)throw new Error(`Invalid CAIP-2 network id: ${e}`);return{chainNamespace:a,chainId:s}}},v={WALLET_ID:"@appkit/wallet_id",WALLET_NAME:"@appkit/wallet_name",SOLANA_WALLET:"@appkit/solana_wallet",SOLANA_CAIP_CHAIN:"@appkit/solana_caip_chain",ACTIVE_CAIP_NETWORK_ID:"@appkit/active_caip_network_id",CONNECTED_SOCIAL:"@appkit/connected_social",CONNECTED_SOCIAL_USERNAME:"@appkit-wallet/SOCIAL_USERNAME",RECENT_WALLETS:"@appkit/recent_wallets",DEEPLINK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",ACTIVE_NAMESPACE:"@appkit/active_namespace",CONNECTED_NAMESPACES:"@appkit/connected_namespaces",CONNECTION_STATUS:"@appkit/connection_status",SIWX_AUTH_TOKEN:"@appkit/siwx-auth-token",SIWX_NONCE_TOKEN:"@appkit/siwx-nonce-token"};function y(e){if(!e)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${e}:connected_connector_id`}const N={setItem(e,t){I()&&void 0!==t&&localStorage.setItem(e,t)},getItem(e){if(I())return localStorage.getItem(e)||void 0},removeItem(e){I()&&localStorage.removeItem(e)},clear(){I()&&localStorage.clear()}};function I(){return"undefined"!=typeof window&&"undefined"!=typeof localStorage}function f(e,t){return"light"===t?{"--w3m-accent":e?.["--w3m-accent"]||"hsla(231, 100%, 70%, 1)","--w3m-background":"#fff"}:{"--w3m-accent":e?.["--w3m-accent"]||"hsla(230, 100%, 67%, 1)","--w3m-background":"#121313"}}},87792:(e,t,a)=>{a.d(t,{Uj:()=>o.U,hG:()=>x.h,Np:()=>l.N,jQ:()=>v.j,$m:()=>M.$,TP:()=>u.T,WB:()=>r.W,x4:()=>A.x,aK:()=>T.a,oU:()=>p.oU,wE:()=>P.w,f:()=>L,En:()=>f.E,W3:()=>s.W,aG:()=>k,Hd:()=>N.H,z3:()=>I.z,IN:()=>n.I,UG:()=>F.U,Rv:()=>W,Pt:()=>C.P,iT:()=>j.i,GN:()=>E.GN,Wn:()=>y.W,Ib:()=>B,WC:()=>S.W});var s=a(91273),n=a(96691),o=a(73363),r=a(34985),i=a(71285),c=a(4707),d=a(35748),p=a(75953),l=a(6896),u=a(78770);const m={id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},h={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},g={providers:p.tM,selectedProvider:null,error:null,purchaseCurrency:m,paymentCurrency:h,purchaseCurrencies:[m],paymentCurrencies:[],quotesLoading:!1},w=(0,i.BX)(g),k={state:w,subscribe:e=>(0,i.B1)(w,(()=>e(w))),subscribeKey:(e,t)=>(0,c.u$)(w,e,t),setSelectedProvider(e){if(e&&"meld"===e.name){const t=p.pv,a=r.W.state.activeChain===d.oU.CHAIN.SOLANA?"SOL":"USDC",s=o.U.state.address??"",n=new URL(e.url);n.searchParams.append("publicKey",t),n.searchParams.append("destinationCurrencyCode",a),n.searchParams.append("walletAddress",s),e.url=n.toString()}w.selectedProvider=e},setPurchaseCurrency(e){w.purchaseCurrency=e},setPaymentCurrency(e){w.paymentCurrency=e},setPurchaseAmount(e){this.state.purchaseAmount=e},setPaymentAmount(e){this.state.paymentAmount=e},async getAvailableCurrencies(){const e=await u.T.getOnrampOptions();w.purchaseCurrencies=e.purchaseCurrencies,w.paymentCurrencies=e.paymentCurrencies,w.paymentCurrency=e.paymentCurrencies[0]||h,w.purchaseCurrency=e.purchaseCurrencies[0]||m,await l.N.fetchCurrencyImages(e.paymentCurrencies.map((e=>e.id))),await l.N.fetchTokenImages(e.purchaseCurrencies.map((e=>e.symbol)))},async getQuote(){w.quotesLoading=!0;try{const e=await u.T.getOnrampQuote({purchaseCurrency:w.purchaseCurrency,paymentCurrency:w.paymentCurrency,amount:w.paymentAmount?.toString()||"0",network:w.purchaseCurrency?.symbol});return w.quotesLoading=!1,w.purchaseAmount=Number(e?.purchaseAmount.amount),e}catch(e){return w.error=e.message,w.quotesLoading=!1,null}finally{w.quotesLoading=!1}},resetState(){w.providers=p.tM,w.selectedProvider=null,w.error=null,w.purchaseCurrency=m,w.paymentCurrency=h,w.purchaseCurrencies=[m],w.paymentCurrencies=[],w.paymentAmount=void 0,w.purchaseAmount=void 0,w.quotesLoading=!1}};var A=a(84798),T=a(11063),C=a(24922),v=a(70612),y=a(53805),N=a(44554),I=a(55554),f=a(14875),S=a(16487),E=a(26217),b=a(72088),P=a(17),_=a(64265);const U=(0,i.BX)({loading:!1}),W={state:U,subscribe:e=>(0,i.B1)(U,(()=>e(U))),subscribeKey:(e,t)=>(0,c.u$)(U,e,t),setToken(e){e&&(U.token=(0,i.KR)(e))},setTokenAmount(e){U.sendTokenAmount=e},setReceiverAddress(e){U.receiverAddress=e},setReceiverProfileImageUrl(e){U.receiverProfileImageUrl=e},setReceiverProfileName(e){U.receiverProfileName=e},setGasPrice(e){U.gasPrice=e},setGasPriceInUsd(e){U.gasPriceInUSD=e},setNetworkBalanceInUsd(e){U.networkBalanceInUSD=e},setLoading(e){U.loading=e},sendToken(){switch(r.W.state.activeCaipNetwork?.chainNamespace){case"eip155":return void this.sendEvmToken();case"solana":return void this.sendSolanaToken();default:throw new Error("Unsupported chain")}},sendEvmToken(){this.state.token?.address&&this.state.sendTokenAmount&&this.state.receiverAddress?(f.E.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:o.U.state.preferredAccountType===b.Vl.ACCOUNT_TYPES.SMART_ACCOUNT,token:this.state.token.address,amount:this.state.sendTokenAmount,network:r.W.state.activeCaipNetwork?.caipNetworkId||""}}),this.sendERC20Token({receiverAddress:this.state.receiverAddress,tokenAddress:this.state.token.address,sendTokenAmount:this.state.sendTokenAmount,decimals:this.state.token.quantity.decimals})):this.state.receiverAddress&&this.state.sendTokenAmount&&this.state.gasPrice&&this.state.token?.quantity.decimals&&(f.E.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:o.U.state.preferredAccountType===b.Vl.ACCOUNT_TYPES.SMART_ACCOUNT,token:this.state.token?.symbol,amount:this.state.sendTokenAmount,network:r.W.state.activeCaipNetwork?.caipNetworkId||""}}),this.sendNativeToken({receiverAddress:this.state.receiverAddress,sendTokenAmount:this.state.sendTokenAmount,gasPrice:this.state.gasPrice,decimals:this.state.token.quantity.decimals}))},async fetchNetworkBalance(){const e=await _.s.getMyTokensWithBalance();if(!e)return;const t=e.find((e=>e.address===r.W.getActiveNetworkTokenAddress()));t&&(U.networkBalanceInUSD=t?d.Se.multiply(t.quantity.numeric,t.price).toString():"0")},isInsufficientNetworkTokenForGas(e,t){const a=t||"0";return!!d.Se.bigNumber(e).isZero()||d.Se.bigNumber(d.Se.bigNumber(a)).isGreaterThan(e)},hasInsufficientGasFunds(){let e=!0;return o.U.state.preferredAccountType===b.Vl.ACCOUNT_TYPES.SMART_ACCOUNT?e=!1:U.networkBalanceInUSD&&(e=this.isInsufficientNetworkTokenForGas(U.networkBalanceInUSD,U.gasPriceInUSD)),e},async sendNativeToken(e){n.I.pushTransactionStack({view:"Account",goBack:!1});const t=e.receiverAddress,a=o.U.state.address,s=A.x.parseUnits(e.sendTokenAmount.toString(),Number(e.decimals));try{await A.x.sendTransaction({chainNamespace:"eip155",to:t,address:a,data:"0x",value:s??BigInt(0),gasPrice:e.gasPrice}),C.P.showSuccess("Transaction started"),f.E.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:o.U.state.preferredAccountType===b.Vl.ACCOUNT_TYPES.SMART_ACCOUNT,token:this.state.token?.symbol||"",amount:e.sendTokenAmount,network:r.W.state.activeCaipNetwork?.caipNetworkId||""}}),this.resetSend()}catch(t){f.E.sendEvent({type:"track",event:"SEND_ERROR",properties:{isSmartAccount:o.U.state.preferredAccountType===b.Vl.ACCOUNT_TYPES.SMART_ACCOUNT,token:this.state.token?.symbol||"",amount:e.sendTokenAmount,network:r.W.state.activeCaipNetwork?.caipNetworkId||""}}),C.P.showError("Something went wrong")}},async sendERC20Token(e){n.I.pushTransactionStack({view:"Account",goBack:!1});const t=A.x.parseUnits(e.sendTokenAmount.toString(),Number(e.decimals));try{if(o.U.state.address&&e.sendTokenAmount&&e.receiverAddress&&e.tokenAddress){const a=P.w.getPlainAddress(e.tokenAddress);await A.x.writeContract({fromAddress:o.U.state.address,tokenAddress:a,args:[e.receiverAddress,t??BigInt(0)],method:"transfer",abi:d.vW.getERC20Abi(a),chainNamespace:"eip155"}),C.P.showSuccess("Transaction started"),this.resetSend()}}catch(e){C.P.showError("Something went wrong")}},sendSolanaToken(){this.state.sendTokenAmount&&this.state.receiverAddress?(n.I.pushTransactionStack({view:"Account",goBack:!1}),A.x.sendTransaction({chainNamespace:"solana",to:this.state.receiverAddress,value:this.state.sendTokenAmount}).then((()=>{this.resetSend(),o.U.fetchTokenBalance()})).catch((e=>{C.P.showError("Failed to send transaction. Please try again.")}))):C.P.showError("Please enter a valid amount and receiver address")},resetSend(){U.token=void 0,U.sendTokenAmount=void 0,U.receiverAddress=void 0,U.receiverProfileImageUrl=void 0,U.receiverProfileName=void 0,U.loading=!1}},D=(0,i.BX)({message:"",open:!1,triggerRect:{width:0,height:0,top:0,left:0},variant:"shade"}),B={state:D,subscribe:e=>(0,i.B1)(D,(()=>e(D))),subscribeKey:(e,t)=>(0,c.u$)(D,e,t),showTooltip({message:e,triggerRect:t,variant:a}){D.open=!0,D.message=e,D.triggerRect=t,D.variant=a},hide(){D.open=!1,D.message="",D.triggerRect={width:0,height:0,top:0,left:0}}};var R=a(69764);const O=(0,i.BX)({suggestions:[],loading:!1}),L={state:O,subscribe:e=>(0,i.B1)(O,(()=>e(O))),subscribeKey:(e,t)=>(0,c.u$)(O,e,t),async resolveName(e){try{return await u.T.lookupEnsName(e)}catch(e){const t=e;throw new Error(t?.reasons?.[0]?.description||"Error resolving name")}},async isNameRegistered(e){try{return await u.T.lookupEnsName(e),!0}catch{return!1}},async getSuggestions(e){try{O.loading=!0,O.suggestions=[];const t=await u.T.getEnsNameSuggestions(e);return O.suggestions=t.suggestions.map((e=>({...e,name:e.name})))||[],O.suggestions}catch(e){const t=this.parseEnsApiError(e,"Error fetching name suggestions");throw new Error(t)}finally{O.loading=!1}},async getNamesForAddress(e){try{if(!r.W.state.activeCaipNetwork)return[];return await u.T.reverseLookupEnsName({address:e})}catch(e){const t=this.parseEnsApiError(e,"Error fetching names for address");throw new Error(t)}},async registerName(e){const t=r.W.state.activeCaipNetwork;if(!t)throw new Error("Network not found");const a=o.U.state.address,s=T.a.getAuthConnector();if(!a||!s)throw new Error("Address or auth connector not found");O.loading=!0;try{const s=JSON.stringify({name:e,attributes:{},timestamp:Math.floor(Date.now()/1e3)});n.I.pushTransactionStack({view:"RegisterAccountNameSuccess",goBack:!1,replace:!0,onCancel(){O.loading=!1}});const r=await A.x.signMessage(s),i=t.id;if(!i)throw new Error("Network not found");const c=R.p.convertEVMChainIdToCoinType(Number(i));await u.T.registerEnsName({coinType:c,address:a,signature:r,message:s}),o.U.setProfileName(e,t.chainNamespace),n.I.replace("RegisterAccountNameSuccess")}catch(t){const a=this.parseEnsApiError(t,`Error registering name ${e}`);throw n.I.replace("RegisterAccountName"),new Error(a)}finally{O.loading=!1}},validateName:e=>/^[a-zA-Z0-9-]{4,}$/u.test(e),parseEnsApiError(e,t){const a=e;return a?.reasons?.[0]?.description||t}};var x=a(81206),M=a(26500),j=a(39325),F=(a(90743),a(68554),a(71701))},32720:(e,t,a)=>{a.d(t,{G8:()=>d,uP:()=>p});var s=a(6973),n=a(73363),o=a(34985),r=a(84798),i=a(11063),c=a(17);function d(){const{status:e,user:t,preferredAccountType:a,smartAccountDeployed:r,allAccounts:d,socialProvider:p}=(0,s.s)(n.U.state),{activeCaipAddress:l}=(0,s.s)(o.W.state),u=i.a.getAuthConnector();return{allAccounts:d,caipAddress:l,address:c.w.getPlainAddress(l),isConnected:Boolean(l),status:e,embeddedWalletInfo:u?{user:t,authProvider:p||"email",accountType:a,isSmartAccountDeployed:Boolean(r)}:void 0}}function p(){return{disconnect:async function(){await r.x.disconnect()}}}},73363:(e,t,a)=>{a.d(t,{U:()=>u});var s=a(71285),n=a(75953),o=a(17),r=a(64265),i=a(78770),c=a(34985),d=a(24922),p=a(26217);const l=(0,s.BX)({currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[]}),u={state:l,replaceState(e){e&&Object.assign(l,(0,s.KR)(e))},subscribe:e=>c.W.subscribeChainProp("accountState",(t=>{if(t)return e(t)})),subscribeKey(e,t,a){let s;return c.W.subscribeChainProp("accountState",(a=>{if(a){const n=a[e];s!==n&&(s=n,t(n))}}),a)},setStatus(e,t){c.W.setAccountProp("status",e,t)},getCaipAddress:e=>c.W.getAccountProp("caipAddress",e),setCaipAddress(e,t){const a=e?o.w.getPlainAddress(e):void 0;t===c.W.state.activeChain&&(c.W.state.activeCaipAddress=e),c.W.setAccountProp("caipAddress",e,t),c.W.setAccountProp("address",a,t)},setBalance(e,t,a){c.W.setAccountProp("balance",e,a),c.W.setAccountProp("balanceSymbol",t,a)},setProfileName(e,t){c.W.setAccountProp("profileName",e,t)},setProfileImage(e,t){c.W.setAccountProp("profileImage",e,t)},setUser(e){l.user=e},setAddressExplorerUrl(e,t){c.W.setAccountProp("addressExplorerUrl",e,t)},setSmartAccountDeployed(e,t){c.W.setAccountProp("smartAccountDeployed",e,t)},setCurrentTab(e){c.W.setAccountProp("currentTab",e,c.W.state.activeChain)},setTokenBalance(e,t){e&&c.W.setAccountProp("tokenBalance",e,t)},setShouldUpdateToAddress(e,t){c.W.setAccountProp("shouldUpdateToAddress",e,t)},setAllAccounts(e,t){c.W.setAccountProp("allAccounts",e,t)},addAddressLabel(e,t,a){const s=c.W.getAccountProp("addressLabels",a)||new Map;s.set(e,t),c.W.setAccountProp("addressLabels",s,a)},removeAddressLabel(e,t){const a=c.W.getAccountProp("addressLabels",t)||new Map;a.delete(e),c.W.setAccountProp("addressLabels",a,t)},setConnectedWalletInfo(e,t){c.W.setAccountProp("connectedWalletInfo",e,t,!1)},setPreferredAccountType(e,t){c.W.setAccountProp("preferredAccountType",e,t)},setSocialProvider(e,t){e&&c.W.setAccountProp("socialProvider",e,t)},setSocialWindow(e,t){c.W.setAccountProp("socialWindow",e?(0,s.KR)(e):void 0,t)},setFarcasterUrl(e,t){c.W.setAccountProp("farcasterUrl",e,t)},async fetchTokenBalance(e){const t=c.W.state.activeCaipNetwork?.caipNetworkId,a=c.W.state.activeCaipNetwork?.chainNamespace,s=c.W.state.activeCaipAddress,u=s?o.w.getPlainAddress(s):void 0;if(l.lastRetry&&!o.w.isAllowedRetry(l.lastRetry,30*n.oU.ONE_SEC_MS))return[];try{if(u&&t&&a){const e=await i.T.getBalance(u,t),s=e.balances.filter((e=>"0"!==e.quantity.decimals));return this.setTokenBalance(s,a),p.GN.setBalances(r.s.mapBalancesToSwapTokens(e.balances)),l.lastRetry=void 0,s}}catch(t){l.lastRetry=Date.now(),e?.(t),d.P.showError("Token Balance Unavailable")}return[]},resetAccount(e){c.W.resetAccount(e)}}},81206:(e,t,a)=>{a.d(t,{h:()=>i});var s=a(71285),n=a(4707),o=a(44554);const r=(0,s.BX)({message:"",variant:"info",open:!1}),i={state:r,subscribeKey:(e,t)=>(0,n.u$)(r,e,t),open(e,t){const{debug:a}=o.H.state,{shortMessage:s,longMessage:n}=e;a&&(r.message=s,r.variant=t,r.open=!0)},close(){r.open=!1,r.message="",r.variant="info"}}},6896:(e,t,a)=>{a.d(t,{N:()=>w});var s=a(71285),n=a(4707),o=a(17),r=a(89716),i=a(39325),c=a(70612),d=a(34985),p=a(11063),l=a(14875),u=a(44554);const m=o.w.getApiUrl(),h=new r.Z({baseUrl:m,clientId:null}),g=(0,s.BX)({page:1,count:0,featured:[],recommended:[],wallets:[],search:[],isAnalyticsEnabled:!1,excludedRDNS:[]}),w={state:g,subscribeKey:(e,t)=>(0,n.u$)(g,e,t),_getSdkProperties(){const{projectId:e,sdkType:t,sdkVersion:a}=u.H.state;return{projectId:e,st:t||"appkit",sv:a||"html-wagmi-4.2.2"}},_filterOutExtensions:e=>u.H.state.isUniversalProvider?e.filter((e=>Boolean(e.mobile_link||e.desktop_link||e.webapp_link))):e,async _fetchWalletImage(e){const t=`${h.baseUrl}/getWalletImage/${e}`,a=await h.getBlob({path:t,params:w._getSdkProperties()});c.j.setWalletImage(e,URL.createObjectURL(a))},async _fetchNetworkImage(e){const t=`${h.baseUrl}/public/getAssetImage/${e}`,a=await h.getBlob({path:t,params:w._getSdkProperties()});c.j.setNetworkImage(e,URL.createObjectURL(a))},async _fetchConnectorImage(e){const t=`${h.baseUrl}/public/getAssetImage/${e}`,a=await h.getBlob({path:t,params:w._getSdkProperties()});c.j.setConnectorImage(e,URL.createObjectURL(a))},async _fetchCurrencyImage(e){const t=`${h.baseUrl}/public/getCurrencyImage/${e}`,a=await h.getBlob({path:t,params:w._getSdkProperties()});c.j.setCurrencyImage(e,URL.createObjectURL(a))},async _fetchTokenImage(e){const t=`${h.baseUrl}/public/getTokenImage/${e}`,a=await h.getBlob({path:t,params:w._getSdkProperties()});c.j.setTokenImage(e,URL.createObjectURL(a))},async fetchNetworkImages(){const e=d.W.getAllRequestedCaipNetworks(),t=e?.map((({assets:e})=>e?.imageId)).filter(Boolean);t&&await Promise.allSettled(t.map((e=>w._fetchNetworkImage(e))))},async fetchConnectorImages(){const{connectors:e}=p.a.state,t=e.map((({imageId:e})=>e)).filter(Boolean);await Promise.allSettled(t.map((e=>w._fetchConnectorImage(e))))},async fetchCurrencyImages(e=[]){await Promise.allSettled(e.map((e=>w._fetchCurrencyImage(e))))},async fetchTokenImages(e=[]){await Promise.allSettled(e.map((e=>w._fetchTokenImage(e))))},async fetchFeaturedWallets(){const{featuredWalletIds:e}=u.H.state;if(e?.length){const{data:t}=await h.get({path:"/getWallets",params:{...w._getSdkProperties(),page:"1",entries:e?.length?String(e.length):"4",include:e?.join(",")}});t.sort(((t,a)=>e.indexOf(t.id)-e.indexOf(a.id)));const a=t.map((e=>e.image_id)).filter(Boolean);await Promise.allSettled(a.map((e=>w._fetchWalletImage(e)))),g.featured=t}},async fetchRecommendedWallets(){try{const{includeWalletIds:e,excludeWalletIds:t,featuredWalletIds:a}=u.H.state,s=[...t??[],...a??[]].filter(Boolean),{data:n,count:o}=await h.get({path:"/getWallets",params:{...w._getSdkProperties(),page:"1",chains:d.W.state.activeCaipNetwork?.caipNetworkId,entries:"4",include:e?.join(","),exclude:s?.join(",")}}),r=i.i.getRecentWallets(),c=n.map((e=>e.image_id)).filter(Boolean),p=r.map((e=>e.image_id)).filter(Boolean);await Promise.allSettled([...c,...p].map((e=>w._fetchWalletImage(e)))),g.recommended=n,g.count=o??0}catch{}},async fetchWallets({page:e}){const{includeWalletIds:t,excludeWalletIds:a,featuredWalletIds:s}=u.H.state,n=[...g.recommended.map((({id:e})=>e)),...a??[],...s??[]].filter(Boolean),{data:r,count:i}=await h.get({path:"/getWallets",params:{...w._getSdkProperties(),page:String(e),entries:"40",chains:d.W.state.activeCaipNetwork?.caipNetworkId,include:t?.join(","),exclude:n.join(",")}}),c=r.slice(0,20).map((e=>e.image_id)).filter(Boolean);await Promise.allSettled(c.map((e=>w._fetchWalletImage(e)))),g.wallets=o.w.uniqueBy([...g.wallets,...w._filterOutExtensions(r)],"id"),g.count=i>g.count?i:g.count,g.page=e},async initializeExcludedWalletRdns({ids:e}){const{data:t}=await h.get({path:"/getWallets",params:{...w._getSdkProperties(),page:"1",entries:String(e.length),chains:d.W.state.activeCaipNetwork?.caipNetworkId,include:e?.join(",")}});t&&t.forEach((e=>{e?.rdns&&g.excludedRDNS.push(e.rdns)}))},async searchWallet({search:e,badge:t}){const{includeWalletIds:a,excludeWalletIds:s}=u.H.state;g.search=[];const{data:n}=await h.get({path:"/getWallets",params:{...w._getSdkProperties(),page:"1",entries:"100",search:e?.trim(),badge_type:t,chains:d.W.state.activeCaipNetwork?.caipNetworkId,include:a?.join(","),exclude:s?.join(",")}});l.E.sendEvent({type:"track",event:"SEARCH_WALLET",properties:{badge:t??"",search:e??""}});const r=n.map((e=>e.image_id)).filter(Boolean);await Promise.allSettled([...r.map((e=>w._fetchWalletImage(e))),o.w.wait(300)]),g.search=w._filterOutExtensions(n)},async reFetchWallets(){g.page=1,g.wallets=[],await w.fetchFeaturedWallets(),await w.fetchRecommendedWallets()},prefetch(){const e=[w.fetchFeaturedWallets(),w.fetchRecommendedWallets(),w.fetchNetworkImages(),w.fetchConnectorImages()];u.H.state.features?.analytics&&e.push(w.fetchAnalyticsConfig()),g.prefetchPromise=Promise.race([Promise.allSettled(e)])},async fetchAnalyticsConfig(){const{isAnalyticsEnabled:e}=await h.get({path:"/getAnalyticsConfig",params:w._getSdkProperties()});u.H.setFeatures({analytics:e})}}},70612:(e,t,a)=>{a.d(t,{j:()=>r});var s=a(71285),n=a(4707);const o=(0,s.BX)({walletImages:{},networkImages:{},chainImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),r={state:o,subscribeNetworkImages:e=>(0,s.B1)(o.networkImages,(()=>e(o.networkImages))),subscribeKey:(e,t)=>(0,n.u$)(o,e,t),subscribe:e=>(0,s.B1)(o,(()=>e(o))),setWalletImage(e,t){o.walletImages[e]=t},setNetworkImage(e,t){o.networkImages[e]=t},setChainImage(e,t){o.chainImages[e]=t},setConnectorImage(e,t){o.connectorImages={...o.connectorImages,[e]:t}},setTokenImage(e,t){o.tokenImages[e]=t},setCurrencyImage(e,t){o.currencyImages[e]=t}}},78770:(e,t,a)=>{a.d(t,{T:()=>m});var s=a(71285),n=a(75953),o=a(17),r=a(89716),i=a(73363),c=a(34985),d=a(44554);const p={purchaseCurrencies:[{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"Ether",symbol:"ETH",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]}],paymentCurrencies:[{id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},{id:"EUR",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]}]},l=o.w.getBlockchainApiUrl(),u=(0,s.BX)({clientId:null,api:new r.Z({baseUrl:l,clientId:null}),supportedChains:{http:[],ws:[]}}),m={state:u,async isNetworkSupported(e){if(!e)return!1;try{u.supportedChains.http.length||await m.getSupportedNetworks({projectId:d.H.state.projectId})}catch(e){return!1}return u.supportedChains.http.includes(e)},async getSupportedNetworks({projectId:e}){const t=await u.api.get({path:"v1/supported-chains",params:{projectId:e}});return u.supportedChains=t,t},fetchIdentity:async({address:e})=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.get({path:`/v1/identity/${e}`,params:{projectId:d.H.state.projectId,sender:c.W.state.activeCaipAddress?o.w.getPlainAddress(c.W.state.activeCaipAddress):void 0}}):{avatar:"",name:""},fetchTransactions:async({account:e,projectId:t,cursor:a,onramp:s,signal:n,cache:o,chainId:r})=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.get({path:`/v1/account/${e}/history`,params:{projectId:t,cursor:a,onramp:s,chainId:r},signal:n,cache:o}):{data:[],next:void 0},fetchSwapQuote:async({projectId:e,amount:t,userAddress:a,from:s,to:n,gasPrice:o})=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.get({path:"/v1/convert/quotes",headers:{"Content-Type":"application/json"},params:{projectId:e,amount:t,userAddress:a,from:s,to:n,gasPrice:o}}):{quotes:[]},fetchSwapTokens:async({projectId:e,chainId:t})=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.get({path:"/v1/convert/tokens",params:{projectId:e,chainId:t}}):{tokens:[]},fetchTokenPrice:async({projectId:e,addresses:t})=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.post({path:"/v1/fungible/price",body:{projectId:e,currency:"usd",addresses:t},headers:{"Content-Type":"application/json"}}):{fungibles:[]},async fetchSwapAllowance({projectId:e,tokenAddress:t,userAddress:a}){const{sdkType:s,sdkVersion:n}=d.H.state;return await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.get({path:"/v1/convert/allowance",params:{projectId:e,tokenAddress:t,userAddress:a},headers:{"Content-Type":"application/json","x-sdk-type":s,"x-sdk-version":n||"html-wagmi-4.2.2"}}):{allowance:"0"}},async fetchGasPrice({projectId:e,chainId:t}){const{sdkType:a,sdkVersion:s}=d.H.state;if(!await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Gas Price");return u.api.get({path:"/v1/convert/gas-price",headers:{"Content-Type":"application/json","x-sdk-type":a,"x-sdk-version":s||"html-wagmi-4.2.2"},params:{projectId:e,chainId:t}})},async generateSwapCalldata({amount:e,from:t,projectId:a,to:s,userAddress:o}){if(!await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return u.api.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:e,eip155:{slippage:n.oU.CONVERT_SLIPPAGE_TOLERANCE},from:t,projectId:a,to:s,userAddress:o}})},async generateApproveCalldata({from:e,projectId:t,to:a,userAddress:s}){const{sdkType:n,sdkVersion:o}=d.H.state;if(!await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return u.api.get({path:"/v1/convert/build-approve",headers:{"Content-Type":"application/json","x-sdk-type":n,"x-sdk-version":o||"html-wagmi-4.2.2"},params:{projectId:t,userAddress:s,from:e,to:a}})},async getBalance(e,t,a){const{sdkType:s,sdkVersion:n}=d.H.state;return await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.get({path:`/v1/account/${e}/balance`,headers:{"x-sdk-type":s,"x-sdk-version":n||"html-wagmi-4.2.2"},params:{currency:"usd",projectId:d.H.state.projectId,chainId:t,forceUpdate:a}}):{balances:[]}},lookupEnsName:async e=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.get({path:`/v1/profile/account/${e}`,params:{projectId:d.H.state.projectId,apiVersion:"2"}}):{addresses:{},attributes:[]},reverseLookupEnsName:async({address:e})=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.get({path:`/v1/profile/reverse/${e}`,params:{sender:i.U.state.address,projectId:d.H.state.projectId,apiVersion:"2"}}):[],getEnsNameSuggestions:async e=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.get({path:`/v1/profile/suggestions/${e}`,params:{projectId:d.H.state.projectId,zone:"reown.id"}}):{suggestions:[]},registerEnsName:async({coinType:e,address:t,message:a,signature:s})=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.post({path:"/v1/profile/account",body:{coin_type:e,address:t,message:a,signature:s},headers:{"Content-Type":"application/json"}}):{success:!1},async generateOnRampURL({destinationWallets:e,partnerUserId:t,defaultNetwork:a,purchaseAmount:s,paymentAmount:n}){if(!await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId))return"";return(await u.api.post({path:"/v1/generators/onrampurl",params:{projectId:d.H.state.projectId},body:{destinationWallets:e,defaultNetwork:a,partnerUserId:t,defaultExperience:"buy",presetCryptoAmount:s,presetFiatAmount:n}})).url},async getOnrampOptions(){if(!await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await u.api.get({path:"/v1/onramp/options",params:{projectId:d.H.state.projectId}})}catch(e){return p}},async getOnrampQuote({purchaseCurrency:e,paymentCurrency:t,amount:a,network:s}){try{if(!await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId))return null;return await u.api.post({path:"/v1/onramp/quote",params:{projectId:d.H.state.projectId},body:{purchaseCurrency:e,paymentCurrency:t,amount:a,network:s}})}catch(e){return{coinbaseFee:{amount:a,currency:t.id},networkFee:{amount:a,currency:t.id},paymentSubtotal:{amount:a,currency:t.id},paymentTotal:{amount:a,currency:t.id},purchaseAmount:{amount:a,currency:t.id},quoteId:"mocked-quote-id"}}},getSmartSessions:async e=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.get({path:`/v1/sessions/${e}`,params:{projectId:d.H.state.projectId}}):[],revokeSmartSession:async(e,t,a)=>await m.isNetworkSupported(c.W.state.activeCaipNetwork?.caipNetworkId)?u.api.post({path:`/v1/sessions/${e}/revoke`,params:{projectId:d.H.state.projectId},body:{pci:t,signature:a}}):{success:!1},setClientId(e){u.clientId=e,u.api=new r.Z({baseUrl:l,clientId:e})}}},34985:(e,t,a)=>{a.d(t,{W:()=>T});var s=a(71285),n=a(4707),o=a(35748),r=a(75953),i=a(17),c=a(39325),d=a(73363),p=a(84798),l=a(14875),u=a(91273),m=a(44554),h=a(55554),g=a(96691);const w={currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[]},k={supportsAllNetworks:!0,smartAccountEnabledNetworks:[]},A=(0,s.BX)({chains:(0,n.zC)(),activeCaipAddress:void 0,activeChain:void 0,activeCaipNetwork:void 0,noAdapters:!1,universalAdapter:{networkControllerClient:void 0,connectionControllerClient:void 0},isSwitchingNamespace:!1}),T={state:A,subscribe:e=>(0,s.B1)(A,(()=>{e(A)})),subscribeKey:(e,t)=>(0,n.u$)(A,e,t),subscribeChainProp(e,t,a){let n;return(0,s.B1)(A.chains,(()=>{const s=a||A.activeChain;if(s){const a=A.chains.get(s)?.[e];n!==a&&(n=a,t(a))}}))},initialize(e,t,a){const{chainId:s,namespace:n}=c.i.getActiveNetworkProps(),o=t?.find((e=>e.id.toString()===s?.toString())),r=e.find((e=>e?.namespace===n))||e?.[0],i=new Set([...t?.map((e=>e.chainNamespace))??[]]);0!==e?.length&&r||(A.noAdapters=!0),A.noAdapters||(A.activeChain=r?.namespace,A.activeCaipNetwork=o,A.activeChain&&h.z.set({activeChain:r?.namespace})),i.forEach((e=>{T.state.chains.set(e,{namespace:e,networkState:k,accountState:w,caipNetworks:t??[],...a}),this.setRequestedCaipNetworks(t?.filter((t=>t.chainNamespace===e))??[],e)}))},removeAdapter(e){if(A.activeChain===e){const t=Array.from(A.chains.entries()).find((([t])=>t!==e));if(t){const e=t[1]?.caipNetworks?.[0];e&&this.setActiveCaipNetwork(e)}}A.chains.delete(e)},addAdapter(e,{networkControllerClient:t,connectionControllerClient:a},s){A.chains.set(e.namespace,{namespace:e.namespace,networkState:k,accountState:w,caipNetworks:s,connectionControllerClient:a,networkControllerClient:t}),this.setRequestedCaipNetworks(s?.filter((t=>t.chainNamespace===e.namespace))??[],e.namespace)},setAdapterNetworkState(e,t){const a=A.chains.get(e);a&&(a.networkState=(0,s.KR)({...a.networkState||k,...t}),A.chains.set(e,(0,s.KR)(a)))},setChainAccountData(e,t,a=!0){if(!e)throw new Error("Chain is required to update chain account data");const n=A.chains.get(e);n&&(n.accountState=(0,s.KR)({...n.accountState||w,...t}),A.chains.set(e,n),1!==A.chains.size&&A.activeChain!==e||(t.caipAddress&&(A.activeCaipAddress=t.caipAddress),d.U.replaceState(n.accountState)))},setAccountProp(e,t,a,s=!0){this.setChainAccountData(a,{[e]:t},s)},setActiveNamespace(e){A.activeChain=e;const t=e?A.chains.get(e):void 0,a=t?.networkState?.caipNetwork;a?.id&&e&&(A.activeCaipAddress=t?.accountState?.caipAddress,A.activeCaipNetwork=a,c.i.setActiveCaipNetworkId(a?.caipNetworkId),h.z.set({activeChain:e,selectedNetworkId:a?.caipNetworkId}))},setActiveCaipNetwork(e){if(!e)return;A.activeChain!==e.chainNamespace&&this.setIsSwitchingNamespace(!0);const t=A.chains.get(e.chainNamespace);A.activeChain=e.chainNamespace,A.activeCaipNetwork=e,A.activeCaipAddress=t?.accountState?.address?`${e.chainNamespace}:${e.id}:${t?.accountState?.address}`:void 0,t&&d.U.replaceState(t.accountState),h.z.set({activeChain:A.activeChain,selectedNetworkId:A.activeCaipNetwork?.caipNetworkId}),c.i.setActiveCaipNetworkId(e.caipNetworkId);this.checkIfSupportedNetwork(e.chainNamespace)||m.H.state.allowUnsupportedChain||this.showUnsupportedChainUI()},addCaipNetwork(e){if(!e)return;const t=A.chains.get(e.chainNamespace);t&&t?.caipNetworks?.push(e)},async switchActiveNetwork(e){const t=T.state.chains.get(T.state.activeChain);!t?.caipNetworks?.some((e=>e.id===A.activeCaipNetwork?.id))&&g.I.goBack();const a=this.getNetworkControllerClient(e.chainNamespace);a&&(await a.switchCaipNetwork(e),l.E.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:e.caipNetworkId}}))},getNetworkControllerClient(e){const t=e||A.activeChain,a=A.chains.get(t);if(!a)throw new Error("Chain adapter not found");if(!a.networkControllerClient)throw new Error("NetworkController client not set");return a.networkControllerClient},getConnectionControllerClient(e){const t=e||A.activeChain;if(!t)throw new Error("Chain is required to get connection controller client");const a=A.chains.get(t);if(!a?.connectionControllerClient)throw new Error("ConnectionController client not set");return a.connectionControllerClient},getAccountProp(e,t){let a=A.activeChain;if(t&&(a=t),!a)return;const s=A.chains.get(a)?.accountState;return s?s[e]:void 0},getNetworkProp(e,t){const a=A.chains.get(t)?.networkState;if(a)return a[e]},getRequestedCaipNetworks(e){const t=A.chains.get(e),{approvedCaipNetworkIds:a=[],requestedCaipNetworks:s=[]}=t?.networkState||{};return i.w.sortRequestedNetworks(a,s)},getAllRequestedCaipNetworks(){const e=[];return A.chains.forEach((t=>{const a=this.getRequestedCaipNetworks(t.namespace);e.push(...a)})),e},setRequestedCaipNetworks(e,t){this.setAdapterNetworkState(t,{requestedCaipNetworks:e})},getAllApprovedCaipNetworkIds(){const e=[];return A.chains.forEach((t=>{const a=this.getApprovedCaipNetworkIds(t.namespace);e.push(...a)})),e},getActiveCaipNetwork:()=>A.activeCaipNetwork,getActiveCaipAddress:()=>A.activeCaipAddress,getApprovedCaipNetworkIds(e){const t=A.chains.get(e);return t?.networkState?.approvedCaipNetworkIds||[]},async setApprovedCaipNetworksData(e){const t=this.getNetworkControllerClient(),a=await(t?.getApprovedCaipNetworksData());this.setAdapterNetworkState(e,{approvedCaipNetworkIds:a?.approvedCaipNetworkIds,supportsAllNetworks:a?.supportsAllNetworks})},checkIfSupportedNetwork(e){const t=this.state.activeCaipNetwork,a=this.getRequestedCaipNetworks(e);return!a.length||a?.some((e=>e.id===t?.id))},checkIfSupportedChainId(e){if(!this.state.activeChain)return!0;const t=this.getRequestedCaipNetworks(this.state.activeChain);return t?.some((t=>t.id===e))},setSmartAccountEnabledNetworks(e,t){this.setAdapterNetworkState(t,{smartAccountEnabledNetworks:e})},checkIfSmartAccountEnabled(){const e=o.LX.caipNetworkIdToNumber(A.activeCaipNetwork?.caipNetworkId),t=this.state.activeChain;if(!t||!e)return!1;const a=this.getNetworkProp("smartAccountEnabledNetworks",t);return Boolean(a?.includes(Number(e)))},getActiveNetworkTokenAddress(){const e=this.state.activeCaipNetwork?.chainNamespace||"eip155";return`${e}:${this.state.activeCaipNetwork?.id||1}:${r.oU.NATIVE_TOKEN_ADDRESS[e]}`},showUnsupportedChainUI(){u.W.open({view:"UnsupportedChain"})},checkIfNamesSupported(){const e=A.activeCaipNetwork;return Boolean(e?.chainNamespace&&r.oU.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(e.chainNamespace))},resetNetwork(e){this.setAdapterNetworkState(e,{approvedCaipNetworkIds:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]})},resetAccount(e){const t=e;if(!t)throw new Error("Chain is required to set account prop");this.state.activeCaipAddress=void 0,this.setChainAccountData(t,(0,s.KR)({smartAccountDeployed:!1,currentTab:0,caipAddress:void 0,address:void 0,balance:void 0,balanceSymbol:void 0,profileName:void 0,profileImage:void 0,addressExplorerUrl:void 0,tokenBalance:[],connectedWalletInfo:void 0,preferredAccountType:void 0,socialProvider:void 0,socialWindow:void 0,farcasterUrl:void 0,provider:void 0,allAccounts:[]}))},async disconnect(){try{const e=await Promise.allSettled(Array.from(A.chains.entries()).map((async([e,t])=>{try{t.connectionControllerClient?.disconnect&&await t.connectionControllerClient.disconnect(),this.resetAccount(e),this.resetNetwork(e),c.i.deleteConnectedConnectorId(e)}catch(t){throw new Error(`Failed to disconnect chain ${e}: ${t.message}`)}})));p.x.resetWcConnection();const t=e.filter((e=>"rejected"===e.status));if(t.length>0)throw new Error(t.map((e=>e.reason.message)).join(", "));c.i.deleteConnectedSocialProvider(),p.x.resetWcConnection(),l.E.sendEvent({type:"track",event:"DISCONNECT_SUCCESS"})}catch(e){l.E.sendEvent({type:"track",event:"DISCONNECT_ERROR",properties:{message:e.message||"Failed to disconnect chains"}})}},setIsSwitchingNamespace(e){A.isSwitchingNamespace=e},getFirstCaipNetworkSupportsAuthConnector(){const e=[];let t;if(A.chains.forEach((t=>{o.oU.AUTH_CONNECTOR_SUPPORTED_CHAINS.find((e=>e===t.namespace))&&t.namespace&&e.push(t.namespace)})),e.length>0){const a=e[0];return t=a?A.chains.get(a)?.caipNetworks?.[0]:void 0,t}}}},84798:(e,t,a)=>{a.d(t,{x:()=>w});var s=a(71285),n=a(4707),o=a(35748),r=(a(72088),a(17)),i=a(71701),c=a(39325),d=a(34985),p=a(11063),l=a(14875),u=a(91273),m=a(16487);const h=(0,s.BX)({wcError:!1,buffering:!1,status:"disconnected"});let g;const w={state:h,subscribeKey:(e,t)=>(0,n.u$)(h,e,t),_getClient:()=>h._client,setClient(e){h._client=(0,s.KR)(e)},async connectWalletConnect(){if([...d.W.state.chains.keys()].forEach((e=>{c.i.setConnectedConnectorId(e,o.oU.CONNECTOR_ID.WALLET_CONNECT)})),r.w.isTelegram()||r.w.isSafari()&&r.w.isIos()){if(g)return await g,void(g=void 0);if(!r.w.isPairingExpired(h?.wcPairingExpiry)){const e=h.wcUri;return void(h.wcUri=e)}g=this._getClient()?.connectWalletConnect?.().catch((()=>{})),this.state.status="connecting",await g,g=void 0,h.wcPairingExpiry=void 0,this.state.status="connected"}else await(this._getClient()?.connectWalletConnect?.())},async connectExternal(e,t,a=!0){await(this._getClient()?.connectExternal?.(e)),a&&d.W.setActiveNamespace(t)},async reconnectExternal(e){await(this._getClient()?.reconnectExternal?.(e));const t=e.chain||d.W.state.activeChain;t&&c.i.setConnectedConnectorId(t,e.id)},async setPreferredAccountType(e){u.W.setLoading(!0);const t=p.a.getAuthConnector();t&&(await(t?.provider.setPreferredAccount(e)),await this.reconnectExternal(t),u.W.setLoading(!1),l.E.sendEvent({type:"track",event:"SET_PREFERRED_ACCOUNT_TYPE",properties:{accountType:e,network:d.W.state.activeCaipNetwork?.caipNetworkId||""}}))},async signMessage(e){return this._getClient()?.signMessage(e)},parseUnits(e,t){return this._getClient()?.parseUnits(e,t)},formatUnits(e,t){return this._getClient()?.formatUnits(e,t)},async sendTransaction(e){return this._getClient()?.sendTransaction(e)},async getCapabilities(e){return this._getClient()?.getCapabilities(e)},async grantPermissions(e){return this._getClient()?.grantPermissions(e)},async estimateGas(e){return this._getClient()?.estimateGas(e)},async writeContract(e){return this._getClient()?.writeContract(e)},async getEnsAddress(e){return this._getClient()?.getEnsAddress(e)},async getEnsAvatar(e){return this._getClient()?.getEnsAvatar(e)},checkInstalled(e){return this._getClient()?.checkInstalled?.(e)||!1},resetWcConnection(){h.wcUri=void 0,h.wcPairingExpiry=void 0,h.wcLinking=void 0,h.recentWallet=void 0,h.status="disconnected",m.W.resetTransactions(),c.i.deleteWalletConnectDeepLink()},setUri(e){h.wcUri=e,h.wcPairingExpiry=r.w.getPairingExpiry()},setWcLinking(e){h.wcLinking=e},setWcError(e){h.wcError=e,h.buffering=!1},setRecentWallet(e){h.recentWallet=e},setBuffering(e){h.buffering=e},setStatus(e){h.status=e},async disconnect(){try{u.W.setLoading(!0),await i.U.clearSessions(),await d.W.disconnect(),u.W.setLoading(!1)}catch(e){throw new Error("Failed to disconnect")}}}},11063:(e,t,a)=>{a.d(t,{a:()=>p});var s=a(71285),n=a(4707),o=a(35748),r=a(34985),i=a(44554),c=a(53805);const d=(0,s.BX)({allConnectors:[],connectors:[],activeConnector:void 0}),p={state:d,subscribeKey:(e,t)=>(0,n.u$)(d,e,t),setActiveConnector(e){e&&(d.activeConnector=(0,s.KR)(e))},setConnectors(e){e.filter((e=>!d.allConnectors.some((t=>t.id===e.id&&this.getConnectorName(t.name)===this.getConnectorName(e.name)&&t.chain===e.chain)))).forEach((e=>{"MULTI_CHAIN"!==e.type&&d.allConnectors.push((0,s.KR)(e))})),d.connectors=this.mergeMultiChainConnectors(d.allConnectors)},removeAdapter(e){d.allConnectors=d.allConnectors.filter((t=>t.chain!==e)),d.connectors=this.mergeMultiChainConnectors(d.allConnectors)},mergeMultiChainConnectors(e){const t=this.generateConnectorMapByName(e),a=[];return t.forEach((e=>{const t=e[0],s=t?.id===o.oU.CONNECTOR_ID.AUTH;e.length>1&&t?a.push({name:t.name,imageUrl:t.imageUrl,imageId:t.imageId,connectors:[...e],type:s?"AUTH":"MULTI_CHAIN",chain:"eip155",id:t?.id||""}):t&&a.push(t)})),a},generateConnectorMapByName(e){const t=new Map;return e.forEach((e=>{const{name:a}=e,s=this.getConnectorName(a);if(!s)return;const n=t.get(s)||[];n.find((t=>t.chain===e.chain))||n.push(e),t.set(s,n)})),t},getConnectorName(e){if(!e)return e;return{"Trust Wallet":"Trust"}[e]||e},getUniqueConnectorsByName(e){const t=[];return e.forEach((e=>{t.find((t=>t.chain===e.chain))||t.push(e)})),t},addConnector(e){if(e.id===o.oU.CONNECTOR_ID.AUTH){const t=e,a=(0,s.P9)(i.H.state),n=c.W.getSnapshot().themeMode,r=c.W.getSnapshot().themeVariables;t?.provider?.syncDappData?.({metadata:a.metadata,sdkVersion:a.sdkVersion,projectId:a.projectId,sdkType:a.sdkType}),t?.provider?.syncTheme({themeMode:n,themeVariables:r,w3mThemeVariables:(0,o.o_)(r,n)}),this.setConnectors([e])}else this.setConnectors([e])},getAuthConnector(){const e=r.W.state.activeChain,t=d.connectors.find((e=>e.id===o.oU.CONNECTOR_ID.AUTH));if(t){if(t?.connectors?.length){return t.connectors.find((t=>t.chain===e))}return t}},getAnnouncedConnectorRdns:()=>d.connectors.filter((e=>"ANNOUNCED"===e.type)).map((e=>e.info?.rdns)),getConnectors:()=>d.connectors,getConnector:(e,t)=>d.connectors.find((a=>a.explorerId===e||a.info?.rdns===t)),syncIfAuthConnector(e){if("ID_AUTH"!==e.id)return;const t=e,a=(0,s.P9)(i.H.state),n=c.W.getSnapshot().themeMode,r=c.W.getSnapshot().themeVariables;t?.provider?.syncDappData?.({metadata:a.metadata,sdkVersion:a.sdkVersion,sdkType:a.sdkType,projectId:a.projectId}),t.provider.syncTheme({themeMode:n,themeVariables:r,w3mThemeVariables:(0,o.o_)(r,n)})}}},14875:(e,t,a)=>{a.d(t,{E:()=>m});var s=a(71285),n=a(35748),o=a(17),r=a(89716),i=a(81206),c=a(44554);const d=o.w.getAnalyticsUrl(),p=new r.Z({baseUrl:d,clientId:null}),l=["MODAL_CREATED"],u=(0,s.BX)({timestamp:Date.now(),reportedErrors:{},data:{type:"track",event:"MODAL_CREATED"}}),m={state:u,subscribe:e=>(0,s.B1)(u,(()=>e(u))),_getApiHeaders(){const{projectId:e,sdkType:t,sdkVersion:a}=c.H.state;return{"x-project-id":e,"x-sdk-type":t,"x-sdk-version":a||"html-wagmi-4.2.2"}},async _sendAnalyticsEvent(e){try{if(l.includes(e.data.event)||"undefined"==typeof window)return;await p.post({path:"/e",headers:m._getApiHeaders(),body:{eventId:o.w.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:e.timestamp,props:e.data}}),u.reportedErrors.FORBIDDEN=!1}catch(e){e instanceof Error&&e.cause instanceof Response&&e.cause.status===n.oU.HTTP_STATUS_CODES.FORBIDDEN&&!u.reportedErrors.FORBIDDEN&&(i.h.open({shortMessage:"Invalid App Configuration",longMessage:`Origin ${(0,n.IP)()?window.origin:"uknown"} not found on Allowlist - update configuration on cloud.reown.com`},"error"),u.reportedErrors.FORBIDDEN=!0)}},sendEvent(e){u.timestamp=Date.now(),u.data=e,c.H.state.features?.analytics&&m._sendAnalyticsEvent(u)}}},91273:(e,t,a)=>{a.d(t,{W:()=>m});var s=a(71285),n=a(4707),o=a(17),r=a(6896),i=a(34985),c=a(14875),d=a(44554),p=a(55554),l=a(96691);const u=(0,s.BX)({loading:!1,open:!1,shake:!1}),m={state:u,subscribe:e=>(0,s.B1)(u,(()=>e(u))),subscribeKey:(e,t)=>(0,n.u$)(u,e,t),async open(e){await r.N.state.prefetchPromise;const t=i.W.state.activeCaipAddress,a=i.W.state.noAdapters;e?.view?l.I.reset(e.view):t?l.I.reset("Account"):a&&!o.w.isMobile()?l.I.reset("ConnectingWalletConnectBasic"):l.I.reset("Connect"),u.open=!0,p.z.set({open:!0}),c.E.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:Boolean(t)}})},close(){const e=d.H.state.enableEmbedded,t=Boolean(i.W.state.activeCaipAddress);u.open=!1,e?t?l.I.replace("Account"):l.I.push("Connect"):p.z.set({open:!1}),c.E.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:t}})},setLoading(e){u.loading=e,p.z.set({loading:e})},shake(){u.shake||(u.shake=!0,setTimeout((()=>{u.shake=!1}),500))}}},44554:(e,t,a)=>{a.d(t,{H:()=>i});var s=a(71285),n=a(4707),o=a(75953);const r=(0,s.BX)({features:o.oU.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:o.oU.DEFAULT_ACCOUNT_TYPES}),i={state:r,subscribeKey:(e,t)=>(0,n.u$)(r,e,t),setOptions(e){Object.assign(r,e)},setFeatures(e){if(!e)return;if(!r.features)return void(r.features=o.oU.DEFAULT_FEATURES);const t={...r.features,...e};r.features=t},setProjectId(e){r.projectId=e},setAllWallets(e){r.allWallets=e},setIncludeWalletIds(e){r.includeWalletIds=e},setExcludeWalletIds(e){r.excludeWalletIds=e},setFeaturedWalletIds(e){r.featuredWalletIds=e},setTokens(e){r.tokens=e},setTermsConditionsUrl(e){r.termsConditionsUrl=e},setPrivacyPolicyUrl(e){r.privacyPolicyUrl=e},setCustomWallets(e){r.customWallets=e},setIsSiweEnabled(e){r.isSiweEnabled=e},setIsUniversalProvider(e){r.isUniversalProvider=e},setSdkVersion(e){r.sdkVersion=e},setMetadata(e){r.metadata=e},setDisableAppend(e){r.disableAppend=e},setEIP6963Enabled(e){r.enableEIP6963=e},setDebug(e){r.debug=e},setEnableWalletConnect(e){r.enableWalletConnect=e},setEnableWalletGuide(e){r.enableWalletGuide=e},setEnableAuthLogger(e){r.enableAuthLogger=e},setEnableWallets(e){r.enableWallets=e},setHasMultipleAddresses(e){r.hasMultipleAddresses=e},setSIWX(e){r.siwx=e},setConnectMethodsOrder(e){r.features={...r.features,connectMethodsOrder:e}},setWalletFeaturesOrder(e){r.features={...r.features,walletFeaturesOrder:e}},setSocialsOrder(e){r.features={...r.features,socials:e}},setCollapseWallets(e){r.features={...r.features,collapseWallets:e}},setEnableEmbedded(e){r.enableEmbedded=e},setAllowUnsupportedChain(e){r.allowUnsupportedChain=e},setUsingInjectedUniversalProvider(e){r.useInjectedUniversalProvider=e},setDefaultAccountTypes(e={}){Object.entries(e).forEach((([e,t])=>{t&&(r.defaultAccountTypes[e]=t)}))},getSnapshot:()=>(0,s.P9)(r)}},55554:(e,t,a)=>{a.d(t,{z:()=>o});var s=a(71285);const n=(0,s.BX)({loading:!1,open:!1,selectedNetworkId:void 0,activeChain:void 0,initialized:!1}),o={state:n,subscribe:e=>(0,s.B1)(n,(()=>e(n))),set(e){Object.assign(n,{...n,...e})}}},96691:(e,t,a)=>{a.d(t,{I:()=>l});var s=a(71285),n=a(4707),o=a(73363),r=a(34985),i=a(11063),c=a(91273),d=a(44554);const p=(0,s.BX)({view:"Connect",history:["Connect"],transactionStack:[]}),l={state:p,subscribeKey:(e,t)=>(0,n.u$)(p,e,t),pushTransactionStack(e){p.transactionStack.push(e)},popTransactionStack(e){const t=p.transactionStack.pop();if(t)if(e)this.goBack(),t?.onCancel?.();else{if(t.goBack)this.goBack();else if(t.replace){const e=p.history.indexOf("ConnectingSiwe");e>0?this.goBackToIndex(e-1):(c.W.close(),p.history=[])}else t.view&&this.reset(t.view);t?.onSuccess?.()}},push(e,t){e!==p.view&&(p.view=e,p.history.push(e),p.data=t)},reset(e,t){p.view=e,p.history=[e],p.data=t},replace(e,t){p.history.at(-1)===e||(p.view=e,p.history[p.history.length-1]=e,p.data=t)},goBack(){const e=!r.W.state.activeCaipAddress&&"ConnectingFarcaster"===this.state.view;if(p.history.length>1&&!p.history.includes("UnsupportedChain")){p.history.pop();const[e]=p.history.slice(-1);e&&(p.view=e)}else c.W.close();setTimeout((()=>{if(e){o.U.setFarcasterUrl(void 0,r.W.state.activeChain);const e=i.a.getAuthConnector();e?.provider?.reload();const t=(0,s.P9)(d.H.state);e?.provider?.syncDappData?.({metadata:t.metadata,sdkVersion:t.sdkVersion,projectId:t.projectId,sdkType:t.sdkType})}}),100)},goBackToIndex(e){if(p.history.length>1){p.history=p.history.slice(0,e+1);const[t]=p.history.slice(-1);t&&(p.view=t)}}}},24922:(e,t,a)=>{a.d(t,{P:()=>c});var s=a(71285),n=a(4707),o=a(17);const r=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),i=(0,s.BX)({...r}),c={state:i,subscribeKey:(e,t)=>(0,n.u$)(i,e,t),showLoading(e,t={}){this._showMessage({message:e,variant:"loading",...t})},showSuccess(e){this._showMessage({message:e,variant:"success"})},showSvg(e,t){this._showMessage({message:e,svg:t})},showError(e){const t=o.w.parseError(e);this._showMessage({message:t,variant:"error"})},hide(){i.message=r.message,i.variant=r.variant,i.svg=r.svg,i.open=r.open,i.autoClose=r.autoClose},_showMessage({message:e,svg:t,variant:a="success",autoClose:s=r.autoClose}){i.open?(i.open=!1,setTimeout((()=>{i.message=e,i.variant=a,i.svg=t,i.open=!0,i.autoClose=s}),150)):(i.message=e,i.variant=a,i.svg=t,i.open=!0,i.autoClose=s)}}},26217:(e,t,a)=>{a.d(t,{GN:()=>I});var s=a(71285),n=a(4707),o=a(35748),r=a(72088),i=a(75953),c=a(17),d=a(39325),p=a(64265),l=a(26740),u=a(73363),m=a(81206),h=a(78770),g=a(34985),w=a(84798),k=a(14875),A=a(44554),T=a(96691),C=a(24922);const v=15e4;Error;const y={initializing:!1,initialized:!1,loadingPrices:!1,loadingQuote:!1,loadingApprovalTransaction:!1,loadingBuildTransaction:!1,loadingTransaction:!1,fetchError:!1,approvalTransaction:void 0,swapTransaction:void 0,transactionError:void 0,sourceToken:void 0,sourceTokenAmount:"",sourceTokenPriceInUSD:0,toToken:void 0,toTokenAmount:"",toTokenPriceInUSD:0,networkPrice:"0",networkBalanceInUSD:"0",networkTokenSymbol:"",inputError:void 0,slippage:i.oU.CONVERT_SLIPPAGE_TOLERANCE,tokens:void 0,popularTokens:void 0,suggestedTokens:void 0,foundTokens:void 0,myTokensWithBalance:void 0,tokensPriceMap:{},gasFee:"0",gasPriceInUSD:0,priceImpact:void 0,maxSlippage:void 0,providerFee:void 0},N=(0,s.BX)(y),I={state:N,subscribe:e=>(0,s.B1)(N,(()=>e(N))),subscribeKey:(e,t)=>(0,n.u$)(N,e,t),getParams(){const e=g.W.state.activeCaipAddress,t=g.W.state.activeChain,a=c.w.getPlainAddress(e),s=g.W.getActiveNetworkTokenAddress(),n=d.i.getConnectedConnectorId(t);if(!a)throw new Error("No address found to swap the tokens from.");const r=!N.toToken?.address||!N.toToken?.decimals,i=!N.sourceToken?.address||!N.sourceToken?.decimals||!o.Se.bigNumber(N.sourceTokenAmount).isGreaterThan(0),p=!N.sourceTokenAmount;return{networkAddress:s,fromAddress:a,fromCaipAddress:e,sourceTokenAddress:N.sourceToken?.address,toTokenAddress:N.toToken?.address,toTokenAmount:N.toTokenAmount,toTokenDecimals:N.toToken?.decimals,sourceTokenAmount:N.sourceTokenAmount,sourceTokenDecimals:N.sourceToken?.decimals,invalidToToken:r,invalidSourceToken:i,invalidSourceTokenAmount:p,availableToSwap:e&&!r&&!i&&!p,isAuthConnector:n===o.oU.CONNECTOR_ID.AUTH}},setSourceToken(e){if(!e)return N.sourceToken=e,N.sourceTokenAmount="",void(N.sourceTokenPriceInUSD=0);N.sourceToken=e,this.setTokenPrice(e.address,"sourceToken")},setSourceTokenAmount(e){N.sourceTokenAmount=e},setToToken(e){if(!e)return N.toToken=e,N.toTokenAmount="",void(N.toTokenPriceInUSD=0);N.toToken=e,this.setTokenPrice(e.address,"toToken")},setToTokenAmount(e){N.toTokenAmount=e?o.Se.formatNumberToLocalString(e,6):""},async setTokenPrice(e,t){let a=N.tokensPriceMap[e]||0;a||(N.loadingPrices=!0,a=await this.getAddressPrice(e)),"sourceToken"===t?N.sourceTokenPriceInUSD=a:"toToken"===t&&(N.toTokenPriceInUSD=a),N.loadingPrices&&(N.loadingPrices=!1),this.getParams().availableToSwap&&this.swapTokens()},switchTokens(){if(N.initializing||!N.initialized)return;const e=N.toToken?{...N.toToken}:void 0,t=N.sourceToken?{...N.sourceToken}:void 0,a=e&&""===N.toTokenAmount?"1":N.toTokenAmount;this.setSourceToken(e),this.setToToken(t),this.setSourceTokenAmount(a),this.setToTokenAmount(""),this.swapTokens()},resetState(){N.myTokensWithBalance=y.myTokensWithBalance,N.tokensPriceMap=y.tokensPriceMap,N.initialized=y.initialized,N.sourceToken=y.sourceToken,N.sourceTokenAmount=y.sourceTokenAmount,N.sourceTokenPriceInUSD=y.sourceTokenPriceInUSD,N.toToken=y.toToken,N.toTokenAmount=y.toTokenAmount,N.toTokenPriceInUSD=y.toTokenPriceInUSD,N.networkPrice=y.networkPrice,N.networkTokenSymbol=y.networkTokenSymbol,N.networkBalanceInUSD=y.networkBalanceInUSD,N.inputError=y.inputError},resetValues(){const{networkAddress:e}=this.getParams(),t=N.tokens?.find((t=>t.address===e));this.setSourceToken(t),this.setToToken(void 0)},getApprovalLoadingState:()=>N.loadingApprovalTransaction,clearError(){N.transactionError=void 0},async initializeState(){if(!N.initializing){if(N.initializing=!0,!N.initialized)try{await this.fetchTokens(),N.initialized=!0}catch(e){N.initialized=!1,C.P.showError("Failed to initialize swap"),T.I.goBack()}N.initializing=!1}},async fetchTokens(){const{networkAddress:e}=this.getParams();await this.getTokenList(),await this.getNetworkTokenPrice(),await this.getMyTokensWithBalance();const t=N.tokens?.find((t=>t.address===e));t&&(N.networkTokenSymbol=t.symbol,this.setSourceToken(t),this.setSourceTokenAmount("1"))},async getTokenList(){const e=await p.s.getTokenList();N.tokens=e,N.popularTokens=e.sort(((e,t)=>e.symbolt.symbol?1:0)),N.suggestedTokens=e.filter((e=>!!i.oU.SWAP_SUGGESTED_TOKENS.includes(e.symbol)),{})},async getAddressPrice(e){const t=N.tokensPriceMap[e];if(t)return t;const a=await h.T.fetchTokenPrice({projectId:A.H.state.projectId,addresses:[e]}),s=a?.fungibles||[],n=[...N.tokens||[],...N.myTokensWithBalance||[]],o=n?.find((t=>t.address===e))?.symbol,r=s.find((e=>e.symbol.toLowerCase()===o?.toLowerCase()))?.price||0,i=parseFloat(r.toString());return N.tokensPriceMap[e]=i,i},async getNetworkTokenPrice(){const{networkAddress:e}=this.getParams(),t=await h.T.fetchTokenPrice({projectId:A.H.state.projectId,addresses:[e]}).catch((()=>(C.P.showError("Failed to fetch network token price"),{fungibles:[]}))),a=t.fungibles?.[0],s=a?.price.toString()||"0";N.tokensPriceMap[e]=parseFloat(s),N.networkTokenSymbol=a?.symbol||"",N.networkPrice=s},async getMyTokensWithBalance(e){const t=await p.s.getMyTokensWithBalance(e);t&&(await this.getInitialGasPrice(),this.setBalances(t))},setBalances(e){const{networkAddress:t}=this.getParams(),a=g.W.state.activeCaipNetwork;if(!a)return;const s=e.find((e=>e.address===t));e.forEach((e=>{N.tokensPriceMap[e.address]=e.price||0})),N.myTokensWithBalance=e.filter((e=>e.address.startsWith(a.caipNetworkId))),N.networkBalanceInUSD=s?o.Se.multiply(s.quantity.numeric,s.price).toString():"0"},async getInitialGasPrice(){const e=await p.s.fetchGasPrice();if(!e)return{gasPrice:null,gasPriceInUSD:null};if("solana"===g.W.state?.activeCaipNetwork?.chainNamespace)return N.gasFee=e.standard??"0",N.gasPriceInUSD=o.Se.multiply(e.standard,N.networkPrice).dividedBy(1e9).toNumber(),{gasPrice:BigInt(N.gasFee),gasPriceInUSD:Number(N.gasPriceInUSD)};{const t=e.standard??"0",a=BigInt(t),s=BigInt(v),n=l.N.getGasPriceInUSD(N.networkPrice,s,a);return N.gasFee=t,N.gasPriceInUSD=n,{gasPrice:a,gasPriceInUSD:n}}},async swapTokens(){const e=u.U.state.address,t=N.sourceToken,a=N.toToken,s=o.Se.bigNumber(N.sourceTokenAmount).isGreaterThan(0);if(!a||!t||N.loadingPrices||!s)return;N.loadingQuote=!0;const n=o.Se.bigNumber(N.sourceTokenAmount).multipliedBy(10**t.decimals).integerValue();try{const s=await h.T.fetchSwapQuote({userAddress:e,projectId:A.H.state.projectId,from:t.address,to:a.address,gasPrice:N.gasFee,amount:n.toString()});N.loadingQuote=!1;const r=s?.quotes?.[0]?.toAmount;if(!r)return void m.h.open({shortMessage:"Incorrect amount",longMessage:"Please enter a valid amount"},"error");const i=o.Se.bigNumber(r).dividedBy(10**a.decimals).toString();this.setToTokenAmount(i);this.hasInsufficientToken(N.sourceTokenAmount,t.address)?N.inputError="Insufficient balance":(N.inputError=void 0,this.setTransactionDetails())}catch(e){N.loadingQuote=!1,N.inputError="Insufficient balance"}},async getTransaction(){const{fromCaipAddress:e,availableToSwap:t}=this.getParams(),a=N.sourceToken,s=N.toToken;if(e&&t&&a&&s&&!N.loadingQuote)try{N.loadingBuildTransaction=!0;let t;return t=await p.s.fetchSwapAllowance({userAddress:e,tokenAddress:a.address,sourceTokenAmount:N.sourceTokenAmount,sourceTokenDecimals:a.decimals})?await this.createSwapTransaction():await this.createAllowanceTransaction(),N.loadingBuildTransaction=!1,N.fetchError=!1,t}catch(e){return T.I.goBack(),C.P.showError("Failed to check allowance"),N.loadingBuildTransaction=!1,N.approvalTransaction=void 0,N.swapTransaction=void 0,void(N.fetchError=!0)}},async createAllowanceTransaction(){const{fromCaipAddress:e,fromAddress:t,sourceTokenAddress:a,toTokenAddress:s}=this.getParams();if(e&&s){if(!a)throw new Error("createAllowanceTransaction - No source token address found.");try{const n=await h.T.generateApproveCalldata({projectId:A.H.state.projectId,from:a,to:s,userAddress:e}),o=await w.x.estimateGas({address:t,to:c.w.getPlainAddress(n.tx.to),data:n.tx.data}),r={data:n.tx.data,to:c.w.getPlainAddress(n.tx.from),gas:o,gasPrice:BigInt(n.tx.eip155.gasPrice),value:BigInt(n.tx.value),toAmount:N.toTokenAmount};return N.swapTransaction=void 0,N.approvalTransaction={data:r.data,to:r.to,gas:r.gas??BigInt(0),gasPrice:r.gasPrice,value:r.value,toAmount:r.toAmount},{data:r.data,to:r.to,gas:r.gas??BigInt(0),gasPrice:r.gasPrice,value:r.value,toAmount:r.toAmount}}catch(e){return T.I.goBack(),C.P.showError("Failed to create approval transaction"),N.approvalTransaction=void 0,N.swapTransaction=void 0,void(N.fetchError=!0)}}},async createSwapTransaction(){const{networkAddress:e,fromCaipAddress:t,sourceTokenAmount:a}=this.getParams(),s=N.sourceToken,n=N.toToken;if(!(t&&a&&s&&n))return;const o=w.x.parseUnits(a,s.decimals)?.toString();try{const a=await h.T.generateSwapCalldata({projectId:A.H.state.projectId,userAddress:t,from:s.address,to:n.address,amount:o}),r=s.address===e,i=BigInt(a.tx.eip155.gas),d=BigInt(a.tx.eip155.gasPrice),p={data:a.tx.data,to:c.w.getPlainAddress(a.tx.to),gas:i,gasPrice:d,value:r?BigInt(o??"0"):BigInt("0"),toAmount:N.toTokenAmount};return N.gasPriceInUSD=l.N.getGasPriceInUSD(N.networkPrice,i,d),N.approvalTransaction=void 0,N.swapTransaction=p,p}catch(e){return T.I.goBack(),C.P.showError("Failed to create transaction"),N.approvalTransaction=void 0,N.swapTransaction=void 0,void(N.fetchError=!0)}},async sendTransactionForApproval(e){const{fromAddress:t,isAuthConnector:a}=this.getParams();N.loadingApprovalTransaction=!0;const s="Approve limit increase in your wallet";a?T.I.pushTransactionStack({view:null,goBack:!0,onSuccess(){C.P.showLoading(s)}}):C.P.showLoading(s);try{await w.x.sendTransaction({address:t,to:e.to,data:e.data,gas:e.gas,gasPrice:BigInt(e.gasPrice),value:e.value,chainNamespace:"eip155"}),await this.swapTokens(),await this.getTransaction(),N.approvalTransaction=void 0,N.loadingApprovalTransaction=!1}catch(e){const t=e;N.transactionError=t?.shortMessage,N.loadingApprovalTransaction=!1,C.P.showError(t?.shortMessage||"Transaction error"),k.E.sendEvent({type:"track",event:"SWAP_APPROVAL_ERROR",properties:{message:t?.shortMessage||t?.message||"Unknown",network:g.W.state.activeCaipNetwork?.caipNetworkId||"",swapFromToken:this.state.sourceToken?.symbol||"",swapToToken:this.state.toToken?.symbol||"",swapFromAmount:this.state.sourceTokenAmount||"",swapToAmount:this.state.toTokenAmount||"",isSmartAccount:u.U.state.preferredAccountType===r.Vl.ACCOUNT_TYPES.SMART_ACCOUNT}})}},async sendTransactionForSwap(e){if(!e)return;const{fromAddress:t,toTokenAmount:a,isAuthConnector:s}=this.getParams();N.loadingTransaction=!0;const n=`Swapping ${N.sourceToken?.symbol} to ${o.Se.formatNumberToLocalString(a,3)} ${N.toToken?.symbol}`,i=`Swapped ${N.sourceToken?.symbol} to ${o.Se.formatNumberToLocalString(a,3)} ${N.toToken?.symbol}`;s?T.I.pushTransactionStack({view:"Account",goBack:!1,onSuccess(){C.P.showLoading(n),I.resetState()}}):C.P.showLoading("Confirm transaction in your wallet");try{const a=[N.sourceToken?.address,N.toToken?.address].join(","),n=await w.x.sendTransaction({address:t,to:e.to,data:e.data,gas:e.gas,gasPrice:BigInt(e.gasPrice),value:e.value,chainNamespace:"eip155"});return N.loadingTransaction=!1,C.P.showSuccess(i),k.E.sendEvent({type:"track",event:"SWAP_SUCCESS",properties:{network:g.W.state.activeCaipNetwork?.caipNetworkId||"",swapFromToken:this.state.sourceToken?.symbol||"",swapToToken:this.state.toToken?.symbol||"",swapFromAmount:this.state.sourceTokenAmount||"",swapToAmount:this.state.toTokenAmount||"",isSmartAccount:u.U.state.preferredAccountType===r.Vl.ACCOUNT_TYPES.SMART_ACCOUNT}}),I.resetState(),s||T.I.replace("Account"),I.getMyTokensWithBalance(a),n}catch(e){const t=e;return N.transactionError=t?.shortMessage,N.loadingTransaction=!1,C.P.showError(t?.shortMessage||"Transaction error"),void k.E.sendEvent({type:"track",event:"SWAP_ERROR",properties:{message:t?.shortMessage||t?.message||"Unknown",network:g.W.state.activeCaipNetwork?.caipNetworkId||"",swapFromToken:this.state.sourceToken?.symbol||"",swapToToken:this.state.toToken?.symbol||"",swapFromAmount:this.state.sourceTokenAmount||"",swapToAmount:this.state.toTokenAmount||"",isSmartAccount:u.U.state.preferredAccountType===r.Vl.ACCOUNT_TYPES.SMART_ACCOUNT}})}},hasInsufficientToken(e,t){const a=l.N.isInsufficientSourceTokenForSwap(e,t,N.myTokensWithBalance);let s=!0;return s=u.U.state.preferredAccountType!==r.Vl.ACCOUNT_TYPES.SMART_ACCOUNT&&l.N.isInsufficientNetworkTokenForGas(N.networkBalanceInUSD,N.gasPriceInUSD),s||a},setTransactionDetails(){const{toTokenAddress:e,toTokenDecimals:t}=this.getParams();e&&t&&(N.gasPriceInUSD=l.N.getGasPriceInUSD(N.networkPrice,BigInt(N.gasFee),BigInt(v)),N.priceImpact=l.N.getPriceImpact({sourceTokenAmount:N.sourceTokenAmount,sourceTokenPriceInUSD:N.sourceTokenPriceInUSD,toTokenPriceInUSD:N.toTokenPriceInUSD,toTokenAmount:N.toTokenAmount}),N.maxSlippage=l.N.getMaxSlippage(N.slippage,N.toTokenAmount),N.providerFee=l.N.getProviderFee(N.sourceTokenAmount))}}},53805:(e,t,a)=>{a.d(t,{W:()=>i});var s=a(71285),n=a(35748),o=a(11063);const r=(0,s.BX)({themeMode:"dark",themeVariables:{},w3mThemeVariables:void 0}),i={state:r,subscribe:e=>(0,s.B1)(r,(()=>e(r))),setThemeMode(e){r.themeMode=e;try{const t=o.a.getAuthConnector();if(t){const a=i.getSnapshot().themeVariables;t.provider.syncTheme({themeMode:e,themeVariables:a,w3mThemeVariables:(0,n.o_)(a,e)})}}catch{}},setThemeVariables(e){r.themeVariables={...r.themeVariables,...e};try{const e=o.a.getAuthConnector();if(e){const t=i.getSnapshot().themeVariables;e.provider.syncTheme({themeVariables:t,w3mThemeVariables:(0,n.o_)(r.themeVariables,r.themeMode)})}}catch{}},getSnapshot:()=>(0,s.P9)(r)}},16487:(e,t,a)=>{a.d(t,{W:()=>u});var s=a(71285),n=a(72088),o=a(73363),r=a(78770),i=a(34985),c=a(14875),d=a(44554),p=a(24922);const l=(0,s.BX)({transactions:[],coinbaseTransactions:{},transactionsByYear:{},lastNetworkInView:void 0,loading:!1,empty:!1,next:void 0}),u={state:l,subscribe:e=>(0,s.B1)(l,(()=>e(l))),setLastNetworkInView(e){l.lastNetworkInView=e},async fetchTransactions(e,t){const{projectId:a}=d.H.state;if(!a||!e)throw new Error("Transactions can't be fetched without a projectId and an accountAddress");l.loading=!0;try{const s=await r.T.fetchTransactions({account:e,projectId:a,cursor:l.next,onramp:t,cache:"coinbase"===t?"no-cache":void 0,chainId:i.W.state.activeCaipNetwork?.caipNetworkId}),n=this.filterSpamTransactions(s.data),o=this.filterByConnectedChain(n),c=[...l.transactions,...o];l.loading=!1,"coinbase"===t?l.coinbaseTransactions=this.groupTransactionsByYearAndMonth(l.coinbaseTransactions,s.data):(l.transactions=c,l.transactionsByYear=this.groupTransactionsByYearAndMonth(l.transactionsByYear,o)),l.empty=0===c.length,l.next=s.next?s.next:void 0}catch(t){c.E.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:e,projectId:a,cursor:l.next,isSmartAccount:o.U.state.preferredAccountType===n.Vl.ACCOUNT_TYPES.SMART_ACCOUNT}}),p.P.showError("Failed to fetch transactions"),l.loading=!1,l.empty=!0,l.next=void 0}},groupTransactionsByYearAndMonth(e={},t=[]){const a=e;return t.forEach((e=>{const t=new Date(e.metadata.minedAt).getFullYear(),s=new Date(e.metadata.minedAt).getMonth(),n=a[t]??{},o=(n[s]??[]).filter((t=>t.id!==e.id));a[t]={...n,[s]:[...o,e].sort(((e,t)=>new Date(t.metadata.minedAt).getTime()-new Date(e.metadata.minedAt).getTime()))}})),a},filterSpamTransactions:e=>e.filter((e=>!e.transfers.every((e=>!0===e.nft_info?.flags.is_spam)))),filterByConnectedChain(e){const t=i.W.state.activeCaipNetwork?.caipNetworkId;return e.filter((e=>e.metadata.chain===t))},clearCursor(){l.next=void 0},resetTransactions(){l.transactions=[],l.transactionsByYear={},l.lastNetworkInView=void 0,l.loading=!1,l.empty=!1,l.next=void 0}}}}]);