PageSourceSearch

https://pvpai.ai/_next/static/chunks/defdc2c468ed4841.js?dpl=dpl_2269b9fpM2Jk5GVAioDeEGWv91kL

js pvpai.ai collected 2026-10-05 15:46:12 UTC 82,123 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,604647,292227,354157,637824,757758,747512,e=>{"use strict";let t,n;e.s(["createAppKit",()=>eO],604647);var r=e.i(227302),o=e.i(401564),i=e.i(90068),s=e.i(886259),a=e.i(971080),l=e.i(149454),c=e.i(360334),d=e.i(653157),C=e.i(77277),h=e.i(221728),p=e.i(218454),u=e.i(564126),g=e.i(851887),m=e.i(960398),w=e.i(82283),A=e.i(462579),E=e.i(758331),N=e.i(639403),f=e.i(535568),v=e.i(769718),T=e.i(16555),U=e.i(810923),y=e.i(979484),O=e.i(542991);class I{static getInstance({projectId:e,chainId:t,enableLogger:n,onTimeout:r,abortController:o,getActiveCaipNetwork:i,getCaipNetworks:s}){let{metadata:a,sdkVersion:l,sdkType:c}=w.OptionsController.getSnapshot();return I.instance||(I.instance=new O.W3mFrameProvider({projectId:e,chainId:t,enableLogger:n,onTimeout:r,abortController:o,getActiveCaipNetwork:i,getCaipNetworks:s,enableCloudAuthAccount:!!w.OptionsController.state.remoteFeatures?.emailCapture,metadata:a,sdkVersion:l,sdkType:c})),I.instance}}e.s(["W3mFrameProviderSingleton",()=>I],292227);var k=e.i(971342),S=e.i(681285),b=e.i(150576),P=e.i(465166),_=e.i(436220),R=e.i(24742),L=e.i(210087),W=e.i(770850),F=e.i(313730),D=e.i(803468),M=e.i(230121),H=e.i(194712),x=e.i(811424),B=e.i(197730);function j(e){try{return new URL(e)}catch{return null}}let q={ton:["ton_sendMessage","ton_signData"],solana:["solana_signMessage","solana_signTransaction","solana_requestAccounts","solana_getAccounts","solana_signAllTransactions","solana_signAndSendTransaction"],eip155:["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_showCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"],bip122:["sendTransfer","signMessage","signPsbt","getAccountAddresses"]},K={RPC_ERROR_CODE:{USER_REJECTED:5e3,USER_REJECTED_METHODS:5002},getMethodsByChainNamespace:e=>q[e]||[],createDefaultNamespace(e){return{methods:this.getMethodsByChainNamespace(e),events:["accountsChanged","chainChanged"],chains:[],rpcMap:{}}},applyNamespaceOverrides(e,t){if(!t)return{...e};let n={...e},r=new Set;if(t.methods&&Object.keys(t.methods).forEach(e=>r.add(e)),t.chains&&Object.keys(t.chains).forEach(e=>r.add(e)),t.events&&Object.keys(t.events).forEach(e=>r.add(e)),t.rpcMap&&Object.keys(t.rpcMap).forEach(e=>{let[t]=e.split(":");t&&r.add(t)}),r.forEach(e=>{n[e]||(n[e]=this.createDefaultNamespace(e))}),t.methods&&Object.entries(t.methods).forEach(([e,t])=>{n[e]&&(n[e].methods=t)}),t.chains&&Object.entries(t.chains).forEach(([e,t])=>{n[e]&&(n[e].chains=t)}),t.events&&Object.entries(t.events).forEach(([e,t])=>{n[e]&&(n[e].events=t)}),t.rpcMap){let e=new Set;Object.entries(t.rpcMap).forEach(([t,r])=>{let[o,i]=t.split(":");o&&i&&n[o]&&(n[o].rpcMap||(n[o].rpcMap={}),e.has(o)||(n[o].rpcMap={},e.add(o)),n[o].rpcMap[i]=r)})}return n},createNamespaces(e,t){let n=e.reduce((e,t)=>{let{id:n,chainNamespace:r,rpcUrls:o}=t,i=o.default.http[0];e[r]||(e[r]=this.createDefaultNamespace(r));let s=`${r}:${n}`,a=e[r];switch(a.chains.push(s),s){case"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":a.chains.push("solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ");break;case"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1":a.chains.push("solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K")}return a?.rpcMap&&i&&(a.rpcMap[n]=i),e},{});return this.applyNamespaceOverrides(n,t)},resolveReownName:async e=>{let t=await F.EnsController.resolveName(e),n=t?.addresses?Object.values(t.addresses):[];return n[0]?.address||!1},getChainsFromNamespaces:(e={})=>Object.values(e).flatMap(e=>Array.from(new Set([...e.chains||[],...e.accounts.map(e=>{let[t,n]=e.split(":");return`${t}:${n}`})]))),isSessionEventData:e=>"object"==typeof e&&null!==e&&"id"in e&&"topic"in e&&"params"in e&&"object"==typeof e.params&&null!==e.params&&"chainId"in e.params&&"event"in e.params&&"object"==typeof e.params.event&&null!==e.params.event,isUserRejectedRequestError(e){try{if("object"==typeof e&&null!==e){let t="number"==typeof e.code,n=t&&e.code===K.RPC_ERROR_CODE.USER_REJECTED_METHODS,r=t&&e.code===K.RPC_ERROR_CODE.USER_REJECTED;return n||r}return!1}catch{return!1}},isOriginAllowed(e,t,n){let r=[...t,...n];if(0===t.length)return!0;let o=j(e);if(!o)return r.some(t=>!t.includes("*")&&t===e);if("localhost"===o.hostname||"127.0.0.1"===o.hostname)return!0;for(let t of r)if(t.includes("*")){if(function(e,t,n){let r,o,i=n,s=i.indexOf("://");-1!==s&&(r=i.slice(0,s),i=i.slice(s+3));let a=i.indexOf("/");-1!==a&&(i=i.slice(0,a));let l=i,c=l.lastIndexOf(":");-1!==c&&(o=l.slice(c+1),l=l.slice(0,c));let d=l.split(".");for(let e of d)if(e.includes("*")&&"*"!==e)return!1;let C=e.protocol.replace(/:$/u,"");if(r&&r!==C||void 0!==o&&"*"!==o&&o!==e.port)return!1;let h=function(e){let t=e.indexOf("://");if(-1===t)return null;let n=e.slice(0,t),r=t+3,o=e.indexOf("/",r);-1===o&&(o=e.length);let i=e.slice(r,o),s=i.lastIndexOf(":");return -1===s?{scheme:n,host:i}:{scheme:n,host:i.slice(0,s),port:i.slice(s+1)}}(t),p=(h?h.host:e.hostname).split(".");if(d.length!==p.length)return!1;for(let e=d.length-1;e>=0;e-=1){let t=d[e],n=p[e];if("*"!==t&&t!==n)return!1}return!0}(o,e,t))return!0}else if(function(e,t){let n,r,o;
1if(t.includes("://")){let n=j(t);return!!n&&n.origin===e}let{host:i,port:s}=-1===(o=(r=(n=t.split("/")).length>0&&void 0!==n[0]?n[0]:"").lastIndexOf(":"))?{host:r}:{host:r.slice(0,o),port:r.slice(o+1)},a=e.indexOf("://");if(-1!==a){let t=a+3,n=e.indexOf("/",t);-1===n&&(n=e.length);let r=e.slice(t,n);return void 0!==s?`${i}:${s}`===r:i===r.split(":")[0]}let l=j(e);return!!l&&(void 0!==s?i===l.hostname&&s===(l.port||void 0):i===l.hostname)}(e,t))return!0;return!1},listenWcProvider({universalProvider:e,namespace:t,onConnect:n,onDisconnect:r,onAccountsChanged:o,onChainChanged:i,onDisplayUri:s}){n&&e.on("connect",()=>{n(K.getWalletConnectAccounts(e,t))}),r&&e.on("disconnect",()=>{r()}),o&&e.on("accountsChanged",n=>{try{let r=e.session?.namespaces?.[t]?.accounts||[],i=e.rpcProviders?.[t]?.getDefaultChain(),s=n.map(e=>{let n=r.find(n=>n.includes(`${t}:${i}:${e}`));if(!n)return;let{chainId:o,chainNamespace:s}=b.ParseUtil.parseCaipAddress(n);return{address:e,chainId:o,chainNamespace:s}}).filter(e=>void 0!==e);s.length>0&&o(s)}catch(e){console.warn("Failed to parse accounts for namespace on accountsChanged event",t,n,e)}}),i&&e.on("chainChanged",e=>{i(e)}),s&&e.on("display_uri",e=>{s(e)})},getWalletConnectAccounts(e,t){let n=new Set,r=e?.session?.namespaces?.[t]?.accounts?.map(e=>b.ParseUtil.parseCaipAddress(e)).filter(({address:e})=>!n.has(e.toLowerCase())&&(n.add(e.toLowerCase()),!0));return r&&r.length>0?r:[]}};e.s(["WcHelpersUtil",0,K],354157),e.i(404041);var V=e.i(459088),$=e.i(334523),z=e.i(366350);let G={createLogger(e,t="error"){let n=(0,z.getDefaultLoggerOptions)({level:t}),{logger:r}=(0,z.generatePlatformLogger)({opts:n});return r.error=(...t)=>{for(let n of t)if(n instanceof Error)return void e(n,...t);e(void 0,...t)},r}};var Y=e.i(124141);let X={TOKEN_ADDRESSES_BY_SYMBOL:{USDC:{8453:Y.baseUSDC.asset,84532:Y.baseSepoliaUSDC.asset}},getTokenSymbolByAddress(e){if(!e)return;let[t]=Object.entries(X.TOKEN_ADDRESSES_BY_SYMBOL).find(([t,n])=>Object.values(n).includes(e))??[];return t}};var J=e.i(103476),Q=e.i(675107),Z=e.i(683075);let ee=[o.ConstantsUtil.CONNECTOR_ID.AUTH,o.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT];class et{constructor(e){this.availableConnectors=[],this.availableConnections=[],this.providerHandlers={},this.eventListeners=new Map,this.getCaipNetworks=e=>m.ChainController.getCaipNetworks(e),this.getConnectorId=e=>l.ConnectorController.getConnectorId(e),e&&this.construct(e)}construct(e){this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get connections(){return this.availableConnections}get networks(){return this.getCaipNetworks(this.namespace)}onAuthConnected({accounts:e,chainId:t}){let n=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===t?.toString());e&&n&&this.addConnection({connectorId:o.ConstantsUtil.CONNECTOR_ID.AUTH,accounts:e,caipNetwork:n})}setAuthProvider(e){e.onConnect(this.onAuthConnected.bind(this)),e.onSocialConnected(this.onAuthConnected.bind(this)),this.addConnector({id:o.ConstantsUtil.CONNECTOR_ID.AUTH,type:"AUTH",name:o.ConstantsUtil.CONNECTOR_NAMES.AUTH,provider:e,imageId:void 0,chain:this.namespace,chains:[]})}addConnector(...e){let t=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(e=>!t.has(e.id)&&(t.add(e.id),!0)),this.emit("connectors",this.availableConnectors)}addConnection(...e){let t=new Set;this.availableConnections=[...e,...this.availableConnections].filter(e=>!t.has(e.connectorId.toLowerCase())&&(t.add(e.connectorId.toLowerCase()),!0)),this.emit("connections",this.availableConnections)}deleteConnection(e){this.availableConnections=this.availableConnections.filter(t=>t.connectorId.toLowerCase()!==e.toLowerCase()),this.emit("connections",this.availableConnections)}clearConnections(e=!1){this.availableConnections=[],e&&this.emit("connections",this.availableConnections)}setStatus(e,t){m.ChainController.setAccountProp("status",e,t)}on(e,t){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e)?.add(t)}off(e,t){let n=this.eventListeners.get(e);n&&n.delete(t)}
1removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,t){let n=this.eventListeners.get(e);n&&n.forEach(e=>e(t))}async connectWalletConnect(e){try{let e=this.getWalletConnectConnector();return{clientId:(await e.connectWalletConnect()).clientId}}catch(e){if(K.isUserRejectedRequestError(e))throw new Z.UserRejectedRequestError(e);throw e}}async switchNetwork(e){let{caipNetwork:t}=e,n=A.ProviderController.getProviderId(t.chainNamespace),r=A.ProviderController.getProvider(t.chainNamespace);if(!r)throw Error("Provider not found");if("WALLET_CONNECT"===n)return void r.setDefaultChain(t.caipNetworkId);if("AUTH"===n){let e=l.ConnectorController.getAuthConnector()?.provider;if(!e)throw Error("Auth provider not found");let n=(0,u.getPreferredAccountType)(t.chainNamespace);await e.switchNetwork({chainId:t.caipNetworkId});let r=await e.getUser({chainId:t.caipNetworkId,preferredAccountType:n});this.emit("switchNetwork",r)}}getWalletConnectConnector(){let e=this.connectors.find(e=>"walletConnect"===e.id);if(!e)throw Error("WalletConnectConnector not found");return e}onConnect(e,t){if(e.length>0){let{address:n,chainId:o}=r.CoreHelperUtil.getAccount(e[0]),i=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===o?.toString()),s=this.connectors.find(e=>e.id===t);n&&(this.emit("accountChanged",{address:n,chainId:o,connector:s}),this.addConnection({connectorId:t,accounts:e.map(e=>{let{address:t}=r.CoreHelperUtil.getAccount(e);return{address:t}}),caipNetwork:i}))}}onAccountsChanged(e,t,n=!0){if(e.length>0){let{address:n}=r.CoreHelperUtil.getAccount(e[0]),i=this.getConnection({connectorId:t,connections:this.connections,connectors:this.connectors});n&&this.getConnectorId(o.ConstantsUtil.CHAIN.EVM)?.toLowerCase()===t.toLowerCase()&&this.emit("accountChanged",{address:n,chainId:i?.caipNetwork?.id,connector:i?.connector}),this.addConnection({connectorId:t,accounts:e.map(e=>{let{address:t}=r.CoreHelperUtil.getAccount(e);return{address:t}}),caipNetwork:i?.caipNetwork})}else n&&this.onDisconnect(t)}onDisconnect(e){this.removeProviderListeners(e),this.deleteConnection(e),this.getConnectorId(o.ConstantsUtil.CHAIN.EVM)?.toLowerCase()===e.toLowerCase()&&this.emitFirstAvailableConnection(),0===this.connections.length&&this.emit("disconnect")}onChainChanged(e,t){let n="string"==typeof e&&e.startsWith("0x")?parseInt(e,16).toString():e.toString(),r=this.getConnection({connectorId:t,connections:this.connections,connectors:this.connectors}),i=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===n);r&&this.addConnection({connectorId:t,accounts:r.accounts,caipNetwork:i}),this.getConnectorId(o.ConstantsUtil.CHAIN.EVM)?.toLowerCase()===t.toLowerCase()&&this.emit("switchNetwork",{chainId:n})}listenProviderEvents(e,t){if(ee.includes(e))return;let n=t=>this.onAccountsChanged(t,e),r=t=>this.onChainChanged(t,e),o=()=>this.onDisconnect(e);this.providerHandlers[e]||(t.on("disconnect",o),t.on("accountsChanged",n),t.on("chainChanged",r),this.providerHandlers[e]={provider:t,disconnect:o,accountsChanged:n,chainChanged:r})}removeProviderListeners(e){if(this.providerHandlers[e]){let{provider:t,disconnect:n,accountsChanged:r,chainChanged:o}=this.providerHandlers[e];t.removeListener("disconnect",n),t.removeListener("accountsChanged",r),t.removeListener("chainChanged",o),this.providerHandlers[e]=null}}emitFirstAvailableConnection(){let e=this.getConnection({connections:this.connections,connectors:this.connectors});if(e){let[t]=e.accounts;this.emit("accountChanged",{address:t?.address,chainId:e.caipNetwork?.id,connector:e.connector})}}getConnection({address:e,connectorId:t,connections:n,connectors:r}){if(t){let o=n.find(e=>e.connectorId.toLowerCase()===t.toLowerCase());if(!o)return null;let i=r.find(e=>e.id.toLowerCase()===o.connectorId.toLowerCase()),s=e?o.accounts.find(t=>t.address.toLowerCase()===e.toLowerCase()):o.accounts[0];return{...o,account:s,connector:i}}let o=n.find(e=>e.accounts.length>0&&r.some(t=>t.id.toLowerCase()===e.connectorId.toLowerCase()));if(o){let[e]=o.accounts,t=r.find(e=>e.id.toLowerCase()===o.connectorId.toLowerCase());return{...o,account:e,connector:t}}return null}}e.s(["AdapterBlueprint",()=>et],637824);class en{constructor({provider:e,namespace:t}){this.id=o.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT,this.name="WalletConnect",this.type="WALLET_CONNECT",this.imageId="ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400",this.getCaipNetworks=m.ChainController.getCaipNetworks.bind(m.ChainController),this.caipNetworks=this.getCaipNetworks(),this.provider=e,this.chain=t}get chains(){return this.getCaipNetworks()}async connectWalletConnect(){if(!await this.authenticate()){let e=this.getCaipNetworks(),t=w.OptionsController.state.universalProviderConfigOverride,n=K.createNamespaces(e,t);await this.provider.connect({optionalNamespaces:n})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){let e=this.chains.map(e=>e.caipNetworkId);return p.SIWXUtil.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:er})}}let er=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_getCallsStatus","wallet_sendCalls","wallet_getCapabilities","wallet_grantPermissions","wallet_revokePermissions","wallet_getAssets"];e.s(["WalletConnectConnector",()=>en],757758);class eo extends et{async setUniversalProvider(e){if(!this.namespace)throw Error("UniversalAdapter
1:setUniversalProvider - namespace is required");return this.addConnector(new en({provider:e,caipNetworks:this.getCaipNetworks(),namespace:this.namespace})),Promise.resolve()}async connect(e){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:Number(e.chainId),provider:this.provider,address:""})}async disconnect(){try{let e=this.getWalletConnectConnector();await e.disconnect(),this.emit("disconnect")}catch(e){console.warn("UniversalAdapter:disconnect - error",e)}return{connections:[]}}syncConnections(){return Promise.resolve()}async writeSolanaTransaction(){return Promise.resolve({hash:""})}async getAccounts({namespace:e}){let t=this.provider;return Promise.resolve({accounts:(t?.session?.namespaces?.[e]?.accounts?.map(e=>{let[,,t]=e.split(":");return t}).filter((e,t,n)=>n.indexOf(e)===t)||[]).map(t=>r.CoreHelperUtil.createAccount(e,t,"bip122"===e?"payment":"eoa"))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&c.ConstantsUtil.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:"0.00",symbol:e.caipNetwork?.nativeCurrency.symbol||""};let t=m.ChainController.getAccountData();if(t?.balanceLoading&&e.chainId===m.ChainController.state.activeCaipNetwork?.id)return{balance:t?.balance||"0.00",symbol:t?.balanceSymbol||""};let n=(await m.ChainController.fetchTokenBalance()).find(t=>t.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&t.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:n?.quantity.numeric||"0.00",symbol:n?.symbol||e.caipNetwork?.nativeCurrency.symbol||""}}async signMessage(e){let{provider:t,message:n,address:r}=e;if(!t)throw Error("UniversalAdapter:signMessage - provider is undefined");return{signature:m.ChainController.state.activeCaipNetwork?.chainNamespace===o.ConstantsUtil.CHAIN.SOLANA?(await t.request({method:"solana_signMessage",params:{message:J.default.encode(new TextEncoder().encode(n)),pubkey:r}},m.ChainController.state.activeCaipNetwork?.caipNetworkId)).signature:await t.request({method:"personal_sign",params:[n,r]},m.ChainController.state.activeCaipNetwork?.caipNetworkId)}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async sendTransaction(){return Promise.resolve({hash:""})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:""})}emitFirstAvailableConnection(){}parseUnits(){return 0n}formatUnits(){return"0"}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve("0x")}async syncConnection(){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:1,provider:this.provider,address:""})}async switchNetwork(e){let{caipNetwork:t}=e,n=this.getWalletConnectConnector();if(t.chainNamespace===o.ConstantsUtil.CHAIN.EVM)try{await n.provider?.request({method:"wallet_switchEthereumChain",params:[{chainId:(0,Q.toHex)(t.id)}]})}catch(e){if(4902===e.code||32603===e.code||5e3===e.code||e?.data?.originalError?.code===4902)try{await n.provider?.request({method:"wallet_addEthereumChain",params:[{chainId:(0,Q.toHex)(t.id),rpcUrls:[t?.rpcUrls.chainDefault?.http],chainName:t.name,nativeCurrency:t.nativeCurrency,blockExplorerUrls:[t.blockExplorers?.default.url]}]})}catch(e){throw Error("Chain is not supported")}}n.provider.setDefaultChain(t.caipNetworkId)}getWalletConnectProvider(){let e=this.connectors.find(e=>"WALLET_CONNECT"===e.type);return e?.provider}}let ei=["email","socials","swaps","onramp","activity","reownBranding","multiWallet","emailCapture","payWithExchange","payments","reownAuthentication","headless"],es={email:{apiFeatureName:"social_login",localFeatureName:"email",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return!!e.isEnabled&&t.includes("email")},processFallback:e=>void 0===e?c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.email:!!e},socials:{apiFeatureName:"social_login",localFeatureName:"socials",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return!!e.isEnabled&&t.length>0&&t.filter(e=>"email"!==e)},processFallback:e=>void 0===e?c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.socials:"boolean"==typeof e?!!e&&c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.socials:e},swaps:{apiFeatureName:"swap",localFeatureName:"swaps",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return!!e.isEnabled&&t.length>0&&t},processFallback:e=>void 0===e?c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.swaps:"boolean"==typeof e?!!e&&c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.swaps:e},onramp:{apiFeatureName:"onramp",localFeatureName:"onramp",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>{if(!e?.config)return!1;let t=e.config;return!!e.isEnabled&&t.length>0&&t},processFallback:e=>void 0===e?c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.onramp:"boolean"==typeof e?!!e&&c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.onramp:e},activity:{apiFeatureName:"activity",localFeatureName:"history",returnType:!1,isLegacy:!0,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:e=>void 0===e?c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.activity:!!e},reownBranding:{apiFeatureName:"reown_branding",localFeatureName:"reownBranding",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:e=>void 0===e?c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.reownBranding:!!e},emailCapture:{apiFeatureName:"email_capture",localFeatureName:"emailCapture",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>e.isEnabled&&(e.config??[]),processFallback:e=>!1},multiWallet:{apiFeatureName:"multi_wallet",localFeatureName:"multiWallet",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.multiWallet},payWithExchange:{apiFeatureName:"fund_from_exchange",localFeatureName:"payWithExchange",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.payWithExchange},payments:{apiFeatureName:"payments",localFeatureName:"payments",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.payments},reownAuthentication:{apiFeatureName:"reown_authentication",localFeatureName:"reownAuthentication",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:e=>void 0===e?c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.reownAuthentication:!!e},headless:{apiFeatureName:"headless",localFeatureName:"headless",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>c.ConstantsUtil.DEFAULT_REMOTE_FEATURES.headless}},ea={localSettingsOverridden:new Set,getApiConfig:(e,t)=>
1t?.find(t=>t.id===e),addWarning(e,t){if(void 0!==e){let e=es[t],n=e.isLegacy?`"features.${e.localFeatureName}" (now "${t}")`:`"features.${t}"`;this.localSettingsOverridden.add(n)}},processFeature(e,t,n,r,o){let i=es[e],s=t[i.localFeatureName];if(o&&!i.isAvailableOnBasic)return!1;if(r){let t=this.getApiConfig(i.apiFeatureName,n);return t?.config===null?this.processFallbackFeature(e,s):!!t?.config&&(void 0!==s&&this.addWarning(s,e),this.processApiFeature(e,t))}return this.processFallbackFeature(e,s)},processApiFeature:(e,t)=>es[e].processApi(t),processFallbackFeature:(e,t)=>es[e].processFallback(t),async fetchRemoteFeatures(e){let t=e.basic??!1,n=e.features||{};this.localSettingsOverridden.clear();let r=null,o=!1;try{o=null!=(r=await s.ApiController.fetchProjectConfig())}catch(e){console.warn("[Reown Config] Failed to fetch remote project configuration. Using local/default values.",e)}let i=o&&!t?c.ConstantsUtil.DEFAULT_REMOTE_FEATURES:c.ConstantsUtil.DEFAULT_REMOTE_FEATURES_DISABLED;try{for(let e of ei){let s=this.processFeature(e,n,r,o,t);Object.assign(i,{[e]:s})}}catch(e){return console.warn("[Reown Config] Failed to process the configuration from Cloud. Using default values.",e),c.ConstantsUtil.DEFAULT_REMOTE_FEATURES}if(o&&this.localSettingsOverridden.size>0){let e=`Your local configuration for ${Array.from(this.localSettingsOverridden).join(", ")} was ignored because a remote configuration was successfully fetched. Please manage these features via your project dashboard on dashboard.reown.com.`;g.AlertController.open({debugMessage:f.ErrorUtil.ALERT_WARNINGS.LOCAL_CONFIGURATION_IGNORED.debugMessage(e)},"warning")}return i}};class el{constructor(e){this.chainNamespaces=[],this.features={},this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(e,t)=>{if(e){let n=m.ChainController.getCaipNetworks(e)?.find(e=>e.id===t);if(n)return n;let r=m.ChainController.getNetworkData(e)?.caipNetwork;if(r)return r;let o=m.ChainController.getRequestedCaipNetworks(e);return o.filter(t=>t.chainNamespace===e)?.[0]}return m.ChainController.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{let e=this.getCaipNetwork();if(e)return e.id},this.getCaipNetworks=e=>m.ChainController.getCaipNetworks(e),this.getActiveChainNamespace=()=>m.ChainController.state.activeChain,this.setRequestedCaipNetworks=(e,t)=>{m.ChainController.setRequestedCaipNetworks(e,t)},this.getApprovedCaipNetworkIds=()=>m.ChainController.getAllApprovedCaipNetworkIds(),this.getCaipAddress=e=>m.ChainController.state.activeChain!==e&&e?m.ChainController.state.chains.get(e)?.accountState?.caipAddress:m.ChainController.state.activeCaipAddress,this.setClientId=e=>{R.BlockchainApiController.setClientId(e)},this.getProvider=e=>A.ProviderController.getProvider(e),this.getProviderType=e=>A.ProviderController.getProviderId(e),this.getPreferredAccountType=e=>(0,u.getPreferredAccountType)(e),this.setCaipAddress=(e,t,n=!1)=>{m.ChainController.setAccountProp("caipAddress",e,t,n),m.ChainController.setAccountProp("address",r.CoreHelperUtil.getPlainAddress(e),t,n)},this.setBalance=(e,t,n)=>{m.ChainController.setAccountProp("balance",e,n),m.ChainController.setAccountProp("balanceSymbol",t,n)},this.setProfileName=(e,t)=>{m.ChainController.setAccountProp("profileName",e,t)},this.setProfileImage=(e,t)=>{m.ChainController.setAccountProp("profileImage",e,t)},this.setUser=(e,t)=>{m.ChainController.setAccountProp("user",e,t)},this.resetAccount=e=>{m.ChainController.resetAccount(e)},this.setCaipNetwork=e=>{m.ChainController.setActiveCaipNetwork(e)},this.setCaipNetworkOfNamespace=(e,t)=>{m.ChainController.setChainNetworkData(t,{caipNetwork:e})},this.setStatus=(e,t)=>{m.ChainController.setAccountProp("status",e,t),l.ConnectorController.isConnected()?E.StorageUtil.setConnectionStatus("connected"):E.StorageUtil.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=e=>m.ChainController.getAccountData(e)?.address,this.setConnectors=e=>{let t=[...l.ConnectorController.state.allConnectors,...e];l.ConnectorController.setConnectors(t)},this.setConnections=(e,t)=>{E.StorageUtil.setConnections(e,t),a.ConnectionController.setConnections(e,t)},this.fetchIdentity=e=>R.BlockchainApiController.fetchIdentity(e),this.getReownName=e=>F.EnsController.getNamesForAddress(e),this.getConnectors=()=>l.ConnectorController.getConnectors(),this.getConnectorImage=e=>_.AssetUtil.getConnectorImage(e),this.getConnections=e=>this.remoteFeatures.multiWallet?L.ConnectionControllerUtil.getConnectionsData(e).connections:(g.AlertController.open(o.ConstantsUtil.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),[]),this.getRecentConnections=e=>this.remoteFeatures.multiWallet?L.ConnectionControllerUtil.getConnectionsData(e).recentConnections:(g.AlertController.open(o.ConstantsUtil.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),[]),this.switchConnection=async e=>{this.remoteFeatures.multiWallet?await a.ConnectionController.switchConnection(e):g.AlertController.open(o.ConstantsUtil.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info")},this.deleteConnection=e=>{this.remoteFeatures.multiWallet?(E.StorageUtil.deleteAddressFromConnection(e),a.ConnectionController.syncStorageConnections()):g.AlertController.open(o.ConstantsUtil.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info")},this.setConnectedWalletInfo=(e,t)=>{let n=A.ProviderController.getProviderId(t),r=e?{...e,type:n}:void 0;m.ChainController.setAccountProp("connectedWalletInfo",r,t)},this.getIsConnectedState=()=>!!m.ChainController.state.activeCaipAddress,this.addAddressLabel=(e,t,n
1)=>{let r=m.ChainController.getAccountData(n)?.addressLabels||{};m.ChainController.setAccountProp("addressLabels",{...r,[e]:t},n)},this.removeAddressLabel=(e,t)=>{let n=m.ChainController.getAccountData(t)?.addressLabels||{};m.ChainController.setAccountProp("addressLabels",{...n,[e]:void 0},t)},this.getAddress=e=>{let t=e||m.ChainController.state.activeChain;return m.ChainController.getAccountData(t)?.address},this.resetNetwork=e=>{m.ChainController.resetNetwork(e)},this.addConnector=e=>{l.ConnectorController.addConnector(e)},this.resetWcConnection=()=>{a.ConnectionController.resetWcConnection()},this.setAddressExplorerUrl=(e,t)=>{m.ChainController.setAccountProp("addressExplorerUrl",e,t)},this.setSmartAccountDeployed=(e,t)=>{m.ChainController.setAccountProp("smartAccountDeployed",e,t)},this.setPreferredAccountType=(e,t)=>{m.ChainController.setAccountProp("preferredAccountType",e,t)},this.setEIP6963Enabled=e=>{w.OptionsController.setEIP6963Enabled(e)},this.handleUnsafeRPCRequest=()=>{this.isOpen()?this.isTransactionStackEmpty()||this.redirect("ApproveTransaction"):this.open({view:"ApproveTransaction"})},this.options=e,this.version=e.sdkVersion,this.caipNetworks=this.extendCaipNetworks(e),this.chainNamespaces=this.getChainNamespacesSet(e.adapters,this.caipNetworks),this.defaultCaipNetwork=this.extendDefaultCaipNetwork(e),this.chainAdapters=this.createAdapters(e.adapters),this.readyPromise=this.initialize(e)}getChainNamespacesSet(e,t){let n=e?.map(e=>e.namespace).filter(e=>!!e);return n?.length?[...new Set(n)]:[...new Set(t?.map(e=>e.chainNamespace))]}async initialize(t){if(this.initializeProjectSettings(t),this.initControllers(t),await this.initChainAdapters(),this.sendInitializeEvent(t),t.features?.headless&&!W.ConnectorUtil.hasInjectedConnectors()&&s.ApiController.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1,fetchWalletRanks:!1,fetchRecommendedWallets:!0}),w.OptionsController.state.enableReconnect?(await this.syncExistingConnection(),await this.syncAdapterConnections()):await this.unSyncExistingConnection(),t.basic||t.manualWCControl||(this.remoteFeatures=await ea.fetchRemoteFeatures(t)),await s.ApiController.fetchUsage(),w.OptionsController.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&M.OnRampController.setOnrampProviders(this.remoteFeatures.onramp),(w.OptionsController.state.remoteFeatures?.email||Array.isArray(w.OptionsController.state.remoteFeatures?.socials)&&w.OptionsController.state.remoteFeatures?.socials.length>0)&&await this.checkAllowedOrigins(),w.OptionsController.state.features?.reownAuthentication||w.OptionsController.state.remoteFeatures?.reownAuthentication){let{ReownAuthentication:t}=await e.A(731507),n=w.OptionsController.state.siwx;n instanceof t||(n&&console.warn("ReownAuthentication option is enabled, SIWX configuration will be overridden."),w.OptionsController.setSIWX(new t))}}async openSend(e){let t=e.namespace||m.ChainController.state.activeChain,n=this.getCaipAddress(t),r=this.getCaipNetwork(t)?.id;if(!n)throw Error("openSend: caipAddress not found");if(r?.toString()!==e.chainId.toString()){let n=m.ChainController.getCaipNetworkById(e.chainId,t);if(!n)throw Error(`openSend: caipNetwork with chainId ${e.chainId} not found`);await this.switchNetwork(n,{throwOnFailure:!0})}try{let t=X.getTokenSymbolByAddress(e.assetAddress);t&&await s.ApiController.fetchTokenImages([t])}catch{}return await D.ModalController.open({view:"WalletSend",data:{send:e}}),new Promise((e,t)=>{let n=H.SendController.subscribeKey("hash",t=>{t&&(o(),e({hash:t}))}),r=D.ModalController.subscribe(e=>{e.open||(o(),t(Error("Modal closed")))}),o=this.createCleanupHandler([n,r])})}toModalOptions(){return{isSwap:function(e){return e?.view==="Swap"},isSend:function(e){return e?.view==="WalletSend"}}}async checkAllowedOrigins(){try{let e=await s.ApiController.fetchAllowedOrigins();if(!r.CoreHelperUtil.isClient())return;let t=window.location.origin;K.isOriginAllowed(t,e,o.ConstantsUtil.DEFAULT_ALLOWED_ANCESTORS)||g.AlertController.open(f.ErrorUtil.ALERT_ERRORS.ORIGIN_NOT_ALLOWED,"error")}catch(e){if(!(e instanceof Error))return;switch(e.message){case"RATE_LIMITED":g.AlertController.open(f.ErrorUtil.ALERT_ERRORS.RATE_LIMITED_APP_CONFIGURATION,"error");break;case"SERVER_ERROR":{let t=e.cause instanceof Error?e.cause:e;g.AlertController.open({displayMessage:f.ErrorUtil.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.displayMessage,debugMessage:f.ErrorUtil.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.debugMessage(t.message)},"error")}}}}createCleanupHandler(e){return()=>
1{e.forEach(e=>{try{e()}catch{}})}}sendInitializeEvent(e){let{...t}=e;delete t.adapters,delete t.universalProvider,d.EventsController.sendEvent({type:"track",event:"INITIALIZE",properties:{...t,networks:e.networks.map(e=>e.id),siweConfig:{options:e.siweConfig?.options||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initAdapterController(){P.AdapterController.initialize(this.chainAdapters)}initializeThemeController(e){e.themeMode&&N.ThemeController.setThemeMode(e.themeMode),e.themeVariables&&N.ThemeController.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient)throw Error("ConnectionControllerClient must be set");m.ChainController.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient});let t=this.getDefaultNetwork();t&&m.ChainController.setActiveCaipNetwork(t)}initializeConnectionController(e){a.ConnectionController.initialize(e.adapters??[]),a.ConnectionController.setWcBasic(e.basic??!1)}initializeConnectorController(){l.ConnectorController.initialize(this.chainNamespaces)}initializeProjectSettings(e){w.OptionsController.setProjectId(e.projectId),w.OptionsController.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){w.OptionsController.setDebug(!1!==e.debug),w.OptionsController.setEnableWalletGuide(!1!==e.enableWalletGuide),w.OptionsController.setEnableWallets(!1!==e.enableWallets),w.OptionsController.setEIP6963Enabled(!1!==e.enableEIP6963),w.OptionsController.setEnableCoinbase(!1!==e.enableCoinbase),w.OptionsController.setEnableNetworkSwitch(!1!==e.enableNetworkSwitch),w.OptionsController.setEnableReconnect(!1!==e.enableReconnect),w.OptionsController.setEnableMobileFullScreen(!0===e.enableMobileFullScreen),w.OptionsController.setCoinbasePreference(e.coinbasePreference),w.OptionsController.setEnableAuthLogger(!1!==e.enableAuthLogger),w.OptionsController.setCustomRpcUrls(e.customRpcUrls),w.OptionsController.setEnableEmbedded(e.enableEmbedded),w.OptionsController.setAllWallets(e.allWallets),w.OptionsController.setIncludeWalletIds(e.includeWalletIds),w.OptionsController.setExcludeWalletIds(e.excludeWalletIds),w.OptionsController.setFeaturedWalletIds(e.featuredWalletIds),w.OptionsController.setTokens(e.tokens),w.OptionsController.setTermsConditionsUrl(e.termsConditionsUrl),w.OptionsController.setPrivacyPolicyUrl(e.privacyPolicyUrl),w.OptionsController.setCustomWallets(e.customWallets),w.OptionsController.setFeatures(e.features),w.OptionsController.setAllowUnsupportedChain(e.allowUnsupportedChain),w.OptionsController.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),w.OptionsController.setPreferUniversalLinks(e.experimental_preferUniversalLinks),w.OptionsController.setDefaultAccountTypes(e.defaultAccountTypes);let t=this.getDefaultMetaData();if(!e.metadata&&t&&(e.metadata=t),w.OptionsController.setMetadata(e.metadata),w.OptionsController.setDisableAppend(e.disableAppend),w.OptionsController.setEnableEmbedded(e.enableEmbedded),w.OptionsController.setSIWX(e.siwx),this.features=w.OptionsController.state.features??{},!e.projectId)return void g.AlertController.open(f.ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");if(e.adapters?.find(e=>e.namespace===o.ConstantsUtil.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw Error("Cannot set both `siweConfig` and `siwx` options");w.OptionsController.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return r.CoreHelperUtil.isClient()?{name:document.getElementsByTagName("title")?.[0]?.textContent||"",description:document.querySelector('meta[property="og:description"]')?.content||"",url:window.location.origin,icons:[document.querySelector('link[rel~="icon"]')?.href||""]}:null}setUnsupportedNetwork(e){let t=this.getActiveChainNamespace();if(t){let n=$.CaipNetworksUtil.getUnsupportedNetwork(`${t}:${e}`);m.ChainController.setActiveCaipNetwork(n)}}getDefaultNetwork(){return $.CaipNetworksUtil.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,t){return $.CaipNetworksUtil.extendCaipNetwork(e,{customNetworkImageUrls:t.chainImages,projectId:t.projectId})}extendCaipNetworks(e){return $.CaipNetworksUtil.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){let t=e.networks.find(t=>
1t.id===e.defaultNetwork?.id);return t?$.CaipNetworksUtil.extendCaipNetwork(t,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectConnector(e,t){try{this.setLoading(!0,e);let n={connections:[]},r=this.getAdapter(e);return(m.ChainController.state.chains.get(e)?.accountState?.caipAddress||!w.OptionsController.state.enableReconnect)&&r?.disconnect&&(n=await r.disconnect({id:t})),this.setLoading(!1,e),n}catch(t){throw this.setLoading(!1,e),Error(`Failed to disconnect chains: ${t.message}`)}}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{let e=m.ChainController.state.activeChain,t=this.getAdapter(e),n=this.getCaipNetwork(e)?.id,r=a.ConnectionController.getConnections(e),o=this.remoteFeatures.multiWallet,i=r.length>0;if(!t)throw Error("Adapter not found");let s=await t.connectWalletConnect(n);i&&o||this.close(),this.setClientId(s?.clientId||null),E.StorageUtil.setConnectedNamespaces([...m.ChainController.state.chains.keys()]),await this.syncWalletConnectAccount(),await p.SIWXUtil.initializeIfEnabled()},connectExternal:async e=>{let t=await this.onConnectExternal(e);return await this.connectInactiveNamespaces(e,t),t?{address:t.address}:void 0},reconnectExternal:async({id:e,info:t,type:n,provider:r})=>{let o=m.ChainController.state.activeChain,i=this.getAdapter(o);if(!o)throw Error("reconnectExternal: namespace not found");if(!i)throw Error("reconnectExternal: adapter not found");i?.reconnect&&(await i?.reconnect({id:e,info:t,type:n,provider:r,chainId:this.getCaipNetwork()?.id}),E.StorageUtil.addConnectedNamespace(o),this.syncConnectedWalletInfo(o))},disconnectConnector:async e=>{await this.disconnectConnector(e.namespace,e.id)},disconnect:async e=>{let{id:t,chainNamespace:n,initialDisconnect:r}=e||{},i=n||m.ChainController.state.activeChain,s=l.ConnectorController.getConnectorId(i),c=t===o.ConstantsUtil.CONNECTOR_ID.AUTH||s===o.ConstantsUtil.CONNECTOR_ID.AUTH,C=t===o.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT||s===o.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT;try{let e=Array.from(m.ChainController.state.chains.keys()),o=n?[n]:e;(C||c)&&(o=e);let i=o.map(async e=>{let n=l.ConnectorController.getConnectorId(e),o=await this.disconnectConnector(e,t||n);o&&(c&&E.StorageUtil.deleteConnectedSocialProvider(),o.connections.forEach(t=>{E.StorageUtil.addDisconnectedConnectorId(t.connectorId,e)})),r&&this.onDisconnectNamespace({chainNamespace:e,closeModal:!1})}),s=await Promise.allSettled(i);H.SendController.resetSend(),a.ConnectionController.resetWcConnection(),p.SIWXUtil.getSIWX()?.signOutOnDisconnect&&await p.SIWXUtil.clearSessions(),l.ConnectorController.setFilterByNamespace(void 0),a.ConnectionController.syncStorageConnections();let h=s.filter(e=>"rejected"===e.status);if(h.length>0)throw Error(h.map(e=>e.reason.message).join(", "));d.EventsController.sendEvent({type:"track",event:"DISCONNECT_SUCCESS",properties:{namespace:n||"all"}})}catch(e){throw Error(`Failed to disconnect chains: ${e.message}`)}},checkInstalled:e=>e?e.some(e=>!!window.ethereum?.[String(e)]):!!window.ethereum,signMessage:async e=>{let t=m.ChainController.state.activeChain,n=this.getAdapter(m.ChainController.state.activeChain);if(!t)throw Error("signMessage: namespace not found");if(!n)throw Error("signMessage: adapter not found");let r=this.getAddress(t);if(!r)throw Error("signMessage: address not found");let o=await n?.signMessage({message:e,address:r,provider:A.ProviderController.getProvider(t)});return o?.signature||""},sendTransaction:async e=>{let t=e.chainNamespace;if(!t)throw Error("sendTransaction: namespace not found");if(c.ConstantsUtil.SEND_SUPPORTED_NAMESPACES.includes(t)){let n=this.getAdapter(t);if(!n)throw Error("sendTransaction: adapter not found");let r=A.ProviderController.getProvider(t),o=await n?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:r});return o?.hash||""}return""},estimateGas:async e=>{let t=e.chainNamespace;if(t===o.ConstantsUtil.CHAIN.EVM){let n=this.getAdapter(t);if(!n)throw Error("estimateGas: adapter is required but got undefined");let r=A.ProviderController.getProvider(t),o=this.getCaipNetwork();if(!o)throw Error("estimateGas: caipNetwork is required but got undefined");let i=await n?.estimateGas({...e,provider:r,caipNetwork:o});
1return i?.gas||0n}return 0n},getEnsAvatar:async()=>{let e=m.ChainController.state.activeChain;if(!e)throw Error("getEnsAvatar: namespace is required but got undefined");let t=this.getAddress(e);if(!t)throw Error("getEnsAvatar: address not found");await this.syncIdentity({address:t,chainId:Number(this.getCaipNetwork()?.id),chainNamespace:e});let n=m.ChainController.getAccountData();return n?.profileImage||!1},getEnsAddress:async e=>await K.resolveReownName(e),writeContract:async e=>{let t=m.ChainController.state.activeChain,n=this.getAdapter(t);if(!t)throw Error("writeContract: namespace is required but got undefined");if(!n)throw Error("writeContract: adapter is required but got undefined");let r=this.getCaipNetwork(),o=this.getCaipAddress(),i=A.ProviderController.getProvider(t);if(!r||!o)throw Error("writeContract: caipNetwork or caipAddress is required but got undefined");let s=await n?.writeContract({...e,caipNetwork:r,provider:i,caipAddress:o});return s?.hash},writeSolanaTransaction:async e=>{let t=m.ChainController.state.activeChain,n=this.getAdapter(t);if(!t)throw Error("writeContract: namespace is required but got undefined");if(!n)throw Error("writeContract: adapter is required but got undefined");let r=this.getCaipNetwork(),o=this.getCaipAddress(),i=A.ProviderController.getProvider(t);if(!r||!o)throw Error("writeContract: caipNetwork or caipAddress is required but got undefined");let s=await n?.writeSolanaTransaction({...e,caipNetwork:r,provider:i,caipAddress:o});return s?.hash},parseUnits:(e,t)=>{let n=this.getAdapter(m.ChainController.state.activeChain);if(!n)throw Error("parseUnits: adapter is required but got undefined");return n?.parseUnits({value:e,decimals:t})??0n},formatUnits:(e,t)=>{let n=this.getAdapter(m.ChainController.state.activeChain);if(!n)throw Error("formatUnits: adapter is required but got undefined");return n?.formatUnits({value:e,decimals:t})??"0"},getCapabilities:async e=>{let t=this.getAdapter(m.ChainController.state.activeChain);if(!t)throw Error("getCapabilities: adapter is required but got undefined");return await t?.getCapabilities(e)},grantPermissions:async e=>{let t=this.getAdapter(m.ChainController.state.activeChain);if(!t)throw Error("grantPermissions: adapter is required but got undefined");return await t?.grantPermissions(e)},revokePermissions:async e=>{let t=this.getAdapter(m.ChainController.state.activeChain);if(!t)throw Error("revokePermissions: adapter is required but got undefined");return t?.revokePermissions?await t.revokePermissions(e):"0x"},walletGetAssets:async e=>{let t=this.getAdapter(m.ChainController.state.activeChain);if(!t)throw Error("walletGetAssets: adapter is required but got undefined");return await t?.walletGetAssets(e)??{}},updateBalance:e=>{let t=this.getAddress(e),n=this.getCaipNetwork(e);n&&t&&this.updateNativeBalance(t,n?.id,e)}},a.ConnectionController.setClient(this.connectionControllerClient)}async onConnectExternal(e){let t=m.ChainController.state.activeChain,n=e.chain||t,r=this.getAdapter(n),i=!0;if(e.type===T.ConstantsUtil.CONNECTOR_TYPE_AUTH&&o.ConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.some(e=>l.ConnectorController.getConnectorId(e)===o.ConstantsUtil.CONNECTOR_ID.AUTH)&&e.chain!==t&&(i=!1),e.chain&&e.chain!==t&&!e.caipNetwork){let t=this.getCaipNetworks().find(t=>t.chainNamespace===e.chain);t&&i&&this.setCaipNetwork(t)}if(!n)throw Error("connectExternal: namespace not found");if(!r)throw Error("connectExternal: adapter not found");let s=this.getCaipNetwork(n),a=e.caipNetwork||s,c=await r.connect({id:e.id,address:e.address,info:e.info,type:e.type,provider:e.provider,socialUri:e.socialUri,chainId:e.caipNetwork?.id||s?.id,rpcUrl:e.caipNetwork?.rpcUrls?.default?.http?.[0]||s?.rpcUrls?.default?.http?.[0]});if(c)return E.StorageUtil.addConnectedNamespace(n),this.syncProvider({...c,chainNamespace:n}),this.setStatus("connected",n),this.syncConnectedWalletInfo(n),E.StorageUtil.removeDisconnectedConnectorId(e.id,n),{address:c.address,connectedCaipNetwork:a}}async connectInactiveNamespaces(e,t){let n=e.type===T.ConstantsUtil.CONNECTOR_TYPE_AUTH,r=v.HelpersUtil.getOtherAuthNamespaces(t?.connectedCaipNetwork?.chainNamespace),o=m.ChainController.state.activeCaipNetwork,i=this.getAdapter(o?.chainNamespace);n&&(await Promise.all(r.map(async t=>{try{let n=A.ProviderController.getProvider(t),r=this.getCaipNetwork(t),o=this.getAdapter(t);await o?.connect({...e,provider:n,socialUri:void 0,chainId:r?.id,rpcUrl:r?.rpcUrls?.default?.http?.[0]})&&(E.StorageUtil.addConnectedNamespace(t),E.StorageUtil.removeDisconnectedConnectorId(e.id,t),this.setStatus("connected",t),this.syncConnectedWalletInfo(t))}catch(e){g.AlertController.warn(f.ErrorUtil.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.displayMessage,f.ErrorUtil.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.debugMessage(t,e instanceof Error?e.message:void 0),f.ErrorUtil.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.code)}})),o&&await i?.switchNetwork({caipNetwork:o}))}getApprovedCaipNetworksData(){if(A.ProviderController.getProviderId(m.ChainController.state.activeChain)===T.ConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT){let e=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name==="MetaMask Wallet",approvedCaipNetworkIds:this.getChainsFromNamespaces(e)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){let t=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){let n=A.ProviderController.getProviderId(t);if(e.chainNamespace===m.ChainController.state.activeChain){let n=this.getAdapter(t);await n?.switchNetwork({caipNetwork:e})}else if(this.setCaipNetwork(e),n===T.ConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{let n=this.getAddressByChainNamespace(t);n&&this.syncAccount({address:n,chainId:e.id,chainNamespace:t})}}else this.setCaipNetwork(e)}
1getChainsFromNamespaces(e={}){return Object.values(e).flatMap(e=>Array.from(new Set([...e.chains||[],...e.accounts.map(e=>{let{chainId:t,chainNamespace:n}=b.ParseUtil.parseCaipAddress(e);return`${n}:${t}`})])))}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((t,n)=>{let r=e?.find(e=>e.namespace===n);return r?(r.construct({namespace:n,projectId:this.options?.projectId,networks:this.caipNetworks?.filter(({chainNamespace:e})=>e===n)}),t[n]=r):t[n]=new eo({namespace:n,networks:this.getCaipNetworks()}),t},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e);let t=this.getAdapter(e);if(!t)throw Error("adapter not found");await t.syncConnectors(),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)})),this.initAdapterController()}onConnectors(e){let t=this.getAdapter(e);t?.on("connectors",this.setConnectors.bind(this))}listenAdapter(e){let t=this.getAdapter(e);if(!t)return;let n=E.StorageUtil.getConnectionStatus();!1===w.OptionsController.state.enableReconnect?this.setStatus("disconnected",e):"connected"===n?this.setStatus("connecting",e):("disconnected"===n&&E.StorageUtil.clearAddressCache(),this.setStatus(n,e)),t.on("switchNetwork",({address:t,chainId:n})=>{let r=this.getCaipNetworks().find(e=>e.id.toString()===n.toString()||e.caipNetworkId.toString()===n.toString()),o=m.ChainController.state.activeChain===e,i=m.ChainController.state.chains.get(e)?.accountState?.address;if(r){let n=o&&t?t:i;n&&this.syncAccount({address:n,chainId:r.id,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),t.on("disconnect",()=>{let t=this.remoteFeatures.multiWallet,n=Array.from(a.ConnectionController.state.connections.values()).flat();this.onDisconnectNamespace({chainNamespace:e,closeModal:!t||0===n.length})}),t.on("connections",t=>{this.setConnections(t,e)}),t.on("pendingTransactions",()=>{let t=this.getAddress(e),n=m.ChainController.state.activeCaipNetwork;t&&n?.id&&this.updateNativeBalance(t,n.id,n.chainNamespace)}),t.on("accountChanged",({address:t,chainId:n,connector:r})=>{this.handlePreviousConnectorConnection(r);let o=m.ChainController.state.activeChain===e;r?.provider&&(this.syncProvider({id:r.id,type:r.type,provider:r?.provider,chainNamespace:e}),this.syncConnectedWalletInfo(e));let i=m.ChainController.getNetworkData(e)?.caipNetwork?.id,s=n||i;o&&s?this.syncAccount({address:t,chainId:s,chainNamespace:e}):!o&&s?(this.syncAccountInfo(t,s,e),this.syncBalance({address:t,chainId:s,chainNamespace:e})):this.syncAccountInfo(t,n,e),E.StorageUtil.addConnectedNamespace(e)})}async handlePreviousConnectorConnection(e){let t=e?.chain,n=e?.id,r=l.ConnectorController.getConnectorId(t),o=w.OptionsController.state.remoteFeatures?.multiWallet,i=r!==n,s=t&&n&&r&&i&&!o;try{s&&await a.ConnectionController.disconnect({id:r,namespace:t})}catch(e){console.warn("Error disconnecting previous connector",e)}}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&await this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async unSyncExistingConnection(){try{await Promise.allSettled(this.chainNamespaces.map(e=>a.ConnectionController.disconnect({namespace:e,initialDisconnect:!0})))}catch(e){console.error("Error disconnecting existing connections:",e)}}async reconnectWalletConnect(){await this.syncWalletConnectAccount();let e=this.getAddress();this.getCaipAddress()||E.StorageUtil.deleteRecentWallet();let t=E.StorageUtil.getRecentWallet();d.EventsController.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:e,properties:{method:r.CoreHelperUtil.isMobile()?"mobile":"qrcode",name:t?.name||"Unknown",reconnect:!0,view:h.RouterController.state.view,walletRank:t?.order}})}async syncNamespaceConnection(e){try{e===o.ConstantsUtil.CHAIN.EVM&&r.CoreHelperUtil.isSafeApp()&&l.ConnectorController.setConnectorId(o.ConstantsUtil.CONNECTOR_ID.SAFE,e);let t=l.ConnectorController.getConnectorId(e);switch(this.setStatus("connecting",e),t){case o.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT:await this.reconnectWalletConnect();break;case o.ConstantsUtil.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch(t){console.warn("AppKit couldn't sync existing connection",t),this.setStatus("disconnected",e)}}onDisconnectNamespace(e){let{chainNamespace:t,closeModal:n}=e||{};m.ChainController.resetAccount(t),m.ChainController.resetNetwork(t),E.StorageUtil.removeConnectedNamespace(t);let r=Array.from(m.ChainController.state.chains.keys());
1(t?[t]:r).forEach(e=>E.StorageUtil.addDisconnectedConnectorId(l.ConnectorController.getConnectorId(e)||"",e)),l.ConnectorController.removeConnectorId(t),A.ProviderController.resetChain(t),this.setUser(null,t),this.setStatus("disconnected",t),this.setConnectedWalletInfo(null,t),!1!==n&&D.ModalController.close()}async syncAdapterConnections(){await Promise.allSettled(this.chainNamespaces.map(e=>{let t=this.getAdapter(e),n=this.getCaipAddress(e),r=this.getCaipNetwork(e);return t?.syncConnections({connectToFirstConnector:!n,caipNetwork:r})}))}async syncAdapterConnection(e){let t=this.getAdapter(e),n=this.getCaipNetwork(e),r=l.ConnectorController.getConnectorId(e),o=l.ConnectorController.getConnectors(e).find(e=>e.id===r);try{if(!t||!o)throw Error(`Adapter or connector not found for namespace ${e}`);if(!n?.id)throw Error("CaipNetwork not found");let r=await t?.syncConnection({namespace:e,id:o.id,chainId:n.id,rpcUrl:n?.rpcUrls?.default?.http?.[0]});r?(this.syncProvider({...r,chainNamespace:e}),await this.syncAccount({...r,chainNamespace:e}),this.setStatus("connected",e),d.EventsController.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:r.address,properties:{method:"browser",name:o.info?.name||o.name||"Unknown",reconnect:!0,view:h.RouterController.state.view,walletRank:o?.explorerWallet?.order}})):this.setStatus("disconnected",e)}catch(t){this.onDisconnectNamespace({chainNamespace:e,closeModal:!1})}}async syncWalletConnectAccount(){let e=Object.keys(this.universalProvider?.session?.namespaces||{}),t=this.chainNamespaces.map(async t=>{let n=this.getAdapter(t);if(!n)return;let r=this.universalProvider?.session?.namespaces?.[t]?.accounts||[],i=m.ChainController.state.activeCaipNetwork?.id,s=r.find(e=>{let{chainId:t}=b.ParseUtil.parseCaipAddress(e);return t===i?.toString()})||r[0];if(s){let e=b.ParseUtil.validateCaipAddress(s),{chainId:r,address:i}=b.ParseUtil.parseCaipAddress(e);if(A.ProviderController.setProviderId(t,T.ConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&m.ChainController.state.activeCaipNetwork&&n.namespace!==o.ConstantsUtil.CHAIN.EVM){let e=n.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:m.ChainController.state.activeCaipNetwork});A.ProviderController.setProvider(t,e)}else A.ProviderController.setProvider(t,this.universalProvider);l.ConnectorController.setConnectorId(o.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT,t),E.StorageUtil.addConnectedNamespace(t),await this.syncAccount({address:i,chainId:r,chainNamespace:t})}else e.includes(t)&&this.setStatus("disconnected",t);let a=this.getApprovedCaipNetworksData();this.syncConnectedWalletInfo(t),m.ChainController.setApprovedCaipNetworksData(t,{approvedCaipNetworkIds:a.approvedCaipNetworkIds,supportsAllNetworks:a.supportsAllNetworks})});await Promise.all(t)}syncProvider({type:e,provider:t,id:n,chainNamespace:r}){A.ProviderController.setProviderId(r,e),A.ProviderController.setProvider(r,t),l.ConnectorController.setConnectorId(n,r)}async syncAccount(e){let t=e.chainNamespace===m.ChainController.state.activeChain,n=m.ChainController.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:r,chainId:i,chainNamespace:s}=e,{chainId:a}=E.StorageUtil.getActiveNetworkProps(),l=n?.id||a,c=m.ChainController.state.activeCaipNetwork?.name===o.ConstantsUtil.UNSUPPORTED_NETWORK_NAME,d=m.ChainController.getNetworkProp("supportsAllNetworks",s);if(this.setStatus("connected",s),(!c||d)&&l){let e=this.getCaipNetworks().find(e=>e.id.toString()===l.toString()),a=this.getCaipNetworks().find(e=>e.chainNamespace===s);if(!d&&!e&&!a){let t=this.getApprovedCaipNetworkIds()||[],n=t.find(e=>b.ParseUtil.parseCaipNetworkId(e)?.chainId===l.toString()),r=t.find(e=>b.ParseUtil.parseCaipNetworkId(e)?.chainNamespace===s);e=this.getCaipNetworks().find(e=>e.caipNetworkId===n),a=this.getCaipNetworks().find(e=>e.caipNetworkId===r||"deprecatedCaipNetworkId"in e&&e.deprecatedCaipNetworkId===r)}let c=e||a;c?.chainNamespace===m.ChainController.state.activeChain?w.OptionsController.state.enableNetworkSwitch&&!w.OptionsController.state.allowUnsupportedChain&&m.ChainController.state.activeCaipNetwork?.name===o.ConstantsUtil.UNSUPPORTED_NETWORK_NAME?m.ChainController.showUnsupportedChainUI():this.setCaipNetwork(c):!t&&n&&this.setCaipNetworkOfNamespace(n,s),this.syncConnectedWalletInfo(s);let C=this.getAddress(s);v.HelpersUtil.isLowerCaseMatch(r,C)||this.syncAccountInfo(r,c?.id,s),t?await this.syncBalance({address:r,chainId:c?.id,chainNamespace:s}):await this.syncBalance({address:r,chainId:n?.id,chainNamespace:s}),this.syncIdentity({address:r,chainId:i,chainNamespace:s})}}async syncAccountInfo(e,t,n){let r=this.getCaipAddress(n),o=t||r?.split(":")[1];if(!o)return;let i=`${n}:${o}:${e}`;this.setCaipAddress(i,n,!0),await this.syncIdentity({address:e,chainId:o,chainNamespace:n})}async syncReownName(e,t){try{let n=await this.getReownName(e);
1if(n[0]){let e=n[0];this.setProfileName(e.name,t)}else this.setProfileName(null,t)}catch{this.setProfileName(null,t)}}syncConnectedWalletInfo(e){let t=l.ConnectorController.getConnectorId(e),n=A.ProviderController.getProviderId(e);if(n===T.ConstantsUtil.CONNECTOR_TYPE_ANNOUNCED||n===T.ConstantsUtil.CONNECTOR_TYPE_INJECTED){if(t){let n=this.getConnectors().find(e=>{let n=e.id===t,r=e.info?.rdns===t,o=e.connectors?.some(e=>e.id===t||e.info?.rdns===t);return n||r||!!o});if(n){let{info:t,name:r,imageUrl:o}=n,i=o||this.getConnectorImage(n);this.setConnectedWalletInfo({name:r,icon:i,...t},e)}}}else if(n===T.ConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT){let t=A.ProviderController.getProvider(e);t?.session&&this.setConnectedWalletInfo({...t.session.peer.metadata,name:t.session.peer.metadata.name,icon:t.session.peer.metadata.icons?.[0]},e)}else if(t&&(t===o.ConstantsUtil.CONNECTOR_ID.COINBASE_SDK||t===o.ConstantsUtil.CONNECTOR_ID.COINBASE)){let n=this.getConnectors().find(e=>e.id===t),r=n?.name||"Coinbase Wallet",o=n?.imageUrl||this.getConnectorImage(n),i=n?.info;this.setConnectedWalletInfo({...i,name:r,icon:o},e)}}async syncBalance(e){S.NetworkUtil.getNetworksByNamespace(this.getCaipNetworks(),e.chainNamespace).find(t=>t.id.toString()===e.chainId?.toString())&&e.chainId&&await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async ready(){await this.readyPromise}async updateNativeBalance(e,t,n){let r=this.getAdapter(n),o=m.ChainController.getCaipNetworkByNamespace(n,t);if(r){let i=await r.getBalance({address:e,chainId:t,caipNetwork:o,tokens:this.options.tokens});return this.setBalance(i.balance,i.symbol,n),i}}async initializeUniversalAdapter(){let e=G.createLogger((e,...t)=>{e&&this.handleAlertError(e),console.error(...t)}),t={projectId:this.options?.projectId,metadata:{name:this.options?.metadata?this.options?.metadata.name:"",description:this.options?.metadata?this.options?.metadata.description:"",url:this.options?.metadata?this.options?.metadata.url:"",icons:this.options?.metadata?this.options?.metadata.icons:[""]},logger:e};w.OptionsController.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await k.default.init(t);let n=this.universalProvider.disconnect.bind(this.universalProvider);this.universalProvider.disconnect=async()=>{try{return await n()}catch(e){if(e instanceof Error&&e.message.includes("Missing or invalid. Record was recently deleted"))return;throw e}},!1===w.OptionsController.state.enableReconnect&&this.universalProvider.session&&await this.universalProvider.disconnect(),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&this.chainNamespaces.forEach(e=>{K.listenWcProvider({universalProvider:this.universalProvider,namespace:e,onDisplayUri:e=>{a.ConnectionController.setUri(e)},onConnect:e=>{let{address:t}=r.CoreHelperUtil.getAccount(e[0]);for(let e of this.chainNamespaces)E.StorageUtil.removeDisconnectedConnectorId(o.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT,e);a.ConnectionController.finalizeWcConnection(t)},onDisconnect:()=>{m.ChainController.state.noAdapters&&this.resetAccount(e),a.ConnectionController.resetWcConnection()},onChainChanged:t=>{let n=m.ChainController.state.activeChain,r=n&&l.ConnectorController.state.activeConnectorIds[n]===o.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT;if(n===e&&(m.ChainController.state.noAdapters||r)){let e=this.getCaipNetworks().find(e=>e.id.toString()===t.toString()||e.caipNetworkId.toString()===t.toString()),n=this.getCaipNetwork();if(!e)return void this.setUnsupportedNetwork(t);n?.id.toString()!==e?.id.toString()&&n?.chainNamespace===e?.chainNamespace&&this.setCaipNetwork(e)}},onAccountsChanged:t=>{let n=m.ChainController.state.activeChain,r=n&&l.ConnectorController.state.activeConnectorIds[n]===o.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT;if(n===e&&(m.ChainController.state.noAdapters||r)){let e=t?.[0];e&&this.syncAccount({address:e.address,chainId:e.chainId,chainNamespace:e.chainNamespace})}}})})}createUniversalProvider(){return!this.universalProviderInitPromise&&r.CoreHelperUtil.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}
1async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){d.EventsController.sendEvent({type:"error",event:"INTERNAL_SDK_ERROR",properties:{errorType:"UniversalProviderInitError",errorMessage:e instanceof Error?e.message:"Unknown",uncaught:!1}}),console.error("AppKit:getUniversalProvider - Cannot create provider",e)}return this.universalProvider}getDisabledCaipNetworks(){let e=m.ChainController.getAllApprovedCaipNetworkIds(),t=m.ChainController.getAllRequestedCaipNetworks();return r.CoreHelperUtil.sortRequestedNetworks(e,t).filter(e=>m.ChainController.isCaipNetworkDisabled(e))}handleAlertError(e){let[t,n]=Object.entries(f.ErrorUtil.UniversalProviderErrors).find(([,{message:t}])=>e.message.includes(t))??[],{message:r,alertErrorKey:o}=n??{};if(t&&r&&!this.reportedAlertErrors[t]){let e=f.ErrorUtil.ALERT_ERRORS[o];e&&(g.AlertController.open(e,"error"),this.reportedAlertErrors[t]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;let t=e.namespace;t&&(this.createClients(),e.namespace=t,e.construct({namespace:t,projectId:this.options?.projectId,networks:this.caipNetworks?.filter(({chainNamespace:e})=>e===t)}),this.chainNamespaces.includes(t)||this.chainNamespaces.push(t),this.chainAdapters&&(this.chainAdapters[t]=e))}async open(e){await this.injectModalUi(),e?.uri&&a.ConnectionController.setUri(e.uri);let{isSwap:t,isSend:n}=this.toModalOptions();return t(e)?D.ModalController.open({...e,data:{swap:e.arguments}}):n(e)&&e.arguments?this.openSend(e.arguments):D.ModalController.open(e)}async close(){await this.injectModalUi(),D.ModalController.close()}setLoading(e,t){D.ModalController.setLoading(e,t)}async disconnect(e){await a.ConnectionController.disconnect({namespace:e})}getSIWX(){return w.OptionsController.state.siwx}getError(){return""}getChainId(){return m.ChainController.state.activeCaipNetwork?.id}async switchNetwork(e,{throwOnFailure:t=!1}={}){let n=this.getCaipNetworks().find(t=>t.id===e.id);n?await m.ChainController.switchActiveNetwork(n,{throwOnFailure:t}):g.AlertController.open(f.ErrorUtil.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error")}getWalletProvider(){return m.ChainController.state.activeChain?A.ProviderController.state.providers[m.ChainController.state.activeChain]:null}getWalletProviderType(){return A.ProviderController.getProviderId(m.ChainController.state.activeChain)}subscribeProviders(e){return A.ProviderController.subscribeProviders(e)}getThemeMode(){return N.ThemeController.state.themeMode}getThemeVariables(){return N.ThemeController.state.themeVariables}setThemeMode(e){N.ThemeController.setThemeMode(e),(0,V.setColorTheme)(N.ThemeController.state.themeMode)}setTermsConditionsUrl(e){w.OptionsController.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){w.OptionsController.setPrivacyPolicyUrl(e)}setThemeVariables(e){N.ThemeController.setThemeVariables(e),(0,V.setThemeVariables)(N.ThemeController.state.themeVariables)}subscribeTheme(e){return N.ThemeController.subscribe(e)}subscribeConnections(e){return this.remoteFeatures.multiWallet?a.ConnectionController.subscribe(e):(g.AlertController.open(o.ConstantsUtil.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),()=>void 0)}getWalletInfo(e){if(e)return m.ChainController.state.chains.get(e)?.accountState?.connectedWalletInfo;let t=m.ChainController.getAccountData();return t?.connectedWalletInfo}getAccount(e){let t=e||m.ChainController.state.activeChain,n=l.ConnectorController.getAuthConnector(t),i=m.ChainController.getAccountData(t),s=E.StorageUtil.getConnectedConnectorId(m.ChainController.state.activeChain),c=a.ConnectionController.getConnections(t);if(!t)throw Error("AppKit:getAccount - namespace is required");let d=c.flatMap(e=>e.accounts.map(({address:e,type:n,publicKey:o})=>r.CoreHelperUtil.createAccount(t,e,n||"eoa",o)));if(i)return{allAccounts:d,caipAddress:i.caipAddress,address:r.CoreHelperUtil.getPlainAddress(i.caipAddress),isConnected:!!i.caipAddress,status:i.status,embeddedWalletInfo:n&&s===o.ConstantsUtil.CONNECTOR_ID.AUTH?{user:i.user?{...i.user,username:E.StorageUtil.getConnectedSocialUsername()}:void 0,authProvider:i.socialProvider||"email",accountType:(0,u.getPreferredAccountType)(t),isSmartAccountDeployed:!!i.smartAccountDeployed}:void 0}}subscribeAccount(e,t){let n=[],r=()=>{let n=this.getAccount(t);n&&e(n)};if(t){let e=m.ChainController.subscribeChainProp("accountState",r,t);n.push(e)}else{let e=m.ChainController.subscribe(r);n.push(e)}let o=l.ConnectorController.subscribe(r);return n.push(o),()=>
1{n.forEach(e=>e())}}subscribeNetwork(e){return m.ChainController.subscribe(({activeCaipNetwork:t})=>{e({caipNetwork:t,chainId:t?.id,caipNetworkId:t?.caipNetworkId})})}subscribeWalletInfo(e,t){return t?m.ChainController.subscribeChainProp("accountState",t=>e(t?.connectedWalletInfo),t):m.ChainController.subscribeChainProp("accountState",t=>e(t?.connectedWalletInfo))}subscribeShouldUpdateToAddress(e){return m.ChainController.subscribeChainProp("accountState",t=>e(t?.shouldUpdateToAddress))}subscribeCaipNetworkChange(e){return m.ChainController.subscribeKey("activeCaipNetwork",e)}getState(){return C.PublicStateController.state}getRemoteFeatures(){return w.OptionsController.state.remoteFeatures}subscribeState(e){return C.PublicStateController.subscribe(e)}subscribeRemoteFeatures(e){return w.OptionsController.subscribeKey("remoteFeatures",e)}showErrorMessage(e){x.SnackController.showError(e)}showSuccessMessage(e){x.SnackController.showSuccess(e)}getEvent(){return{...d.EventsController.state}}subscribeEvents(e){return d.EventsController.subscribe(e)}replace(e){h.RouterController.replace(e)}redirect(e){h.RouterController.push(e)}popTransactionStack(e){h.RouterController.popTransactionStack(e)}isOpen(){return D.ModalController.state.open}isTransactionStackEmpty(){return 0===h.RouterController.state.transactionStack.length}static getInstance(){return this.instance}updateFeatures(e){w.OptionsController.setFeatures(e)}updateRemoteFeatures(e){w.OptionsController.setRemoteFeatures(e)}updateOptions(e){let t={...w.OptionsController.state||{},...e};w.OptionsController.setOptions(t)}setConnectMethodsOrder(e){w.OptionsController.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){w.OptionsController.setWalletFeaturesOrder(e)}setCollapseWallets(e){w.OptionsController.setCollapseWallets(e)}setSocialsOrder(e){w.OptionsController.setSocialsOrder(e)}getConnectMethodsOrder(){return B.WalletUtil.getConnectOrderMethod(w.OptionsController.state.features,l.ConnectorController.getConnectors())}addNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);let n=this.extendCaipNetwork(t,this.options);this.getCaipNetworks().find(e=>e.id===n.id)||m.ChainController.addNetwork(n)}removeNetwork(e,t){if(this.chainAdapters&&!this.chainAdapters[e])throw Error(`Adapter for namespace ${e} doesn't exist`);this.getCaipNetworks().find(e=>e.id===t)&&m.ChainController.removeNetwork(e,t)}}let ec=!1;class ed extends el{async onAuthProviderConnected(e){let t=v.HelpersUtil.userChainIdToChainNamespace(e?.chainId);if(e.message&&e.signature&&e.siwxMessage&&await p.SIWXUtil.addEmbeddedWalletSession({chainId:e.siwxMessage.chainId,accountAddress:e.address,notBefore:e.siwxMessage.notBefore,statement:e.siwxMessage.statement,resources:e.siwxMessage.resources,requestId:e.siwxMessage.requestId,issuedAt:e.siwxMessage.issuedAt,domain:e.siwxMessage.domain,uri:e.siwxMessage.uri,version:e.siwxMessage.version,nonce:e.siwxMessage.nonce},e.message,e.signature),!t)throw Error("AppKit:onAuthProviderConnected - namespace is required");let n=t===o.ConstantsUtil.CHAIN.EVM?`eip155:${e.chainId}:${e.address}`:`${e.chainId}:${e.address}`,r=w.OptionsController.state.defaultAccountTypes[t],i=(0,u.getPreferredAccountType)(t),s=e.preferredAccountType||i||r;this.setCaipAddress(n,t);let{signature:a,siwxMessage:l,message:c,...d}=e,C=m.ChainController.getAccountData(t);this.setUser({...C?.user||{},...d},t),this.setSmartAccountDeployed(!!e.smartAccountDeployed,t),this.setPreferredAccountType(s,t),await Promise.all([this.syncAuthConnectorTheme(this.authProvider),this.syncAccount({address:e.address,chainId:e.chainId,chainNamespace:t})]),this.setLoading(!1,t)}setupAuthConnectorListeners(e){e.onRpcRequest(t=>{U.W3mFrameHelpers.checkIfRequestExists(t)?U.W3mFrameHelpers.checkIfRequestIsSafe(t)||this.handleUnsafeRPCRequest():(this.open(),console.error(y.W3mFrameRpcConstants.RPC_METHOD_NOT_ALLOWED_MESSAGE,{method:t.method}),setTimeout(()=>{this.showErrorMessage(y.W3mFrameRpcConstants.RPC_METHOD_NOT_ALLOWED_UI_MESSAGE)},300),e.rejectRpcRequests())}),e.onRpcError(()=>{this.isOpen()&&(this.isTransactionStackEmpty()?this.close():this.popTransactionStack("error"))}),e.onRpcSuccess((e,t)=>{let n=U.W3mFrameHelpers.checkIfRequestIsSafe(t),r=this.getAddress(),o=m.ChainController.state.activeCaipNetwork;n||(r&&o?.id&&this.updateNativeBalance(r,o.id,o.chainNamespace),this.isTransactionStackEmpty()?this.close():this.popTransactionStack("success"))}),e.onNotConnected(()=>{let e=m.ChainController.state.activeChain;if(!e)throw Error("AppKit:onNotConnected - namespace is required");l.ConnectorController.getConnectorId(e)===o.ConstantsUtil.CONNECTOR_ID.AUTH&&(this.setCaipAddress(null,e),this.setLoading(!1,e))}),e.onConnect(this.onAuthProviderConnected.bind(this)),e.onSocialConnected(this.onAuthProviderConnected.bind(this)),e.onSetPreferredAccount(({address:e,type:t})=>{let n=m.ChainController.state.activeChain;if(!n)throw Error("AppKit:onSetPreferredAccount - namespace is required");e&&this.setPreferredAccountType(t,n)})}async syncAuthConnectorTheme(e){if(!e)return;let t=N.ThemeController.getSnapshot();await e.syncTheme({themeMode:t.themeMode,themeVariables:t.themeVariables,w3mThemeVariables:(0,i.getW3mThemeV
1ariables)(t.themeVariables,t.themeMode)})}async syncAuthConnector(e,t){let n=o.ConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(t),r=t===m.ChainController.state.activeChain;if(!n)return;this.setLoading(!0,t);let i=e.getLoginEmailUsed();this.setLoading(i,t),i&&this.setStatus("connecting",t);let s=e.getEmail(),a=e.getUsername(),c=m.ChainController.getAccountData(t)?.user||{};this.setUser({...c,username:a,email:s},t),this.setupAuthConnectorListeners(e);let{isConnected:C}=await e.isConnected();if(t&&n&&r)if(C&&this.connectionControllerClient?.connectExternal){await e.init(),await this.syncAuthConnectorTheme(e),await this.connectionControllerClient?.connectExternal({id:o.ConstantsUtil.CONNECTOR_ID.AUTH,info:{name:o.ConstantsUtil.CONNECTOR_ID.AUTH},type:T.ConstantsUtil.CONNECTOR_TYPE_AUTH,provider:e,chainId:m.ChainController.getNetworkData(t)?.caipNetwork?.id,chain:t}),this.setStatus("connected",t);let n=E.StorageUtil.getConnectedSocialProvider();n?d.EventsController.sendEvent({type:"track",event:"SOCIAL_LOGIN_SUCCESS",address:this.getAddress(),properties:{provider:n,reconnect:!0}}):d.EventsController.sendEvent({type:"track",event:"CONNECT_SUCCESS",address:this.getAddress(),properties:{method:"email",name:this.universalProvider?.session?.peer?.metadata?.name||"Unknown",reconnect:!0,view:h.RouterController.state.view,walletRank:void 0}})}else l.ConnectorController.getConnectorId(t)===o.ConstantsUtil.CONNECTOR_ID.AUTH&&(this.setStatus("disconnected",t),E.StorageUtil.removeConnectedNamespace(t));this.setLoading(!1,t)}async checkExistingTelegramSocialConnection(e){try{if(!r.CoreHelperUtil.isTelegram())return;let t=E.StorageUtil.getTelegramSocialProvider();if(!t||!r.CoreHelperUtil.isClient())return;let n=new URL(window.location.href).searchParams.get("result_uri");if(!n)return;t&&m.ChainController.setAccountProp("socialProvider",t,e),await this.authProvider?.init();let o=l.ConnectorController.getAuthConnector();t&&o&&(this.setLoading(!0,e),await a.ConnectionController.connectExternal({id:o.id,type:o.type,socialUri:n},o.chain),E.StorageUtil.setConnectedSocialProvider(t),E.StorageUtil.removeTelegramSocialProvider(),d.EventsController.sendEvent({type:"track",event:"SOCIAL_LOGIN_SUCCESS",properties:{provider:t}}))}catch(t){this.setLoading(!1,e),console.error("checkExistingSTelegramocialConnection error",t)}try{let e=new URL(window.location.href);e.searchParams.delete("result_uri"),window.history.replaceState({},document.title,e.toString())}catch(e){console.error("tma social login failed",e)}}createAuthProvider(e){if(!o.ConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(e))return;let t=this.remoteFeatures?.email,n=Array.isArray(this.remoteFeatures?.socials)&&this.remoteFeatures.socials.length>0,r=v.HelpersUtil.getActiveNamespaceConnectedToAuth()||e;!this.authProvider&&this.options?.projectId&&(t||n)&&(this.authProvider=I.getInstance({projectId:this.options.projectId,enableLogger:this.options.enableAuthLogger,chainId:this.getCaipNetwork(r)?.caipNetworkId,abortController:f.ErrorUtil.EmbeddedWalletAbortController,onTimeout:e=>{"iframe_load_failed"===e?g.AlertController.open(f.ErrorUtil.ALERT_ERRORS.IFRAME_LOAD_FAILED,"error"):"iframe_request_timeout"===e?g.AlertController.open(f.ErrorUtil.ALERT_ERRORS.IFRAME_REQUEST_TIMEOUT,"error"):"unverified_domain"===e&&g.AlertController.open(f.ErrorUtil.ALERT_ERRORS.UNVERIFIED_DOMAIN,"error")},getActiveCaipNetwork:e=>(0,u.getActiveCaipNetwork)(e),getCaipNetworks:e=>m.ChainController.getCaipNetworks(e)}),C.PublicStateController.subscribeOpen(e=>{!e&&this.isTransactionStackEmpty()&&this.authProvider?.rejectRpcRequests()}));let i=e===m.ChainController.state.activeChain&&w.OptionsController.state.enableReconnect;!1===w.OptionsController.state.enableReconnect?this.syncAuthConnectorTheme(this.authProvider):this.authProvider&&i&&(this.syncAuthConnector(this.authProvider,e),this.checkExistingTelegramSocialConnection(e))}createAuthProviderForAdapter(e){this.createAuthProvider(e),this.authProvider&&this.chainAdapters?.[e]?.setAuthProvider?.(this.authProvider)}initControllers(e){super.initControllers(e),this.options.excludeWalletIds&&s.ApiController.initializeExcludedWallets({ids:this.options.excludeWalletIds})}async switchCaipNetwork(e){if(!e)return;let t=m.ChainController.state.activeChain,n=e.chainNamespace,r=this.getAddressByChainNamespace(n);if(n===t&&m.ChainController.getAccountData(n)?.caipAddress){let t=this.getAdapter(n);await t?.switchNetwork({caipNetwork:e}),this.setCaipNetwork(e)}else{let i=A.ProviderController.getProviderId(t)===T.ConstantsUtil.CONNECTOR_TYPE_AUTH,s=A.ProviderController.getProviderId(n),a=s===T.ConstantsUtil.CONNECTOR_TYPE_AUTH,l=o.ConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(n);if(!n)throw Error("AppKit:switchCaipNetwork - networkNamespace is required");if((i&&void 0===s||a)&&l)try{if(m.ChainController.state.activeChain=e.chainNamespace,r){let t=this.getAdapter(n);await t?.switchNetwork({caipNetwork:e})}else await this.connectionControllerClient?.connectExternal?.({id:o.ConstantsUtil.CONNECTOR_ID.AUTH,provider:this.authProvider,chain:n,chainId:e.id,type:T.ConstantsUtil.CONNECTOR_TYPE_AUTH,caipNetwork:e});this.setCaipNetwork(e)}catch(r){let t=this.getAdapter(n);await t?.switchNetwork({caipNetwork:e})}else if(s===T.ConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT){if(!m.ChainController.state.noAdapters){let t=this.getAdapter(n);await t?.switchNetwork({caipNetwork:e})}this.setCaipNetwork(e),this.syncWalletConnectAccount()}else this.setCaipNetwork(e),r&&this.syncAccount({address:r,chainId:e.id,chainNamespace:n})}}async initialize(e){await super.initialize(e),this.chainNamespaces?.forEach(e
1=>{this.createAuthProviderForAdapter(e)}),await this.injectModalUi(),C.PublicStateController.set({initialized:!0})}async syncIdentity({address:e,chainId:t,chainNamespace:n}){let r=`${n}:${t}`,i=this.caipNetworks?.find(e=>e.caipNetworkId===r);if(i?.testnet){this.setProfileName(null,n),this.setProfileImage(null,n);return}let s=l.ConnectorController.getConnectorId(n)===o.ConstantsUtil.CONNECTOR_ID.AUTH;try{let{name:t,avatar:r}=await this.fetchIdentity({address:e});!t&&s?await this.syncReownName(e,n):(this.setProfileName(t,n),this.setProfileImage(r,n))}catch{1!==t&&this.setProfileImage(null,n)}}syncConnectedWalletInfo(e){let t=A.ProviderController.getProviderId(e);if(t===T.ConstantsUtil.CONNECTOR_TYPE_AUTH){let n=this.authProvider;if(n){let r=E.StorageUtil.getConnectedSocialProvider()??"email",o=n.getEmail()??n.getUsername();this.setConnectedWalletInfo({name:t,identifier:o,social:r},e)}}else super.syncConnectedWalletInfo(e)}async injectModalUi(){if(!r.CoreHelperUtil.isClient())return;let e={...c.ConstantsUtil.DEFAULT_FEATURES,...this.options.features};if(!e.headless&&!ec)try{let t=this.remoteFeatures;if(await this.loadModalComponents(e,t),r.CoreHelperUtil.isClient()&&!document.querySelector("w3m-modal")){let e=document.createElement("w3m-modal");w.OptionsController.state.disableAppend||w.OptionsController.state.enableEmbedded||document.body.insertAdjacentElement("beforeend",e)}ec=!0}catch(e){console.error("Error injecting modal UI:",e)}}async loadModalComponents(t,n){if(!r.CoreHelperUtil.isClient())return;let o=[];(n.email||n.socials&&n.socials.length>0)&&o.push(e.A(773348)),n.email&&o.push(e.A(70086)),n.socials&&o.push(e.A(443184)),n.swaps&&n.swaps.length>0&&o.push(e.A(375410)),t.send&&o.push(e.A(64383)),t.receive&&o.push(e.A(387558)),n.onramp&&n.onramp.length>0&&o.push(e.A(483049)),n.payWithExchange&&o.push(e.A(712956)),n.activity&&o.push(e.A(104648)),(t.pay||n.payments)&&o.push(e.A(523499)),n.emailCapture&&o.push(e.A(351913)),await Promise.all([...o,e.A(561290),e.A(449870)])}}var eC=e.i(271645);function eh(e){e&&(t=e)}function ep(){if(!t)throw Error('Please call "createAppKit" before using "useAppKitTheme" hook');let[e,n]=(0,eC.useState)(t.getThemeMode()),[r,o]=(0,eC.useState)(t.getThemeVariables());return(0,eC.useEffect)(()=>{let e=t?.subscribeTheme(e=>{n(e.themeMode),o(e.themeVariables)});return()=>{e?.()}},[]),{themeMode:e,themeVariables:r,setThemeMode:function(e){e&&t?.setThemeMode(e)},setThemeVariables:function(e){e&&t?.setThemeVariables(e)}}}function eu(){if(!t)throw Error('Please call "createAppKit" before using "useAppKit" hook');return{open:async function(e){return t?.open(e)},close:async function(){await t?.close()}}}function eg(e){if(!t)throw Error('Please call "createAppKit" before using "useWalletInfo" hook');let[n,r]=(0,eC.useState)(()=>t?.getWalletInfo(e));return(0,eC.useEffect)(()=>{r(t?.getWalletInfo(e));let n=t?.subscribeWalletInfo(e=>{r(e)},e);return()=>n?.()},[e]),{walletInfo:n}}function em(){if(!t)throw Error('Please call "createAppKit" before using "useAppKitState" hook');let[e,n]=(0,eC.useState)({...t.getState(),initialized:!1}),[r,o]=(0,eC.useState)(t.getRemoteFeatures());return(0,eC.useEffect)(()=>{if(t){n({...t.getState()}),o(t.getRemoteFeatures());let e=t?.subscribeState(e=>{n({...e})}),r=t?.subscribeRemoteFeatures(e=>{o(e)});return()=>{e?.(),r?.()}}return()=>null},[]),{...e,...r??{}}}function ew(){if(!t)throw Error('Please call "createAppKit" before using "useAppKitEvents" hook');let[e,n]=(0,eC.useState)(t.getEvent());return(0,eC.useEffect)(()=>{let e=t?.subscribeEvents(e=>{n({...e})});return()=>{e?.()}},[]),e}e.s(["getAppKit",()=>eh,"useAppKit",()=>eu,"useAppKitEvents",()=>ew,"useAppKitState",()=>em,"useAppKitTheme",()=>ep,"useWalletInfo",()=>eg],747512);let eA=new Set(["children","localName","ref","style","className"]),eE=new WeakMap,eN=(e,t,n,r,o)=>{let i,s,a=o?.[t];void 0===a?(e[t]=n,null==n&&t in HTMLElement.prototype&&e.removeAttribute(t)):n!==r&&(void 0===(i=eE.get(e))&&eE.set(e,i=new Map),s=i.get(a),void 0!==n?void 0===s?(i.set(a,s={handleEvent:n}),e.addEventListener(a,s)):s.handleEvent=n:void 0!==s&&(i.delete(a),e.removeEventListener(a,s)))},ef=({react:e,tagName:t,elementClass:n,events:r,displayName:o})=>{let i=new Set(Object.keys(r??{})),s=e.forwardRef((o,s)=>{let a=e.useRef(new Map),l=e.useRef(null),c={},d={};for(let[e,t]of Object.entries(o))eA.has(e)?c["className"===e?"class":e]=t:i.has(e)||e in n.prototype?d[e]=t:c[e]=t;return e.useLayoutEffect(()=>{if(null===l.current)return;let e=new Map;for(let t in d)eN(l.current,t,o[t],a.current.get(t),r),a.current.delete(t),e.set(t,o[t]);for(let[e,t]of a.current)eN(l.current,e,void 0,t,r);a.current=e}),e.useLayoutEffect(()=>{l.current?.removeAttribute("defer-hydration")},[]),c.suppressHydrationWarning=!0,e.createElement(t,{...c,ref:e.useCallback(e=>{l.current=e,"function"==typeof s?s(e):null!==s&&(s.current=e)},[s])})});return s.displayName=o??n.name,s};e.i(910842);var ev=e.i(237287),eT=e.i(972801),eU=e.i(885873),ey=e.i(619295);function eO(e){return n||eh(n=new ed({...e,sdkVersion:r.CoreHelperUtil.generateSdkVersion(e.adapters??[],"react","1.8.18")})),n}ef({tagName:"appkit-button",elementClass:eT.AppKitButton,react:eC.default}),ef({tagName:"appkit-network-button",elementClass:ey.AppKitNetworkButton,react:eC.default}),ef({tagName:"appkit-connect-button",elementClass:eU.AppKitConnectButton,react:eC.default}),ef({tagName:"appkit-account-button",elementClass:ev.AppKitAccountButton,react:eC.default})}]);

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.