1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,319435,e=>{"use strict";let t,n;e.i(792225);var r=e.i(116691),i=e.i(706210),o=e.i(32513),a=e.i(84712),s=e.i(627127),c=e.i(891039),l=e.i(520480),d=e.i(235973),h=e.i(598121),C=e.i(881721),u=e.i(682458),p=e.i(598790),g=e.i(135491),m=e.i(575189),w=e.i(401650),f=e.i(515430),v=e.i(779059),N=e.i(349461),E=e.i(818633),A=e.i(511595),y=e.i(675004),I=e.i(423960),b=e.i(500937),U=e.i(263333);class T{static getInstance({projectId:e,chainId:t,enableLogger:n,onTimeout:r,abortController:i,getActiveCaipNetwork:o,getCaipNetworks:a}){let{metadata:s,sdkVersion:c,sdkType:l}=w.OptionsController.getSnapshot();return T.instance||(T.instance=new U.W3mFrameProvider({projectId:e,chainId:t,enableLogger:n,onTimeout:r,abortController:i,getActiveCaipNetwork:o,getCaipNetworks:a,enableCloudAuthAccount:!!w.OptionsController.state.remoteFeatures?.emailCapture,metadata:s,sdkVersion:c,sdkType:l})),T.instance}}var k=e.i(450034),O=e.i(979031),S=e.i(163059),P=e.i(709839),_=e.i(351658),R=e.i(34559),L=e.i(356897),D=e.i(535185),W=e.i(45491),M=e.i(652067),F=e.i(994242),H=e.i(393305),x=e.i(840864),j=e.i(504672);function q(e){try{return new URL(e)}catch{return null}}let B={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"],tron:["tron_signMessage","tron_signTransaction"]},V={RPC_ERROR_CODE:{USER_REJECTED:5e3,USER_REJECTED_METHODS:5002},getMethodsByChainNamespace:e=>B[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[i,o]=t.split(":");i&&o&&n[i]&&(n[i].rpcMap||(n[i].rpcMap={}),e.has(i)||(n[i].rpcMap={},e.add(i)),n[i].rpcMap[o]=r)})}return n},createNamespaces(e,t){let n=e.reduce((e,t)=>{let{id:n,chainNamespace:r,rpcUrls:i}=t,o=i.default.http[0];e[r]||(e[r]=this.createDefaultNamespace(r));let a=`${r}:${n}`,s=e[r];switch(s.chains.push(a),a){case"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":s.chains.push("solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ");break;case"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1":s.chains.push("solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K")}return s?.rpcMap&&o&&(s.rpcMap[n]=o),e},{});return this.applyNamespaceOverrides(n,t)},resolveReownName:async e=>{let t=await W.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===V.RPC_ERROR_CODE.USER_REJECTED_METHODS,r=t&&e.code===V.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 i=q(e);if(!i)return r.some(t=>!t.includes("*")&&t===e);if("localhost"===i.hostname||"127.0.0.1"===i.hostname)return!0;for(let t of r)if(t.includes("*")){if(function(e,t,n){let r,i,o=n,a=o.indexOf("://");-1!==a&&(r=o.slice(0,a),o=o.slice(a+3));let s=o.indexOf("/");-1!==s&&(o=o.slice(0,s));let c=o,l=c.lastIndexOf(":");-1!==l&&(i=c.slice(l+1),c=c.slice(0,l));let d=c.split(".");for(let e of d)if(e.includes("*")&&"*"!==e)return!1;let h=e.protocol.replace(/:$/u,"");if(r&&r!==h||void 0!==i&&"*"!==i&&i!==e.port)return!1;let C=function(e){let t=e.indexOf("://");if(-1===t)return null;let n=e.slice(0,t),r=t+3,i=e.indexOf("/",r);-1===i&&(i=e.length);let o=e.slice(r,i),a=o.lastIndexOf(":");return -1===a?{scheme:n,host:o}:{scheme:n,host:o.slice(0,a),port:o.slice(a+1)}}(t),u=(C?C.host:e.hostname).split(".");if(d.length!==u.length)return!1;for(let e=d.length-1;e>=0;e-=1){let t=d[e],n=u[e];
1if("*"!==t&&t!==n)return!1}return!0}(i,e,t))return!0}else if(function(e,t){let n,r,i;if(t.includes("://")){let n=q(t);return!!n&&n.origin===e}let{host:o,port:a}=-1===(i=(r=(n=t.split("/")).length>0&&void 0!==n[0]?n[0]:"").lastIndexOf(":"))?{host:r}:{host:r.slice(0,i),port:r.slice(i+1)},s=e.indexOf("://");if(-1!==s){let t=s+3,n=e.indexOf("/",t);-1===n&&(n=e.length);let r=e.slice(t,n);return void 0!==a?`${o}:${a}`===r:o===r.split(":")[0]}let c=q(e);return!!c&&(void 0!==a?o===c.hostname&&a===(c.port||void 0):o===c.hostname)}(e,t))return!0;return!1},listenWcProvider({universalProvider:e,namespace:t,onConnect:n,onDisconnect:r,onAccountsChanged:i,onChainChanged:o,onDisplayUri:a}){n&&e.on("connect",()=>{n(V.getWalletConnectAccounts(e,t))}),r&&e.on("disconnect",()=>{r()}),i&&e.on("accountsChanged",n=>{try{let r=e.session?.namespaces?.[t]?.accounts||[],o=e.rpcProviders?.[t]?.getDefaultChain(),a=n.map(e=>{let n=r.find(n=>n.includes(`${t}:${o}:${e}`));if(!n)return;let{chainId:i,chainNamespace:a}=S.ParseUtil.parseCaipAddress(n);return{address:e,chainId:i,chainNamespace:a}}).filter(e=>void 0!==e);a.length>0&&i(a)}catch(e){console.warn("Failed to parse accounts for namespace on accountsChanged event",t,n,e)}}),o&&e.on("chainChanged",e=>{o(e)}),a&&e.on("display_uri",e=>{a(e)})},getWalletConnectAccounts(e,t){let n=new Set,r=e?.session?.namespaces?.[t]?.accounts?.map(e=>S.ParseUtil.parseCaipAddress(e)).filter(({address:e})=>!n.has(e.toLowerCase())&&(n.add(e.toLowerCase()),!0));return r&&r.length>0?r:[]}};e.i(185681);var $=e.i(615253),z=e.i(792513),K=e.i(379176);let G={createLogger(e,t="error"){let n=(0,K.getDefaultLoggerOptions)({level:t}),{logger:r}=(0,K.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(137580);let J={TOKEN_ADDRESSES_BY_SYMBOL:{USDC:{8453:Y.baseUSDC.asset,84532:Y.baseSepoliaUSDC.asset}},getTokenSymbolByAddress(e){if(!e)return;let[t]=Object.entries(J.TOKEN_ADDRESSES_BY_SYMBOL).find(([t,n])=>Object.values(n).includes(e))??[];return t}};var X=e.i(344048),Z=e.i(148701),Q=e.i(676213);let ee=[i.ConstantsUtil.CONNECTOR_ID.AUTH,i.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=>c.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:i.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:i.ConstantsUtil.CONNECTOR_ID.AUTH,type:"AUTH",name:i.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(V.isUserRejectedRequestError(e))throw new Q.UserRejectedRequestError(e);throw e}}async switchNetwork(e){let{caipNetwork:t}=e,n=f.ProviderController.getProviderId(t.chainNamespace),r=f.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=c.ConnectorController.getAuthConnector()?.provider;if(!e)throw Error("Auth provider not found");let n=(0,p.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:i}=r.CoreHelperUtil.getAccount(e[0]),o=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===i?.toString()),a=this.connectors.find(e=>e.id===t);n&&(this.emit("accountChanged",{address:n,chainId:i,connector:a}),this.addConnection({connectorId:t,accounts:e.map(e=>{let{address:t}=r.CoreHelperUtil.getAccount(e);return{address:t}}),caipNetwork:o}))}}onAccountsChanged(e,t,n=!0){if(e.length>0){let{address:n}=r.CoreHelperUtil.getAccount(e[0]),o=this.getConnection({connectorId:t,connections:this.connections,connectors:this.connectors});n&&this.getConnectorId(i.ConstantsUtil.CHAIN.EVM)?.toLowerCase()===t.toLowerCase()&&this.emit("accountChanged",{address:n,chainId:o?.caipNetwork?.id,connector:o?.connector}),this.addConnection({connectorId:t,accounts:e.map(e=>{let{address:t}=r.CoreHelperUtil.getAccount(e);return{address:t}}),caipNetwork:o?.caipNetwork})}else n&&this.onDisconnect(t)}onDisconnect(e){this.removeProviderListeners(e),this.deleteConnection(e),this.getConnectorId(i.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}),o=this.getCaipNetworks().filter(e=>e.chainNamespace===this.namespace).find(e=>e.id.toString()===n);r&&this.addConnection({connectorId:t,accounts:r.accounts,caipNetwork:o}),this.getConnectorId(i.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),i=()=>this.onDisconnect(e);this.providerHandlers[e]||(t.on("disconnect",i),t.on("accountsChanged",n),t.on("chainChanged",r),this.providerHandlers[e]={provider:t,disconnect:i,accountsChanged:n,chainChanged:r})}removeProviderListeners(e){if(this.providerHandlers[e]){let{provider:t,disconnect:n,accountsChanged:r,chainChanged:i}=this.providerHandlers[e];t.removeListener("disconnect",n),t.removeListener("accountsChanged",r),t.removeListener("chainChanged",i),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 i=n.find(e=>e.connectorId.toLowerCase()===t.toLowerCase());if(!i)return null;let o=r.find(e=>e.id.toLowerCase()===i.connectorId.toLowerCase()),a=e?i.accounts.find(t=>t.address.toLowerCase()===e.toLowerCase()):i.accounts[0];return{...i,account:a,connector:o}}let i=n.find(e=>e.accounts.length>0&&r.some(t=>t.id.toLowerCase()===e.connectorId.toLowerCase()));if(i){let[e]=i.accounts,t=r.find(e=>e.id.toLowerCase()===i.connectorId.toLowerCase());return{...i,account:e,connector:t}}return null}}class en{constructor({provider:e,namespace:t}){this.id=i.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=V.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 u.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"];class ei 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||[]).filter((e,t,n)=>n.indexOf(e)===t).map(t=>r.CoreHelperUtil.createAccount({caipAddress:t,type:"bip122"===e?"payment":"eoa"}))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&l.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===i.ConstantsUtil.CHAIN.SOLANA?(await t.request({method:"solana_signMessage",params:{message:X.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===i.ConstantsUtil.CHAIN.EVM)try{await n.provider?.request({method:"wallet_switchEthereumChain",params:[{chainId:(0,Z.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,Z.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 eo=["email","socials","swaps","onramp","activity","reownBranding","multiWallet","emailCapture","payWithExchange","payments","reownAuthentication","headless"],ea={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?l.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?l.ConstantsUtil.DEFAULT_REMOTE_FEATURES.socials:"boolean"==typeof e?!!e&&l.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?l.ConstantsUtil.DEFAULT_REMOTE_FEATURES.swaps:"boolean"==typeof e?!!e&&l.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?l.ConstantsUtil.DEFAULT_REMOTE_FEATURES.onramp:"boolean"==typeof e?!!e&&l.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?l.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?l.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:()=>l.ConstantsUtil.DEFAULT_REMOTE_FEATURES.multiWallet},payWithExchange:{apiFeatureName:"fund_from_exchange",localFeatureName:"payWithExchange",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>l.ConstantsUtil.DEFAULT_REMOTE_FEATURES.payWithExchange},payments:{apiFeatureName:"payments",localFeatureName:"payments",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>l.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?l.ConstantsUtil.DEFAULT_REMOTE_FEATURES.reownAuthentication:!!e},headless:{apiFeatureName:"headless",localFeatureName:"headless",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:e=>!!e.isEnabled,processFallback:()=>l.ConstantsUtil.DEFAULT_REMOTE_FEATURES.headless}},es={localSettingsOverridden:new Set,getApiConfig:(e,t)=>
1t?.find(t=>t.id===e),addWarning(e,t){if(void 0!==e){let e=ea[t],n=e.isLegacy?`"features.${e.localFeatureName}" (now "${t}")`:`"features.${t}"`;this.localSettingsOverridden.add(n)}},processFeature(e,t,n,r,i){let o=ea[e],a=t[o.localFeatureName];if(i&&!o.isAvailableOnBasic)return!1;if(r){let t=this.getApiConfig(o.apiFeatureName,n);return t?.config===null?this.processFallbackFeature(e,a):!!t?.config&&(void 0!==a&&this.addWarning(a,e),this.processApiFeature(e,t))}return this.processFallbackFeature(e,a)},processApiFeature:(e,t)=>ea[e].processApi(t),processFallbackFeature:(e,t)=>ea[e].processFallback(t),async fetchRemoteFeatures(e){let t=e.basic??!1,n=e.features||{};this.localSettingsOverridden.clear();let r=null,i=!1;try{i=null!=(r=await a.ApiController.fetchProjectConfig())}catch(e){console.warn("[Reown Config] Failed to fetch remote project configuration. Using local/default values.",e)}let o=i&&!t?l.ConstantsUtil.DEFAULT_REMOTE_FEATURES:l.ConstantsUtil.DEFAULT_REMOTE_FEATURES_DISABLED;try{for(let e of eo){let a=this.processFeature(e,n,r,i,t);Object.assign(o,{[e]:a})}}catch(e){return console.warn("[Reown Config] Failed to process the configuration from Cloud. Using default values.",e),l.ConstantsUtil.DEFAULT_REMOTE_FEATURES}if(i&&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:E.ErrorUtil.ALERT_WARNINGS.LOCAL_CONFIGURATION_IGNORED.debugMessage(e)},"warning")}return o}};class ec{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 i=m.ChainController.getRequestedCaipNetworks(e);return i.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=>f.ProviderController.getProvider(e),this.getProviderType=e=>f.ProviderController.getProviderId(e),this.getPreferredAccountType=e=>(0,p.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),c.ConnectorController.isConnected()?v.StorageUtil.setConnectionStatus("connected"):v.StorageUtil.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=e=>m.ChainController.getAccountData(e)?.address,this.setConnectors=e=>{let t=[...c.ConnectorController.state.allConnectors,...e];c.ConnectorController.setConnectors(t)},this.setConnections=(e,t)=>{v.StorageUtil.setConnections(e,t),s.ConnectionController.setConnections(e,t)},this.fetchIdentity=e=>R.BlockchainApiController.fetchIdentity(e),this.getReownName=e=>W.EnsController.getNamesForAddress(e),this.getConnectors=()=>c.ConnectorController.getConnectors(),this.getConnectorImage=e=>_.AssetUtil.getConnectorImage(e),this.getConnections=e=>this.remoteFeatures.multiWallet?L.ConnectionControllerUtil.getConnectionsData(e).connections:(g.AlertController.open(i.ConstantsUtil.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),[]),this.getRecentConnections=e=>this.remoteFeatures.multiWallet?L.ConnectionControllerUtil.getConnectionsData(e).recentConnections:(g.AlertController.open(i.ConstantsUtil.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info"),[]),this.switchConnection=async e=>{this.remoteFeatures.multiWallet?await s.ConnectionController.switchConnection(e):g.AlertController.open(i.ConstantsUtil.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info")},this.deleteConnection=e=>{this.remoteFeatures.multiWallet?(v.StorageUtil.deleteAddressFromConnection(e),s.ConnectionController.syncStorageConnections()):g.AlertController.open(i.ConstantsUtil.REMOTE_FEATURES_ALERTS.MULTI_WALLET_NOT_ENABLED.DEFAULT,"info")},this.setConnectedWalletInfo=(e,t)=>{let n=f.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=>{c.ConnectorController.addConnector(e)},this.resetWcConnection=()=>{s.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&&!D.ConnectorUtil.hasInjectedConnectors()&&a.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 es.fetchRemoteFeatures(t)),await a.ApiController.fetchUsage(),w.OptionsController.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&F.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(373665),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=J.getTokenSymbolByAddress(e.assetAddress);t&&await a.ApiController.fetchTokenImages([t])}catch{}return await M.ModalController.open({view:"WalletSend",data:{send:e}}),new Promise((e,t)=>{let n=H.SendController.subscribeKey("hash",t=>{t&&(i(),e({hash:t}))}),r=M.ModalController.subscribe(e=>{e.open||(i(),t(Error("Modal closed")))}),i=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 a.ApiController.fetchAllowedOrigins();if(!r.CoreHelperUtil.isClient())return;let t=window.location.origin;V.isOriginAllowed(t,e,i.ConstantsUtil.DEFAULT_ALLOWED_ANCESTORS)||g.AlertController.open(E.ErrorUtil.ALERT_ERRORS.ORIGIN_NOT_ALLOWED,"error")}catch(e){if(!(e instanceof Error))return;switch(e.message){case"RATE_LIMITED":g.AlertController.open(E.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:E.ErrorUtil.ALERT_ERRORS.SERVER_ERROR_APP_CONFIGURATION.displayMessage,debugMessage:E.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){s.ConnectionController.initialize(e.adapters??[]),s.ConnectionController.setWcBasic(e.basic??!1)}initializeConnectorController(){c.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(E.ErrorUtil.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");if(e.adapters?.find(e=>e.namespace===i.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=z.CaipNetworksUtil.getUnsupportedNetwork(`${t}:${e}`);m.ChainController.setActiveCaipNetwork(n)}}getDefaultNetwork(){return z.CaipNetworksUtil.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,t){return z.CaipNetworksUtil.extendCaipNetwork(e,{customNetworkImageUrls:t.chainImages,projectId:t.projectId})}extendCaipNetworks(e){return z.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?z.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=s.ConnectionController.getConnections(e),i=this.remoteFeatures.multiWallet,o=r.length>0;if(!t)throw Error("Adapter not found");let a=await t.connectWalletConnect(n);o&&i||this.close(),this.setClientId(a?.clientId||null),v.StorageUtil.setConnectedNamespaces([...m.ChainController.state.chains.keys()]),await this.syncWalletConnectAccount(),await u.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 i=m.ChainController.state.activeChain,o=this.getAdapter(i);if(!i)throw Error("reconnectExternal: namespace not found");if(!o)throw Error("reconnectExternal: adapter not found");o?.reconnect&&(await o?.reconnect({id:e,info:t,type:n,provider:r,chainId:this.getCaipNetwork()?.id}),v.StorageUtil.addConnectedNamespace(i),this.syncConnectedWalletInfo(i))},disconnectConnector:async e=>{await this.disconnectConnector(e.namespace,e.id)},disconnect:async e=>{let{id:t,chainNamespace:n,initialDisconnect:r}=e||{},o=n||m.ChainController.state.activeChain,a=c.ConnectorController.getConnectorId(o),l=t===i.ConstantsUtil.CONNECTOR_ID.AUTH||a===i.ConstantsUtil.CONNECTOR_ID.AUTH,h=t===i.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT||a===i.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT;try{let e=Array.from(m.ChainController.state.chains.keys()),i=n?[n]:e;(h||l)&&(i=e);let o=i.map(async e=>{let n=c.ConnectorController.getConnectorId(e),i=await this.disconnectConnector(e,t||n);i&&(l&&v.StorageUtil.deleteConnectedSocialProvider(),i.connections.forEach(t=>{v.StorageUtil.addDisconnectedConnectorId(t.connectorId,e)})),r&&this.onDisconnectNamespace({chainNamespace:e,closeModal:!1})}),a=await Promise.allSettled(o);H.SendController.resetSend(),s.ConnectionController.resetWcConnection(),u.SIWXUtil.getSIWX()?.signOutOnDisconnect&&await u.SIWXUtil.clearSessions(),c.ConnectorController.setFilterByNamespace(void 0),s.ConnectionController.syncStorageConnections();let C=a.filter(e=>"rejected"===e.status);if(C.length>0)throw Error(C.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 i=await n?.signMessage({message:e,address:r,provider:f.ProviderController.getProvider(t)});return i?.signature||""},sendTransaction:async e=>{let t=e.chainNamespace;if(!t)throw Error("sendTransaction: namespace not found");if(l.ConstantsUtil.SEND_SUPPORTED_NAMESPACES.includes(t)){let n=this.getAdapter(t);if(!n)throw Error("sendTransaction: adapter not found");let r=f.ProviderController.getProvider(t),i=await n?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:r});return i?.hash||""}return""},estimateGas:async e=>{let t=e.chainNamespace;if(t===i.ConstantsUtil.CHAIN.EVM){let n=this.getAdapter(t);if(!n)throw Error("estimateGas: adapter is required but got undefined");let r=f.ProviderController.getProvider(t),i=this.getCaipNetwork();if(!i)throw Error("estimateGas: caipNetwork is required but got undefined");let o=await n?.estimateGas({...e,provider:r,caipNetwork:i});return o?.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 V.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(),i=this.getCaipAddress(),o=f.ProviderController.getProvider(t);if(!r||!i)throw Error("writeContract: caipNetwork or caipAddress is required but got undefined");let a=await n?.writeContract({...e,caipNetwork:r,provider:o,caipAddress:i});return a?.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(),i=this.getCaipAddress(),o=f.ProviderController.getProvider(t);if(!r||!i)throw Error("writeContract: caipNetwork or caipAddress is required but got undefined");let a=await n?.writeSolanaTransaction({...e,caipNetwork:r,provider:o,caipAddress:i});return a?.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)}},s.ConnectionController.setClient(this.connectionControllerClient)}async onConnectExternal(e){let t=m.ChainController.state.activeChain,n=e.chain||t,r=this.getAdapter(n),o=!0;if(e.type===y.ConstantsUtil.CONNECTOR_TYPE_AUTH&&i.ConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.some(e=>c.ConnectorController.getConnectorId(e)===i.ConstantsUtil.CONNECTOR_ID.AUTH)&&e.chain!==t&&(o=!1),e.chain&&e.chain!==t&&!e.caipNetwork){let t=this.getCaipNetworks().find(t=>t.chainNamespace===e.chain);t&&o&&this.setCaipNetwork(t)}if(!n)throw Error("connectExternal: namespace not found");if(!r)throw Error("connectExternal: adapter not found");let a=this.getCaipNetwork(n),s=e.caipNetwork||a,l=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||a?.id,rpcUrl:e.caipNetwork?.rpcUrls?.default?.http?.[0]||a?.rpcUrls?.default?.http?.[0]});if(l)return v.StorageUtil.addConnectedNamespace(n),this.syncProvider({...l,chainNamespace:n}),this.setStatus("connected",n),this.syncConnectedWalletInfo(n),v.StorageUtil.removeDisconnectedConnectorId(e.id,n),{address:l.address,connectedCaipNetwork:s}}async connectInactiveNamespaces(e,t){let n=e.type===y.ConstantsUtil.CONNECTOR_TYPE_AUTH,r=A.HelpersUtil.getOtherAuthNamespaces(t?.connectedCaipNetwork?.chainNamespace),i=m.ChainController.state.activeCaipNetwork,o=this.getAdapter(i?.chainNamespace);n&&(await Promise.all(r.map(async t=>{try{let n=f.ProviderController.getProvider(t),r=this.getCaipNetwork(t),i=this.getAdapter(t);await i?.connect({...e,provider:n,socialUri:void 0,chainId:r?.id,rpcUrl:r?.rpcUrls?.default?.http?.[0]})&&(v.StorageUtil.addConnectedNamespace(t),v.StorageUtil.removeDisconnectedConnectorId(e.id,t),this.setStatus("connected",t),this.syncConnectedWalletInfo(t))}catch(e){g.AlertController.warn(E.ErrorUtil.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.displayMessage,E.ErrorUtil.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.debugMessage(t,e instanceof Error?e.message:void 0),E.ErrorUtil.ALERT_WARNINGS.INACTIVE_NAMESPACE_NOT_CONNECTED.code)}})),i&&await o?.switchNetwork({caipNetwork:i}))}getApprovedCaipNetworksData(){if(f.ProviderController.getProviderId(m.ChainController.state.activeChain)===y.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=f.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===y.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}=S.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 ei({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=v.StorageUtil.getConnectionStatus();!1===w.OptionsController.state.enableReconnect?this.setStatus("disconnected",e):"connected"===n?this.setStatus("connecting",e):("disconnected"===n&&v.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()),i=m.ChainController.state.activeChain===e,o=m.ChainController.state.chains.get(e)?.accountState?.address;if(r){let n=i&&t?t:o;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(s.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 i=m.ChainController.state.activeChain===e;r?.provider&&(this.syncProvider({id:r.id,type:r.type,provider:r?.provider,chainNamespace:e}),this.syncConnectedWalletInfo(e));let o=m.ChainController.getNetworkData(e)?.caipNetwork?.id,a=n||o;i&&a?this.syncAccount({address:t,chainId:a,chainNamespace:e}):!i&&a?(this.syncAccountInfo(t,a,e),this.syncBalance({address:t,chainId:a,chainNamespace:e})):this.syncAccountInfo(t,n,e),v.StorageUtil.addConnectedNamespace(e)})}async handlePreviousConnectorConnection(e){let t=e?.chain,n=e?.id,r=c.ConnectorController.getConnectorId(t),i=w.OptionsController.state.remoteFeatures?.multiWallet,o=r!==n,a=t&&n&&r&&o&&!i;try{a&&await s.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=>s.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()||v.StorageUtil.deleteRecentWallet();let t=v.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:C.RouterController.state.view,walletRank:t?.order}})}async syncNamespaceConnection(e){try{e===i.ConstantsUtil.CHAIN.EVM&&r.CoreHelperUtil.isSafeApp()&&c.ConnectorController.setConnectorId(i.ConstantsUtil.CONNECTOR_ID.SAFE,e);let t=c.ConnectorController.getConnectorId(e);switch(this.setStatus("connecting",e),t){case i.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT:await this.reconnectWalletConnect();break;case i.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),v.StorageUtil.removeConnectedNamespace(t);let r=Array.from(m.ChainController.state.chains.keys());
1(t?[t]:r).forEach(e=>v.StorageUtil.addDisconnectedConnectorId(c.ConnectorController.getConnectorId(e)||"",e)),c.ConnectorController.removeConnectorId(t),f.ProviderController.resetChain(t),this.setUser(null,t),this.setStatus("disconnected",t),this.setConnectedWalletInfo(null,t),!1!==n&&M.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=c.ConnectorController.getConnectorId(e),i=c.ConnectorController.getConnectors(e).find(e=>e.id===r);try{if(!t||!i)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:i.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:i.info?.name||i.name||"Unknown",reconnect:!0,view:C.RouterController.state.view,walletRank:i?.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||[],o=m.ChainController.state.activeCaipNetwork?.id,a=r.find(e=>{let{chainId:t}=S.ParseUtil.parseCaipAddress(e);return t===o?.toString()})||r[0];if(a){let e=S.ParseUtil.validateCaipAddress(a),{chainId:r,address:o}=S.ParseUtil.parseCaipAddress(e);if(f.ProviderController.setProviderId(t,y.ConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&m.ChainController.state.activeCaipNetwork&&n.namespace!==i.ConstantsUtil.CHAIN.EVM){let e=n.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:m.ChainController.state.activeCaipNetwork});f.ProviderController.setProvider(t,e)}else f.ProviderController.setProvider(t,this.universalProvider);c.ConnectorController.setConnectorId(i.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT,t),v.StorageUtil.addConnectedNamespace(t),await this.syncAccount({address:o,chainId:r,chainNamespace:t})}else e.includes(t)&&this.setStatus("disconnected",t);let s=this.getApprovedCaipNetworksData();this.syncConnectedWalletInfo(t),m.ChainController.setApprovedCaipNetworksData(t,{approvedCaipNetworkIds:s.approvedCaipNetworkIds,supportsAllNetworks:s.supportsAllNetworks})});await Promise.all(t)}syncProvider({type:e,provider:t,id:n,chainNamespace:r}){f.ProviderController.setProviderId(r,e),f.ProviderController.setProvider(r,t),c.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:o,chainNamespace:a}=e,{chainId:s}=v.StorageUtil.getActiveNetworkProps(),c=n?.id||s,l=m.ChainController.state.activeCaipNetwork?.name===i.ConstantsUtil.UNSUPPORTED_NETWORK_NAME,d=m.ChainController.getNetworkProp("supportsAllNetworks",a);if(this.setStatus("connected",a),(!l||d)&&c){let e=this.getCaipNetworks().find(e=>e.id.toString()===c.toString()),s=this.getCaipNetworks().find(e=>e.chainNamespace===a);if(!d&&!e&&!s){let t=this.getApprovedCaipNetworkIds()||[],n=t.find(e=>S.ParseUtil.parseCaipNetworkId(e)?.chainId===c.toString()),r=t.find(e=>S.ParseUtil.parseCaipNetworkId(e)?.chainNamespace===a);e=this.getCaipNetworks().find(e=>e.caipNetworkId===n),s=this.getCaipNetworks().find(e=>e.caipNetworkId===r||"deprecatedCaipNetworkId"in e&&e.deprecatedCaipNetworkId===r)}let l=e||s;l?.chainNamespace===m.ChainController.state.activeChain?w.OptionsController.state.enableNetworkSwitch&&!w.OptionsController.state.allowUnsupportedChain&&m.ChainController.state.activeCaipNetwork?.name===i.ConstantsUtil.UNSUPPORTED_NETWORK_NAME?m.ChainController.showUnsupportedChainUI():this.setCaipNetwork(l):!t&&n&&this.setCaipNetworkOfNamespace(n,a),this.syncConnectedWalletInfo(a);let h=this.getAddress(a);A.HelpersUtil.isLowerCaseMatch(r,h)||this.syncAccountInfo(r,l?.id,a),t?await this.syncBalance({address:r,chainId:l?.id,chainNamespace:a}):await this.syncBalance({address:r,chainId:n?.id,chainNamespace:a}),this.syncIdentity({address:r,chainId:o,chainNamespace:a})}}async syncAccountInfo(e,t,n){let r=this.getCaipAddress(n),i=t||r?.split(":")[1];if(!i)return;let o=`${n}:${i}:${e}`;this.setCaipAddress(o,n,!0),await this.syncIdentity({address:e,chainId:i,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=c.ConnectorController.getConnectorId(e),n=f.ProviderController.getProviderId(e);if(n===y.ConstantsUtil.CONNECTOR_TYPE_ANNOUNCED||n===y.ConstantsUtil.CONNECTOR_TYPE_INJECTED){if(t){let n=this.getConnectors().find(e=>{let n=e.id===t,r=e.info?.rdns===t,i=e.connectors?.some(e=>e.id===t||e.info?.rdns===t);return n||r||!!i});if(n){let{info:t,name:r,imageUrl:i}=n,o=i||this.getConnectorImage(n);this.setConnectedWalletInfo({name:r,icon:o,...t},e)}}}else if(n===y.ConstantsUtil.CONNECTOR_TYPE_WALLET_CONNECT){let t=f.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===i.ConstantsUtil.CONNECTOR_ID.COINBASE_SDK||t===i.ConstantsUtil.CONNECTOR_ID.COINBASE)){let n=this.getConnectors().find(e=>e.id===t),r=n?.name||"Coinbase Wallet",i=n?.imageUrl||this.getConnectorImage(n),o=n?.info;this.setConnectedWalletInfo({...o,name:r,icon:i},e)}}async syncBalance(e){O.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),i=m.ChainController.getCaipNetworkByNamespace(n,t);if(r){let o=await r.getBalance({address:e,chainId:t,caipNetwork:i,tokens:this.options.tokens});return this.setBalance(o.balance,o.symbol,n),o}}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=>{V.listenWcProvider({universalProvider:this.universalProvider,namespace:e,onDisplayUri:e=>{s.ConnectionController.setUri(e)},onConnect:e=>{let{address:t}=r.CoreHelperUtil.getAccount(e[0]);for(let e of this.chainNamespaces)v.StorageUtil.removeDisconnectedConnectorId(i.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT,e);s.ConnectionController.finalizeWcConnection(t)},onDisconnect:()=>{m.ChainController.state.noAdapters&&this.resetAccount(e),s.ConnectionController.resetWcConnection()},onChainChanged:t=>{let n=m.ChainController.state.activeChain,r=n&&c.ConnectorController.state.activeConnectorIds[n]===i.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&&c.ConnectorController.state.activeConnectorIds[n]===i.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(E.ErrorUtil.UniversalProviderErrors).find(([,{message:t}])=>e.message.includes(t))??[],{message:r,alertErrorKey:i}=n??{};if(t&&r&&!this.reportedAlertErrors[t]){let e=E.ErrorUtil.ALERT_ERRORS[i];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&&s.ConnectionController.setUri(e.uri);let{isSwap:t,isSend:n}=this.toModalOptions();return t(e)?M.ModalController.open({...e,data:{swap:e.arguments}}):n(e)&&e.arguments?this.openSend(e.arguments):M.ModalController.open(e)}async close(){await this.injectModalUi(),M.ModalController.close()}setLoading(e,t){M.ModalController.setLoading(e,t)}async disconnect(e){await s.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(E.ErrorUtil.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error")}getWalletProvider(){return m.ChainController.state.activeChain?f.ProviderController.state.providers[m.ChainController.state.activeChain]:null}getWalletProviderType(){return f.ProviderController.getProviderId(m.ChainController.state.activeChain)}subscribeProviders(e){return f.ProviderController.subscribeProviders(e)}getThemeMode(){return N.ThemeController.state.themeMode}getThemeVariables(){return N.ThemeController.state.themeVariables}setThemeMode(e){N.ThemeController.setThemeMode(e),(0,$.setColorTheme)(N.ThemeController.state.themeMode)}setTermsConditionsUrl(e){w.OptionsController.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){w.OptionsController.setPrivacyPolicyUrl(e)}setThemeVariables(e){N.ThemeController.setThemeVariables(e),(0,$.setThemeVariables)(N.ThemeController.state.themeVariables)}subscribeTheme(e){return N.ThemeController.subscribe(e)}subscribeConnections(e){return this.remoteFeatures.multiWallet?s.ConnectionController.subscribe(e):(g.AlertController.open(i.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=c.ConnectorController.getAuthConnector(t),o=m.ChainController.getAccountData(t),a=v.StorageUtil.getConnectedConnectorId(m.ChainController.state.activeChain),l=s.ConnectionController.getConnections(t);if(!t)throw Error("AppKit:getAccount - namespace is required");let d=l.flatMap(e=>{let{caipNetwork:t}=e;return t?e.accounts.map(({address:e,type:n,publicKey:i})=>r.CoreHelperUtil.createAccount({caipAddress:`${t.caipNetworkId}:${e}`,type:n||"eoa",publicKey:i})):[]});if(o)return{allAccounts:d,caipAddress:o.caipAddress,address:r.CoreHelperUtil.getPlainAddress(o.caipAddress),isConnected:!!o.caipAddress,status:o.status,embeddedWalletInfo:n&&a===i.ConstantsUtil.CONNECTOR_ID.AUTH?{user:o.user?{...o.user,username:v.StorageUtil.getConnectedSocialUsername()}:void 0,authProvider:o.socialProvider||"email",accountType:(0,p.getPreferredAccountType)(t),isSmartAccountDeployed:!!o.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 i=c.ConnectorController.subscribe(r);return n.push(i),()=>
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 h.PublicStateController.state}getRemoteFeatures(){return w.OptionsController.state.remoteFeatures}subscribeState(e){return h.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){C.RouterController.replace(e)}redirect(e){C.RouterController.push(e)}popTransactionStack(e){C.RouterController.popTransactionStack(e)}isOpen(){return M.ModalController.state.open}isTransactionStackEmpty(){return 0===C.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 j.WalletUtil.getConnectOrderMethod(w.OptionsController.state.features,c.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 el=!1;class ed extends ec{async onAuthProviderConnected(e){let t=A.HelpersUtil.userChainIdToChainNamespace(e?.chainId);if(e.message&&e.signature&&e.siwxMessage&&await u.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===i.ConstantsUtil.CHAIN.EVM?`eip155:${e.chainId}:${e.address}`:`${e.chainId}:${e.address}`,r=w.OptionsController.state.defaultAccountTypes[t],o=(0,p.getPreferredAccountType)(t),a=e.preferredAccountType||o||r;this.setCaipAddress(n,t);let{signature:s,siwxMessage:c,message:l,...d}=e,h=m.ChainController.getAccountData(t);this.setUser({...h?.user||{},...d},t),this.setSmartAccountDeployed(!!e.smartAccountDeployed,t),this.setPreferredAccountType(a,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=>{I.W3mFrameHelpers.checkIfRequestExists(t)?I.W3mFrameHelpers.checkIfRequestIsSafe(t)||this.handleUnsafeRPCRequest():(this.open(),console.error(b.W3mFrameRpcConstants.RPC_METHOD_NOT_ALLOWED_MESSAGE,{method:t.method}),setTimeout(()=>{this.showErrorMessage(b.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=I.W3mFrameHelpers.checkIfRequestIsSafe(t),r=this.getAddress(),i=m.ChainController.state.activeCaipNetwork;n||(r&&i?.id&&this.updateNativeBalance(r,i.id,i.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");c.ConnectorController.getConnectorId(e)===i.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,o.getW3mThemeV
1ariables)(t.themeVariables,t.themeMode)})}async syncAuthConnector(e,t){let n=i.ConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(t),r=t===m.ChainController.state.activeChain;if(!n)return;this.setLoading(!0,t);let o=e.getLoginEmailUsed();this.setLoading(o,t),o&&this.setStatus("connecting",t);let a=e.getEmail(),s=e.getUsername(),l=m.ChainController.getAccountData(t)?.user||{};this.setUser({...l,username:s,email:a},t),this.setupAuthConnectorListeners(e);let{isConnected:h}=await e.isConnected();if(t&&n&&r)if(h&&this.connectionControllerClient?.connectExternal){await e.init(),await this.syncAuthConnectorTheme(e),await this.connectionControllerClient?.connectExternal({id:i.ConstantsUtil.CONNECTOR_ID.AUTH,info:{name:i.ConstantsUtil.CONNECTOR_ID.AUTH},type:y.ConstantsUtil.CONNECTOR_TYPE_AUTH,provider:e,chainId:m.ChainController.getNetworkData(t)?.caipNetwork?.id,chain:t}),this.setStatus("connected",t);let n=v.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:C.RouterController.state.view,walletRank:void 0}})}else c.ConnectorController.getConnectorId(t)===i.ConstantsUtil.CONNECTOR_ID.AUTH&&(this.setStatus("disconnected",t),v.StorageUtil.removeConnectedNamespace(t));this.setLoading(!1,t)}async checkExistingTelegramSocialConnection(e){try{if(!r.CoreHelperUtil.isTelegram())return;let t=v.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 i=c.ConnectorController.getAuthConnector();t&&i&&(this.setLoading(!0,e),await s.ConnectionController.connectExternal({id:i.id,type:i.type,socialUri:n},i.chain),v.StorageUtil.setConnectedSocialProvider(t),v.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(!i.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=A.HelpersUtil.getActiveNamespaceConnectedToAuth()||e;!this.authProvider&&this.options?.projectId&&(t||n)&&(this.authProvider=T.getInstance({projectId:this.options.projectId,enableLogger:this.options.enableAuthLogger,chainId:this.getCaipNetwork(r)?.caipNetworkId,abortController:E.ErrorUtil.EmbeddedWalletAbortController,onTimeout:e=>{"iframe_load_failed"===e?g.AlertController.open(E.ErrorUtil.ALERT_ERRORS.IFRAME_LOAD_FAILED,"error"):"iframe_request_timeout"===e?g.AlertController.open(E.ErrorUtil.ALERT_ERRORS.IFRAME_REQUEST_TIMEOUT,"error"):"unverified_domain"===e&&g.AlertController.open(E.ErrorUtil.ALERT_ERRORS.UNVERIFIED_DOMAIN,"error")},getActiveCaipNetwork:e=>(0,p.getActiveCaipNetwork)(e),getCaipNetworks:e=>m.ChainController.getCaipNetworks(e)}),h.PublicStateController.subscribeOpen(e=>{!e&&this.isTransactionStackEmpty()&&this.authProvider?.rejectRpcRequests()}));let o=e===m.ChainController.state.activeChain&&w.OptionsController.state.enableReconnect;!1===w.OptionsController.state.enableReconnect?this.syncAuthConnectorTheme(this.authProvider):this.authProvider&&o&&(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&&a.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 o=f.ProviderController.getProviderId(t)===y.ConstantsUtil.CONNECTOR_TYPE_AUTH,a=f.ProviderController.getProviderId(n),s=a===y.ConstantsUtil.CONNECTOR_TYPE_AUTH,c=i.ConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.includes(n);if(!n)throw Error("AppKit:switchCaipNetwork - networkNamespace is required");
1if((o&&void 0===a||s)&&c)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:i.ConstantsUtil.CONNECTOR_ID.AUTH,provider:this.authProvider,chain:n,chainId:e.id,type:y.ConstantsUtil.CONNECTOR_TYPE_AUTH,caipNetwork:e});this.setCaipNetwork(e)}catch(r){let t=this.getAdapter(n);await t?.switchNetwork({caipNetwork:e})}else if(a===y.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=>{this.createAuthProviderForAdapter(e)}),await this.injectModalUi(),h.PublicStateController.set({initialized:!0})}async syncIdentity({address:e,chainId:t,chainNamespace:n}){if(n!==i.ConstantsUtil.CHAIN.EVM)return;let r=`${n}:${t}`,o=this.caipNetworks?.find(e=>e.caipNetworkId===r);if(o?.testnet){this.setProfileName(null,n),this.setProfileImage(null,n);return}let a=c.ConnectorController.getConnectorId(n)===i.ConstantsUtil.CONNECTOR_ID.AUTH;try{let{name:t,avatar:r}=await this.fetchIdentity({address:e});!t&&a?await this.syncReownName(e,n):(this.setProfileName(t,n),this.setProfileImage(r,n))}catch{1!==t&&this.setProfileImage(null,n)}}syncConnectedWalletInfo(e){let t=f.ProviderController.getProviderId(e);if(t===y.ConstantsUtil.CONNECTOR_TYPE_AUTH){let n=this.authProvider;if(n){let r=v.StorageUtil.getConnectedSocialProvider()??"email",i=n.getEmail()??n.getUsername();this.setConnectedWalletInfo({name:t,identifier:i,social:r},e)}}else super.syncConnectedWalletInfo(e)}async injectModalUi(){if(!r.CoreHelperUtil.isClient())return;let e={...l.ConstantsUtil.DEFAULT_FEATURES,...this.options.features};if(!e.headless&&!el)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)}el=!0}catch(e){console.error("Error injecting modal UI:",e)}}async loadModalComponents(t,n){if(!r.CoreHelperUtil.isClient())return;let i=[];(n.email||n.socials&&n.socials.length>0)&&i.push(e.A(178540)),n.email&&i.push(e.A(372347)),n.socials&&i.push(e.A(593632)),n.swaps&&n.swaps.length>0&&i.push(e.A(999006)),t.send&&i.push(e.A(842808)),t.receive&&i.push(e.A(802142)),n.onramp&&n.onramp.length>0&&i.push(e.A(936120)),n.payWithExchange&&i.push(e.A(115214)),n.activity&&i.push(e.A(862609)),(t.pay||n.payments)&&i.push(e.A(185313)),n.emailCapture&&i.push(e.A(899138)),await Promise.all([...i,e.A(148617),e.A(880886)])}}var eh=e.i(897189),eC=e.i(114880);async function eu(e,t){let n;if((n="function"==typeof t.connector?e._internal.connectors.setup(t.connector):t.connector).uid===e.state.current)throw new eC.ConnectorAlreadyConnectedError;try{e.setState(e=>({...e,status:"connecting"})),n.emitter.emit("message",{type:"connecting"});let{connector:r,...i}=t,o=await n.connect(i);return n.emitter.off("connect",e._internal.events.connect),n.emitter.on("change",e._internal.events.change),n.emitter.on("disconnect",e._internal.events.disconnect),await e.storage?.setItem("recentConnectorId",n.id),e.setState(e=>({...e,connections:new Map(e.connections).set(n.uid,{accounts:i.withCapabilities?o.accounts.map(e=>"object"==typeof e?e.address:e):o.accounts,chainId:o.chainId,connector:n}),current:n.uid,status:"connected"})),{accounts:i.withCapabilities?o.accounts.map(e=>"object"==typeof e?e:{address:e,capabilities:{}}):o.accounts,chainId:o.chainId}}catch(t){throw e.setState(e=>({...e,status:e.current?"connected":"disconnected"})),t}}var ep=e.i(722783),eg=e.i(763696);let em=e=>t=>{try{let n=e(t);if(n instanceof Promise)return n;return{then:e=>em(e)(n),catch(e){return this}}}catch(e){return{then(e){return this},catch:t=>em(t)(e)}}},ew=e=>{let t,n=new Set,r=(e,r)=>{let i="function"==typeof e?e(t):e;if(!Object.is(i,t)){let e=t;t=(null!=r?r:"object"!=typeof i||null===i)?i:Object.assign({}
1,t,i),n.forEach(n=>n(t,e))}},i=()=>t,o={setState:r,getState:i,getInitialState:()=>a,subscribe:e=>(n.add(e),()=>n.delete(e))},a=t=e(r,i,o);return o},ef=e=>e?ew(e):ew;var ev=e.i(220140);e.i(785373);var eN=e.i(50158);class eE{constructor(e){Object.defineProperty(this,"uid",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_emitter",{enumerable:!0,configurable:!0,writable:!0,value:new eN.EventEmitter})}on(e,t){this._emitter.on(e,t)}once(e,t){this._emitter.once(e,t)}off(e,t){this._emitter.off(e,t)}emit(e,...t){let n=t[0];this._emitter.emit(e,{uid:this.uid,...n})}listenerCount(e){return this._emitter.listenerCount(e)}}function eA(e,t){return JSON.parse(e,(e,n)=>{let r=n;return r?.__type==="bigint"&&(r=BigInt(r.value)),r?.__type==="Map"&&(r=new Map(r.value)),t?.(e,r)??r})}function ey(e,t){return e.slice(0,t).join(".")||"."}function eI(e,t){let{length:n}=e;for(let r=0;r<n;++r)if(e[r]===t)return r+1;return 0}function eb(e,t,n,r){var i;let o,a,s,c;return JSON.stringify(e,(i=(e,n)=>{let r=n;return"bigint"==typeof r&&(r={__type:"bigint",value:n.toString()}),r instanceof Map&&(r={__type:"Map",value:Array.from(n.entries())}),t?.(e,r)??r},o=true,a="function"==typeof r,s=[],c=[],function(e,t){if("object"==typeof t)if(s.length){let n=eI(s,this);0===n?s[s.length]=this:(s.splice(n),c.splice(n)),c[c.length]=e;let i=eI(s,t);if(0!==i)return a?r.call(this,e,t,ey(c,i)):`[ref=${ey(c,i)}]`}else s[0]=t,c[0]=e;return o?i.call(this,e,t):t}),n??void 0)}let eU={getItem:()=>null,setItem:()=>{},removeItem:()=>{}},eT=256;var ek=e.i(325790);function eO(e){let t=e.state.current,n=e.state.connections.get(t),r=n?.accounts,i=r?.[0],o=e.chains.find(e=>e.id===n?.chainId),a=e.state.status;switch(a){case"connected":return{address:i,addresses:r,chain:o,chainId:n?.chainId,connector:n?.connector,isConnected:!0,isConnecting:!1,isDisconnected:!1,isReconnecting:!1,status:a};case"reconnecting":return{address:i,addresses:r,chain:o,chainId:n?.chainId,connector:n?.connector,isConnected:!!i,isConnecting:!1,isDisconnected:!1,isReconnecting:!0,status:a};case"connecting":return{address:i,addresses:r,chain:o,chainId:n?.chainId,connector:n?.connector,isConnected:!1,isConnecting:!0,isDisconnected:!1,isReconnecting:!1,status:a};case"disconnected":return{address:void 0,addresses:void 0,chain:void 0,chainId:void 0,connector:void 0,isConnected:!1,isConnecting:!1,isDisconnected:!0,isReconnecting:!1,status:a}}}var eS=e.i(492091),eP=e.i(787475),e_=e.i(154022),eR=e.i(213295),eL=e.i(782280),eD=e.i(368029);function eW(e){return"number"==typeof e?e:"wei"===e?0:Math.abs(eD.weiUnits[e])}var eM=e.i(325352),eF=e.i(43920);async function eH(e,t){let{allowFailure:n=!0,chainId:r,contracts:i,...o}=t,a=e.getClient({chainId:r});return(0,eL.getAction)(a,eF.multicall,"multicall")({allowFailure:n,contracts:i,...o})}var ex=e.i(186441);async function ej(e,t){let{allowFailure:n=!0,blockNumber:r,blockTag:i,...o}=t,a=t.contracts;try{let t={};for(let[n,r]of a.entries()){let i=r.chainId??e.state.chainId;t[i]||(t[i]=[]),t[i]?.push({contract:r,index:n})}let s=(await Promise.all(Object.entries(t).map(([t,a])=>eH(e,{...o,allowFailure:n,blockNumber:r,blockTag:i,chainId:Number.parseInt(t,10),contracts:a.map(({contract:e})=>e)})))).flat(),c=Object.values(t).flatMap(e=>e.map(({index:e})=>e));return s.reduce((e,t,n)=>(e&&(e[c[n]]=t),e),[])}catch(o){if(o instanceof eM.ContractFunctionExecutionError)throw o;let t=()=>a.map(t=>(function(e,t){let{chainId:n,...r}=t,i=e.getClient({chainId:n});return(0,eL.getAction)(i,ex.readContract,"readContract")(r)})(e,{...t,blockNumber:r,blockTag:i}));if(n)return(await Promise.allSettled(t())).map(e=>"fulfilled"===e.status?{result:e.value,status:"success"}:{error:e.reason,result:void 0,status:"failure"});return await Promise.all(t())}}async function eq(e,t){let{address:n,blockNumber:r,blockTag:i,chainId:o,token:a,unit:s="ether"}=t;if(a)try{return await eB(e,{balanceAddress:n,chainId:o,symbolType:"string",tokenAddress:a})}catch(t){if("ContractFunctionExecutionError"===t.name){let t=await eB(e,{balanceAddress:n,chainId:o,symbolType:"bytes32",tokenAddress:a}),r=(0,eP.hexToString)((0,e_.trim)(t.symbol,{dir:"right"}));
1return{...t,symbol:r}}throw t}let c=e.getClient({chainId:o}),l=(0,eL.getAction)(c,eR.getBalance,"getBalance"),d=await l(r?{address:n,blockNumber:r}:{address:n,blockTag:i}),h=e.chains.find(e=>e.id===o)??c.chain;return{decimals:h.nativeCurrency.decimals,formatted:(0,eS.formatUnits)(d,eW(s)),symbol:h.nativeCurrency.symbol,value:d}}async function eB(e,t){let{balanceAddress:n,chainId:r,symbolType:i,tokenAddress:o,unit:a}=t,s={abi:[{type:"function",name:"balanceOf",stateMutability:"view",inputs:[{type:"address"}],outputs:[{type:"uint256"}]},{type:"function",name:"decimals",stateMutability:"view",inputs:[],outputs:[{type:"uint8"}]},{type:"function",name:"symbol",stateMutability:"view",inputs:[],outputs:[{type:i}]}],address:o},[c,l,d]=await ej(e,{allowFailure:!1,contracts:[{...s,functionName:"balanceOf",args:[n],chainId:r},{...s,functionName:"decimals",chainId:r},{...s,functionName:"symbol",chainId:r}]}),h=(0,eS.formatUnits)(c??"0",eW(a??l));return{decimals:l,formatted:h,symbol:d,value:c}}function eV(e,t){if(e===t)return!0;if(e&&t&&"object"==typeof e&&"object"==typeof t){let n,r;if(e.constructor!==t.constructor)return!1;if(Array.isArray(e)&&Array.isArray(t)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!eV(e[r],t[r]))return!1;return!0}if("function"==typeof e.valueOf&&e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if("function"==typeof e.toString&&e.toString!==Object.prototype.toString)return e.toString()===t.toString();let i=Object.keys(e);if((n=i.length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!Object.hasOwn(t,i[r]))return!1;for(r=n;0!=r--;){let n=i[r];if(n&&!eV(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}let e$=[];function ez(e){let t=[...e.state.connections.values()];return"reconnecting"===e.state.status||eV(e$,t)?e$:(e$=t,t)}var eK=e.i(792621);async function eG(e,t){let{account:n,chainId:r,...i}=t,o=n??eO(e).address,a=e.getClient({chainId:r});return(0,eL.getAction)(a,eK.prepareTransactionRequest,"prepareTransactionRequest")({...i,...o?{account:o}:{}})}let eY=!1;async function eJ(e,t={}){let n;if(eY)return[];eY=!0,e.setState(e=>({...e,status:e.current?"reconnecting":"connecting"}));let r=[];if(t.connectors?.length)for(let n of t.connectors){let t;t="function"==typeof n?e._internal.connectors.setup(n):n,r.push(t)}else r.push(...e.connectors);try{n=await e.storage?.getItem("recentConnectorId")}catch{}let i={};for(let[,t]of e.state.connections)i[t.connector.id]=1;n&&(i[n]=0);let o=Object.keys(i).length>0?[...r].sort((e,t)=>(i[e.id]??10)-(i[t.id]??10)):r,a=!1,s=[],c=[];for(let t of o){let n=await t.getProvider().catch(()=>void 0);if(!n||c.some(e=>e===n)||!await t.isAuthorized())continue;let r=await t.connect({isReconnecting:!0}).catch(()=>null);r&&(t.emitter.off("connect",e._internal.events.connect),t.emitter.on("change",e._internal.events.change),t.emitter.on("disconnect",e._internal.events.disconnect),e.setState(e=>{let n=new Map(a?e.connections:new Map).set(t.uid,{accounts:r.accounts,chainId:r.chainId,connector:t});return{...e,current:a?e.current:t.uid,connections:n}}),s.push({accounts:r.accounts,chainId:r.chainId,connector:t}),c.push(n),a=!0)}return("reconnecting"===e.state.status||"connecting"===e.state.status)&&(a?e.setState(e=>({...e,status:"connected"})):e.setState(e=>({...e,connections:new Map,current:null,status:"disconnected"}))),eY=!1,s}var eX=e.i(491074),eZ=e.i(464332);async function eQ(e,t){let n,{account:r,connector:i,...o}=t;return n="object"==typeof r&&"local"===r.type?e.getClient():await (0,eZ.getConnectorClient)(e,{account:r,connector:i}),(0,eL.getAction)(n,eX.signMessage,"signMessage")({...o,...r?{account:r}:{}})}var e0=e.i(777048);async function e1(e,t){let{addEthereumChainParameter:n,chainId:r}=t,i=e.state.connections.get(t.connector?.uid??e.state.current);if(i){let e=i.connector;if(!e.switchChain)throw new e0.SwitchChainNotSupportedError({connector:e});return await e.switchChain({addEthereumChainParameter:n,chainId:r})}let o=e.chains.find(e=>e.id===r);if(!o)throw new eC.ChainNotConfiguredError;return e.setState(e=>({...e,chainId:r})),o}async function e3(e,t={}){let n;if(t.connector)n=t.connector;else{let{connections:t,current:r}=e.state,i=t.get(r);n=i?.connector}let r=e.state.connections;n&&(await n.disconnect(),n.emitter.off("change",e._internal.events.change),n.emitter.off("disconnect",e._internal.events.disconnect),n.emitter.on("connect",e._internal.events.connect),r.delete(n.uid)),e.setState(e=>
1{if(0===r.size)return{...e,connections:new Map,current:null,status:"disconnected"};let t=r.values().next().value;return{...e,connections:new Map(r),current:t.connector.uid}});{let t=e.state.current;if(!t)return;let n=e.state.connections.get(t)?.connector;if(!n)return;await e.storage?.setItem("recentConnectorId",n.id)}}var e5=e.i(265891);async function e2(e,t){let n,{chainId:r,connector:i,...o}=t;n=t.account?t.account:(await (0,eZ.getConnectorClient)(e,{account:t.account,assertChainId:!1,chainId:r,connector:i})).account;let a=e.getClient({chainId:r});return(0,eL.getAction)(a,e5.estimateGas,"estimateGas")({...o,account:n})}var e6=e.i(221298);async function e9(e,t){let n,{account:r,chainId:i,connector:o,...a}=t;n="object"==typeof r&&r?.type==="local"?e.getClient({chainId:i}):await (0,eZ.getConnectorClient)(e,{account:r??void 0,assertChainId:!1,chainId:i,connector:o});let s=(0,eL.getAction)(n,e6.sendTransaction,"sendTransaction");return await s({...a,...r?{account:r}:{},chain:i?{id:i}:null,gas:a.gas??void 0})}var e8=e.i(438631),e4=e.i(725463),e7=e.i(650118),te=e.i(18752),tt=e.i(199101),tn=e.i(193625),tr=e.i(894224),ti=e.i(957415),to=e.i(434755);function ta(e){let t,n,r,o,a,s,c,l=e.isNewChainsStale??!0;return(0,to.createConnector)(d=>({id:"walletConnect",name:"WalletConnect",type:ta.type,provider:e.universalProvider,async setup(){let e=await this.getProvider().catch(()=>null);e&&(o||(o=this.onConnect.bind(this),e.on("connect",o)),s||(s=this.onSessionDelete.bind(this),e.on("session_delete",s)))},async connect({...e}={}){try{let t=m.ChainController.getCaipNetworks(),i=await this.getProvider();if(!i)throw new e0.ProviderNotFoundError;a||(a=this.onDisplayUri,i.on("display_uri",a));let l=await this.isChainsStale();i.session&&l&&await i.disconnect();let d=w.OptionsController.state.universalProviderConfigOverride;if(!i.session||l){let n=V.createNamespaces(t,d);await i.connect({optionalNamespaces:n,..."pairingTopic"in e?{pairingTopic:e.pairingTopic}:{}}),this.setRequestedChainsIds(t.map(e=>Number(e.id)))}let h=await this.getAccounts(),C=await this.getChainId(),u=i.session?.namespaces?.eip155?.chains,p=u?.some(e=>Number(e.split(":")[1])===C),g=1;p?g=C:u?.[0]&&(g=Number(u[0].split(":")[1])),a&&(i.removeListener("display_uri",a),a=void 0),o&&(i.removeListener("connect",o),o=void 0),n||(n=this.onAccountsChanged.bind(this),i.on("accountsChanged",n)),r||(r=this.onChainChanged.bind(this),i.on("chainChanged",r)),c||(c=this.onDisconnect.bind(this),i.on("disconnect",c)),s||(s=this.onSessionDelete.bind(this),i.on("session_delete",s));let f=d?.defaultChain;return i.setDefaultChain(f??`eip155:${g}`),{accounts:h,chainId:g}}catch(e){if(/(user rejected|connection request reset)/i.test(e?.message))throw new te.UserRejectedRequestError(e);throw e}},async disconnect(){let e=await this.getProvider();try{await e?.disconnect()}catch(e){if(!/No matching key/i.test(e.message))throw e}finally{r&&(e?.removeListener("chainChanged",r),r=void 0),c&&(e?.removeListener("disconnect",c),c=void 0),o||(o=this.onConnect.bind(this),e?.on("connect",o)),n&&(e?.removeListener("accountsChanged",n),n=void 0),s&&(e?.removeListener("session_delete",s),s=void 0),this.setRequestedChainsIds([])}},async getAccounts(){let e=await this.getProvider();if(!e?.session?.namespaces)return[];let t=e?.session?.namespaces[i.ConstantsUtil.CHAIN.EVM]?.accounts,n=t?.map(e=>e.split(":")[2])??[],r=new Set;return n.filter(e=>{let t=e?.toLowerCase();return!r.has(t)&&(r.add(t),!0)})},async getProvider({chainId:n}={}){t||(t=e.universalProvider,t?.events.setMaxListeners(1/0));let r=v.StorageUtil.getActiveNamespace(),o=m.ChainController.getActiveCaipNetwork()?.id;if(n&&o!==n&&r){let e=v.StorageUtil.getStoredActiveCaipNetworkId(),t=r?m.ChainController.getCaipNetworks(r):[],n=t?.find(t=>t.id===e);n&&n.chainNamespace===i.ConstantsUtil.CHAIN.EVM&&await this.switchChain?.({chainId:Number(n.id)})}return t},async getChainId(){let e=m.ChainController.getActiveCaipNetwork(i.ConstantsUtil.CHAIN.EVM)?.id;if(e)return e;let t=await this.getProvider(),n=t.session?.namespaces[i.ConstantsUtil.CHAIN.EVM]?.chains?.[0],r=m.ChainController.getCaipNetworks().find(e=>e.id===n);return r?.id},async isAuthorized(){try{let[e,t]=await Promise.all([this.getAccounts(),this.getProvider()]);if(!e.length)return!1;if(await this.isChainsStale()&&t.session)return await t.disconnect().catch(()=>{}),!1;return!0}catch{return!1}},async switchChain({addEthereumChainParameter:e,chainId:t}){let n=await this.getProvider();if(!n)throw new e0.ProviderNotFoundError;let r=m.ChainController.getCaipNetworks().find(e=>e.id===t);if(!r)throw new te.SwitchChainError(new eC.ChainNotConfiguredError);try{await n.request({method:"wallet_switchEthereumChain",params:[{chainId:(0,Z.numberToHex)(t)}]}),r?.caipNetworkId&&n.setDefaultChain(r?.caipNetworkId),d.emitter.emit("change",{chainId:Number(t)});let e=await this.getRequestedChainsIds();return this.setRequestedChainsIds([...e,t]),{...r,id:r.id}}catch(i){if(/(?:user rejected)/iu.test(i.message))throw new te.UserRejectedRequestError(i);try{let i;i=e?.blockExplorerUrls?e.blockExplorerUrls:r.blockExplorers?.default.url?[r.blockExplorers?.default.url]:[];let o=r.rpcUrls?.chainDefault?.http||[],a={blockExplorerUrls:i,chainId:(0,Z.numberToHex)(t),
1chainName:r.name,iconUrls:e?.iconUrls,nativeCurrency:r.nativeCurrency,rpcUrls:o};await n.request({method:"wallet_addEthereumChain",params:[a]});let s=await this.getRequestedChainsIds();return this.setRequestedChainsIds([...s,t]),{...r,id:r.id}}catch(e){throw new te.UserRejectedRequestError(e)}}},onAccountsChanged(e){0===e.length?this.onDisconnect():d.emitter.emit("change",{accounts:e.map(e=>(0,tt.getAddress)(e))})},onChainChanged(e){let t=Number(e);d.emitter.emit("change",{chainId:t})},onConnect(e){this.setRequestedChainsIds(m.ChainController.getCaipNetworks().map(e=>Number(e.id)))},async onDisconnect(e){this.setRequestedChainsIds([]),d.emitter.emit("disconnect");let t=await this.getProvider();n&&(t.removeListener("accountsChanged",n),n=void 0),r&&(t.removeListener("chainChanged",r),r=void 0),c&&(t.removeListener("disconnect",c),c=void 0),s&&(t.removeListener("session_delete",s),s=void 0),o||(o=this.onConnect.bind(this),t.on("connect",o))},onDisplayUri(e){d.emitter.emit("message",{type:"display_uri",data:e})},onSessionDelete(){this.onDisconnect()},getNamespaceChainsIds(){if(!t?.session?.namespaces)return[];let e=t?.session?.namespaces[i.ConstantsUtil.CHAIN.EVM]?.accounts;return e?.map(e=>Number.parseInt(e.split(":")[1]??""))??[]},async getRequestedChainsIds(){return[...new Set(await d.storage?.getItem(this.requestedChainsStorageKey)??[])]},async isChainsStale(){if(!l)return!1;let e=d.chains.map(e=>e.id),t=this.getNamespaceChainsIds();if(t.length&&!t.some(t=>e.includes(t)))return!1;let n=await this.getRequestedChainsIds();return!e.every(e=>n.includes(Number(e)))},async setRequestedChainsIds(e){await d.storage?.setItem(this.requestedChainsStorageKey,e)},get requestedChainsStorageKey(){return`${this.id}.requestedChains`}}))}ta.type="walletConnect";var ts=e.i(262683),tc=e.i(126403);let tl=(0,ts.proxy)({pendingTransactions:0}),td={state:tl,subscribeKey:(e,t)=>(0,tc.subscribeKey)(tl,e,t),increase(e){tl[e]+=1},decrease(e){tl[e]-=1},reset(e){tl[e]=0}};async function th(t){if(r.CoreHelperUtil.isSafeApp()){let{safe:n}=await e.A(849459);if(n&&!t.some(e=>"safe"===e.type))return n()}return null}async function tC(t){try{let{baseAccount:n}=await e.A(849459);if(n&&!t.some(e=>"baseAccount"===e.id))return n()}catch(e){console.error("Failed to import Coinbase Wallet SDK:",e)}return null}let tu={enable:!1,pollingInterval:3e4};var tp=e.i(771822),tg=e.i(69390);function tm(e,t){return(0,tg.fallback)(e,t)}let tw={id:53935,name:"DFK Chain",network:"dfk",nativeCurrency:{decimals:18,name:"JEWEL",symbol:"JEWEL"},rpcUrls:{default:{http:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc","https://avax-pokt.nodies.app/ext/bc/q2aTwKuyzgs8pynF7UXBZCU7DejbZbZ6EUyHr3JQzYgwNPUPi/rpc"]},public:{http:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc","https://avax-pokt.nodies.app/ext/bc/q2aTwKuyzgs8pynF7UXBZCU7DejbZbZ6EUyHr3JQzYgwNPUPi/rpc"]}},blockExplorers:{default:{name:"DFK Subnet Explorer",url:"https://subnets.avax.network/defi-kingdoms"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0}}},tf={id:8217,name:"Kaia",network:"kaia",nativeCurrency:{decimals:18,name:"KAIA",symbol:"KAIA"},rpcUrls:{default:{http:["https://kaia.therpc.io","https://public-en.node.kaia.io","https://1rpc.io/klay","https://kaia-mainnet.gateway.tatum.io","https://public-node-api.klaytnapi.com/v1/cypress"]},public:{http:["https://kaia.therpc.io","https://public-en.node.kaia.io","https://1rpc.io/klay","https://kaia-mainnet.gateway.tatum.io","https://public-node-api.klaytnapi.com/v1/cypress"]}},blockExplorers:{default:{name:"KaiaScan",url:"https://kaiascan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:0}}},tv="cc98eb5cd40cd43efce3cbbcfc5f3efb\n".trim(),tN=new class extends et{constructor(e){const t=z.CaipNetworksUtil.extendCaipNetworks(e.networks,{projectId:e.projectId,customNetworkImageUrls:{},customRpcUrls:e.customRpcUrls});super(),this.balancePromises={},this.namespace=i.ConstantsUtil.CHAIN.EVM,this.adapterType=i.ConstantsUtil.ADAPTER_TYPES.WAGMI,this.projectId=e.projectId,this.pendingTransactionsFilter={...tu,...e.pendingTransactionsFilter??{}},this.createConfig({...e,networks:t}),this.checkChainId()}construct(e){this.checkChainId(),this.setupWatchers()}async getAccounts(e){let t=this.getWagmiConnector(e.id);if(!t)return{accounts:[]};if(t.id===i.ConstantsUtil.CONNECTOR_ID.AUTH){let e=await t.getProvider();if(!e?.user)return{accounts:[]};let{address:n,accounts:i,chainId:o}=e.user;return Promise.resolve({accounts:(i||[{address:n,type:"eoa"}]).map(e=>r.CoreHelperUtil.createAccount({caipAddress:`eip155:${o}:${e.address}`,type:e.type}))})}let{addresses:n,address:o,chainId:a}=eO(this.wagmiConfig);return Promise.resolve({accounts:a?[...new Set(n||[o])].map(e=>r.CoreHelperUtil.createAccount({caipAddress:`eip155:${a}:${e||""}`,type:"eoa"})):[]})}checkChainId(){let{chainId:e}=eO(this.wagmiConfig);
1e&&this.emit("switchNetwork",{chainId:e})}getWagmiConnector(e){return this.wagmiConfig.connectors.find(t=>t.id===e)}createConfig(e){this.wagmiChains=e.networks.filter(e=>e.chainNamespace===i.ConstantsUtil.CHAIN.EVM);let n={},r=[...e.connectors??[]];this.wagmiChains.forEach(t=>{let r=e.transports?.[t.id],i=z.CaipNetworksUtil.getCaipNetworkId(t);r?n[t.id]=z.CaipNetworksUtil.extendWagmiTransports(t,e.projectId,r):n[t.id]=z.CaipNetworksUtil.getViemTransport(t,e.projectId,e.customRpcUrls?.[i])}),this.wagmiConfig=function(e){let n,r,i,o,a,s,c,l,{multiInjectedProviderDiscovery:d=!0,storage:h=function(e){let{deserialize:t=eA,key:n="wagmi",serialize:r=eb,storage:i=eU}=e;function o(e){return e instanceof Promise?e.then(e=>e).catch(()=>null):e}return{...i,key:n,async getItem(e,r){let a=i.getItem(`${n}.${e}`),s=await o(a);return s?t(s)??null:r??null},async setItem(e,t){let a=`${n}.${e}`;null===t?await o(i.removeItem(a)):await o(i.setItem(a,r(t)))},async removeItem(e){await o(i.removeItem(`${n}.${e}`))}}}({storage:(r="u">typeof window&&window.localStorage?window.localStorage:eU,{getItem:e=>r.getItem(e),removeItem(e){r.removeItem(e)},setItem(e,t){try{r.setItem(e,t)}catch{}}})}),syncConnectedChain:C=!0,ssr:u=!1,...p}=e,g="u">typeof window&&d?(i=new Set,o=[],s=(a=()=>(0,ep.requestProviders)(e=>{o.some(({info:t})=>t.uuid===e.info.uuid)||(o=[...o,e],i.forEach(t=>t(o,{added:[e]})))}))(),{_listeners:()=>i,clear(){i.forEach(e=>e([],{removed:[...o]})),o=[]},destroy(){this.clear(),i.clear(),s?.()},findProvider:({rdns:e})=>o.find(t=>t.info.rdns===e),getProviders:()=>o,reset(){this.clear(),s?.(),s=a()},subscribe:(e,{emitImmediately:t}={})=>(i.add(e),t&&e(o,{added:o}),()=>i.delete(e))}):void 0,m=ef(()=>p.chains),w=ef(()=>{let e=[],t=new Set;for(let n of p.connectors??[]){let r=f(n);if(e.push(r),!u&&r.rdns)for(let e of"string"==typeof r.rdns?[r.rdns]:r.rdns)t.add(e)}if(!u&&g)for(let n of g.getProviders())t.has(n.info.rdns)||e.push(f(v(n)));return e});function f(e){let n=new eE(function(e=11){if(!t||eT+e>512){t="",eT=0;for(let e=0;e<256;e++)t+=(256+256*Math.random()|0).toString(16).substring(1)}return t.substring(eT,eT+++e)}()),r={...e({emitter:n,chains:m.getState(),storage:h,transports:p.transports}),emitter:n,uid:n.uid};return n.on("connect",U),r.setup?.(),r}function v(e){let{info:t}=e,n=e.provider;return(0,ev.injected)({target:{...t,id:t.rdns,provider:n}})}let N=new Map;function E(){return{chainId:m.getState()[0].id,connections:new Map,current:null,status:"disconnected"}}let A="0.0.0-canary-";n=ek.version.startsWith(A)?Number.parseInt(ek.version.replace(A,""),10):Number.parseInt(ek.version.split(".")[0]??"0",10);let y=ef((l=h?(c={migrate(e,t){if(t===n)return e;let r=E(),i=I(e,r.chainId);return{...r,chainId:i}},name:"store",partialize:e=>({connections:{__type:"Map",value:Array.from(e.connections.entries()).map(([e,t])=>{let{id:n,name:r,type:i,uid:o}=t.connector;return[e,{...t,connector:{id:n,name:r,type:i,uid:o}}]})},chainId:e.chainId,current:e.current}),merge(e,t){"object"==typeof e&&e&&"status"in e&&delete e.status;let n=I(e,t.chainId);return{...t,...e,chainId:n}},skipHydration:u,storage:h,version:n},(e,t,n)=>{let r,i={storage:function(e){let t;try{t=e()}catch(e){return}return{getItem:e=>{var n;let r=e=>null===e?null:JSON.parse(e,void 0),i=null!=(n=t.getItem(e))?n:null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,n)=>t.setItem(e,JSON.stringify(n,void 0)),removeItem:e=>t.removeItem(e)}}(()=>localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...c},o=!1,a=new Set,s=new Set,l=i.storage;if(!l)return E((...t)=>{console.warn(`[zustand persist middleware] Unable to update item '${i.name}', the given storage is currently unavailable.`),e(...t)},t,n);let d=()=>{let e=i.partialize({...t()});return l.setItem(i.name,{state:e,version:i.version})},h=n.setState;n.setState=(e,t)=>{h(e,t),d()};let C=E((...t)=>{e(...t),d()},t,n);n.getInitialState=()=>C;let u=()=>{var n,c;if(!l)return;o=!1,a.forEach(e=>{var n;return e(null!=(n=t())?n:C)});let h=(null==(c=i.onRehydrateStorage)?void 0:c.call(i,null!=(n=t())?n:C))||void 0;return em(l.getItem.bind(l))(i.name).then(e=>
1{if(e)if("number"!=typeof e.version||e.version===i.version)return[!1,e.state];else{if(i.migrate)return[!0,i.migrate(e.state,e.version)];console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(n=>{var o;let[a,s]=n;if(e(r=i.merge(s,null!=(o=t())?o:C),!0),a)return d()}).then(()=>{null==h||h(r,void 0),r=t(),o=!0,s.forEach(e=>e(r))}).catch(e=>{null==h||h(void 0,e)})};return n.persist={setOptions:e=>{i={...i,...e},e.storage&&(l=e.storage)},clearStorage:()=>{null==l||l.removeItem(i.name)},getOptions:()=>i,rehydrate:()=>u(),hasHydrated:()=>o,onHydrate:e=>(a.add(e),()=>{a.delete(e)}),onFinishHydration:e=>(s.add(e),()=>{s.delete(e)})},i.skipHydration||u(),r||C}):E,(e,t,n)=>{let r=n.subscribe;return n.subscribe=(e,t,i)=>{let o=e;if(t){let r=(null==i?void 0:i.equalityFn)||Object.is,a=e(n.getState());o=n=>{let i=e(n);if(!r(a,i)){let e=a;t(a=i,e)}},(null==i?void 0:i.fireImmediately)&&t(a,a)}return r(o)},l(e,t,n)}));function I(e,t){return e&&"object"==typeof e&&"chainId"in e&&"number"==typeof e.chainId&&m.getState().some(t=>t.id===e.chainId)?e.chainId:t}function b(e){y.setState(t=>{let n=t.connections.get(e.uid);return n?{...t,connections:new Map(t.connections).set(e.uid,{accounts:e.accounts??n.accounts,chainId:e.chainId??n.chainId,connector:n.connector})}:t})}function U(e){"connecting"!==y.getState().status&&"reconnecting"!==y.getState().status&&y.setState(t=>{let n=w.getState().find(t=>t.uid===e.uid);return n?(n.emitter.listenerCount("connect")&&n.emitter.off("connect",b),n.emitter.listenerCount("change")||n.emitter.on("change",b),n.emitter.listenerCount("disconnect")||n.emitter.on("disconnect",T),{...t,connections:new Map(t.connections).set(e.uid,{accounts:e.accounts,chainId:e.chainId,connector:n}),current:e.uid,status:"connected"}):t})}function T(e){y.setState(t=>{let n=t.connections.get(e.uid);if(n){let e=n.connector;e.emitter.listenerCount("change")&&n.connector.emitter.off("change",b),e.emitter.listenerCount("disconnect")&&n.connector.emitter.off("disconnect",T),e.emitter.listenerCount("connect")||n.connector.emitter.on("connect",U)}if(t.connections.delete(e.uid),0===t.connections.size)return{...t,connections:new Map,current:null,status:"disconnected"};let r=t.connections.values().next().value;return{...t,connections:new Map(t.connections),current:r.connector.uid}})}return y.setState(E()),C&&y.subscribe(({connections:e,current:t})=>t?e.get(t)?.chainId:void 0,e=>{if(m.getState().some(t=>t.id===e))return y.setState(t=>({...t,chainId:e??t.chainId}))}),g?.subscribe(e=>{let t=new Set,n=new Set;for(let e of w.getState())if(t.add(e.id),e.rdns)for(let t of"string"==typeof e.rdns?[e.rdns]:e.rdns)n.add(t);let r=[];for(let i of e){if(n.has(i.info.rdns))continue;let e=f(v(i));t.has(e.id)||r.push(e)}(!h||y.persist.hasHydrated())&&w.setState(e=>[...e,...r],!0)}),{get chains(){return m.getState()},get connectors(){return w.getState()},storage:h,getClient:function(e={}){let t,n=e.chainId??y.getState().chainId,r=m.getState().find(e=>e.id===n);if(e.chainId&&!r)throw new eC.ChainNotConfiguredError;{let e=N.get(y.getState().chainId);if(e&&!r)return e;if(!r)throw new eC.ChainNotConfiguredError}{let e=N.get(n);if(e)return e}if(p.client)t=p.client({chain:r});else{let e=r.id,n=m.getState().map(e=>e.id),i={};for(let[t,r]of Object.entries(p))if("chains"!==t&&"client"!==t&&"connectors"!==t&&"transports"!==t)if("object"==typeof r)if(e in r)i[t]=r[e];else{if(n.some(e=>e in r))continue;i[t]=r}else i[t]=r;t=(0,eg.createClient)({...i,chain:r,batch:i.batch??{multicall:!0},transport:t=>p.transports[e]({...t,connectors:w})})}return N.set(n,t),t},get state(){return y.getState()},setState(e){let t;t="function"==typeof e?e(y.getState()):e;let n=E();"object"!=typeof t&&(t=n),Object.keys(n).some(e=>!(e in t))&&(t=n),y.setState(t,!0)},subscribe:(e,t,n)=>y.subscribe(e,t,n?{...n,fireImmediately:n.emitImmediately}:void 0),_internal:{mipd:g,async revalidate(){let e=y.getState(),t=e.connections,n=e.current;for(let[,e]of t){let r=e.connector;r.isAuthorized&&await r.isAuthorized()||(t.delete(r.uid),n===r.uid&&(n=null))}y.setState(e=>({...e,connections:t,current:n}))},store:y,ssr:!!u,syncConnectedChain:C,transports:p.transports,chains:{setState(e){let t="function"==typeof e?e(m.getState()):e;if(0!==t.length)return m.setState(t,!0)},subscribe:e=>m.subscribe(e)}
1,connectors:{providerDetailToConnector:v,setup:f,setState:e=>w.setState("function"==typeof e?e(w.getState()):e,!0),subscribe:e=>w.subscribe(e)},events:{change:b,connect:U,disconnect:T}}}}({...e,chains:this.wagmiChains,connectors:r,transports:n})}setupWatchPendingTransactions(){if(!this.pendingTransactionsFilter.enable||this.unwatchPendingTransactions)return;this.unwatchPendingTransactions=function(e,t){let n,r,{syncConnectedChain:i=e._internal.syncConnectedChain,...o}=t,a=t=>{n&&n();let r=e.getClient({chainId:t});return n=(0,eL.getAction)(r,e7.watchPendingTransactions,"watchPendingTransactions")(o)},s=a(t.chainId);return i&&!t.chainId&&(r=e.subscribe(({chainId:e})=>e,async e=>a(e))),()=>{s?.(),r?.()}}(this.wagmiConfig,{pollingInterval:this.pendingTransactionsFilter.pollingInterval,onError:()=>{},onTransactions:()=>{this.emit("pendingTransactions"),td.increase("pendingTransactions")}});let e=td.subscribeKey("pendingTransactions",t=>{t>=i.ConstantsUtil.LIMITS.PENDING_TRANSACTIONS&&(this.unwatchPendingTransactions?.(),e())})}setupWatchers(){!function(e,t){let{onChange:n}=t;e.subscribe(()=>ez(e),n,{equalityFn:eV})}(this.wagmiConfig,{onChange:e=>{this.clearConnections(),this.addConnection(...e.map(e=>{let t=this.getCaipNetworks().find(t=>t.id===e.chainId),n=e.connector.id===i.ConstantsUtil.CONNECTOR_ID.AUTH;return{accounts:e.accounts.map(e=>({address:this.toChecksummedAddress(e)})),caipNetwork:t,connectorId:e.connector.id,auth:n?{name:v.StorageUtil.getConnectedSocialProvider(),username:v.StorageUtil.getConnectedSocialUsername()}:void 0}}))}}),function(e,t){let{onChange:n}=t;e.subscribe(()=>eO(e),n,{equalityFn(e,t){let{connector:n,...r}=e,{connector:i,...o}=t;return eV(r,o)&&n?.id===i?.id&&n?.uid===i?.uid}})}(this.wagmiConfig,{onChange:(e,t)=>
1{if("disconnected"===e.status&&t.address&&this.emit("disconnect"),e?.chainId&&e?.chainId!==t?.chainId&&this.emit("switchNetwork",{chainId:e.chainId}),"connected"===e.status){let n=e.address!==t?.address,r=e.connector.id!==t.connector?.id,i="connected"!==t.status;(n||r||i)&&(this.setupWatchPendingTransactions(),this.handleAccountChanged({address:e.address,chainId:e.chainId,connector:e.connector}))}}})}async addThirdPartyConnectors(){let e=[],{enableCoinbase:t}=w.OptionsController.state||{};if(!1!==t){let t=await tC(this.wagmiConfig.connectors);t&&e.push(t)}let n=await th(this.wagmiConfig.connectors);n&&e.push(n),await Promise.all(e.map(e=>{let t=this.configureInternalConnector(e);return this.addWagmiConnector(t)}))}addWagmiConnectors(){let e=[];!1!==w.OptionsController.state.enableInjected&&e.push((0,ev.injected)({shimDisconnect:!0}));let{features:t,remoteFeatures:n,projectId:r,enableAuthLogger:o}=w.OptionsController.state,a=n?.email??t?.email??!0,s=n?.socials??t?.socials,l=Array.isArray(s)&&s?.length>0;(a||l)&&e.push(function(e){let t,n,r=[];function o(e){let t=m.ChainController.getCaipNetworks(i.ConstantsUtil.CHAIN.EVM),n=Number(O.NetworkUtil.parseEvmChainId(e));if(!t.some(t=>String(t.id)===String(e))){let e=m.ChainController.getActiveCaipNetwork(i.ConstantsUtil.CHAIN.EVM)?.id||t[0]?.id;e&&Number.isInteger(Number(e))&&(n=Number(e))}if(!n)throw Error("ChainId not found in networks");return n}async function a(n={}){let s=(t||(t=T.getInstance({projectId:e.options.projectId,chainId:(0,p.getActiveCaipNetwork)()?.caipNetworkId,enableLogger:e.options.enableAuthLogger,onTimeout:e=>{"iframe_load_failed"===e?g.AlertController.open(E.ErrorUtil.ALERT_ERRORS.IFRAME_LOAD_FAILED,"error"):"iframe_request_timeout"===e?g.AlertController.open(E.ErrorUtil.ALERT_ERRORS.IFRAME_REQUEST_TIMEOUT,"error"):"unverified_domain"===e&&g.AlertController.open(E.ErrorUtil.ALERT_ERRORS.UNVERIFIED_DOMAIN,"error")},abortController:E.ErrorUtil.EmbeddedWalletAbortController,getActiveCaipNetwork:e=>(0,p.getActiveCaipNetwork)(e),getCaipNetworks:e=>m.ChainController.getCaipNetworks(e)})),t),c=n.chainId;if(n.isReconnecting){let t=O.NetworkUtil.parseEvmChainId(s.getLastUsedChainId()||""),n=e.chains?.[0].id;if(!(c=t||n))throw Error("ChainId not found in provider")}let l=(0,p.getPreferredAccountType)("eip155"),{address:d,chainId:h,accounts:C}=await u.SIWXUtil.authConnectorAuthenticate({authConnector:s,chainId:c,preferredAccountType:l,socialUri:n.socialUri,chainNamespace:i.ConstantsUtil.CHAIN.EVM});r=C?.map(e=>e.address)||[d];let w=o(h);return{accounts:r,account:d,chainId:w,chain:{id:w,unsupported:!1}}}return(0,to.createConnector)(t=>({id:i.ConstantsUtil.CONNECTOR_ID.AUTH,name:i.ConstantsUtil.CONNECTOR_NAMES.AUTH,type:"AUTH",chain:i.ConstantsUtil.CHAIN.EVM,async connect(e={}){if(n){let t=await n;return{accounts:e.withCapabilities?t.accounts.map(e=>({address:e,capabilities:{}})):t.accounts,chainId:t.chainId}}n||(n=new Promise(t=>{t(a(e))}));let t=await n;return n=void 0,{accounts:e.withCapabilities?t.accounts.map(e=>({address:e,capabilities:{}})):t.accounts,chainId:t.chainId}},async disconnect(){let e=await this.getProvider();await e.disconnect()},getAccounts:()=>r?.length?(t.emitter.emit("change",{accounts:r}),Promise.resolve(r)):Promise.resolve([]),async getProvider(){return this.provider||(this.provider=T.getInstance({projectId:e.options.projectId,chainId:(0,p.getActiveCaipNetwork)()?.caipNetworkId,enableLogger:e.options.enableAuthLogger,abortController:E.ErrorUtil.EmbeddedWalletAbortController,onTimeout:e=>{"iframe_load_failed"===e?g.AlertController.open(E.ErrorUtil.ALERT_ERRORS.IFRAME_LOAD_FAILED,"error"):"iframe_request_timeout"===e?g.AlertController.open(E.ErrorUtil.ALERT_ERRORS.IFRAME_REQUEST_TIMEOUT,"error"):"unverified_domain"===e&&g.AlertController.open(E.ErrorUtil.ALERT_ERRORS.UNVERIFIED_DOMAIN,"error")},getActiveCaipNetwork:e=>(0,p.getActiveCaipNetwork)(e),getCaipNetworks:e=>m.ChainController.getCaipNetworks(e)})),Promise.resolve(this.provider)},async getChainId(){let e=await this.getProvider(),{chainId:t}=await e.getChainId();return o(t)},async isAuthorized(){let e=m.ChainController.state.activeChain===i.ConstantsUtil.CHAIN.EVM;return(!i.ConstantsUtil.AUTH_CONNECTOR_SUPPORTED_CHAINS.some(e=>c.ConnectorController.getConnectorId(e)===i.ConstantsUtil.CONNECTOR_ID.AUTH)||!!e)&&Promise.resolve((await this.getProvider()).getLoginEmailUsed())},async switchChain({chainId:e}){try{let n=t.chains.find(t=>
1t.id===e);if(!n)throw new te.SwitchChainError(Error("chain not found on connector."));let i=await this.getProvider(),o=(0,p.getPreferredAccountType)("eip155"),a=await i.connect({chainId:e,preferredAccountType:o});return r=a?.accounts?.map(e=>e.address)||[a.address],t.emitter.emit("change",{chainId:Number(e),accounts:r}),n}catch(e){if(e instanceof Error)throw new te.SwitchChainError(e);throw e}},onAccountsChanged(e){0===e.length?this.onDisconnect():t.emitter.emit("change",{accounts:e.map(tt.getAddress)})},onChainChanged(e){let n=Number(e);t.emitter.emit("change",{chainId:n})},async onDisconnect(e){let t=await this.getProvider();await t.disconnect()}}))}({chains:this.wagmiChains,options:{projectId:r,enableAuthLogger:o}})),e.forEach(e=>{this.configureInternalConnector(e)})}configureInternalConnector(e){let t=this.wagmiConfig._internal.connectors.setup(e);return this.wagmiConfig._internal.connectors.setState(e=>[...e,t]),t}async handleAccountChanged({address:e,chainId:t,connector:n}){if(!this.namespace)throw Error("WagmiAdapter:handleAccountChanged - namespace is required");let r=await n.getProvider().catch(()=>void 0);this.emit("accountChanged",{address:this.toChecksummedAddress(e),chainId:t,connector:{id:n.id,name:tr.PresetsUtil.ConnectorNamesMap[n.id]??n.name,imageId:tr.PresetsUtil.ConnectorImageIds[n.id],type:tr.PresetsUtil.ConnectorTypesMap[n.type]??"EXTERNAL",info:n.id===i.ConstantsUtil.CONNECTOR_ID.INJECTED?void 0:{rdns:n.id},provider:r,chain:this.namespace,chains:[]}})}async writeSolanaTransaction(){return Promise.resolve({hash:""})}async signMessage(e){try{return{signature:await eQ(this.wagmiConfig,{message:e.message,account:e.address})}}catch(e){throw Error("WagmiAdapter:signMessage - Sign message failed")}}async sendTransaction(e){let{chainId:t,address:n}=eO(this.wagmiConfig),r=this.wagmiChains?.find(e=>e.id===t),i={account:n,to:e.to,value:Number.isNaN(Number(e.value))?BigInt(0):BigInt(e.value),gas:e.gas?BigInt(e.gas):void 0,gasPrice:e.gasPrice?BigInt(e.gasPrice):void 0,data:e.data,chain:r,type:"legacy",parameters:["nonce"]};await eG(this.wagmiConfig,i);let o=await e9(this.wagmiConfig,i);return await (0,e4.waitForTransactionReceipt)(this.wagmiConfig,{hash:o,timeout:25e3}),{hash:o}}async writeContract(e){let{caipNetwork:t,...n}=e,r=Number(O.NetworkUtil.caipNetworkIdToNumber(t.caipNetworkId)),i=this.wagmiChains?.find(e=>e.id===r);return{hash:await (0,e8.writeContract)(this.wagmiConfig,{chain:i,address:n.tokenAddress,account:n.fromAddress,abi:n.abi,functionName:n.method,args:n.args,__mode:"prepared"})}}async estimateGas(e){try{return{gas:await e2(this.wagmiConfig,{account:e.address,to:e.to,data:e.data,type:"legacy"})}}catch(e){throw Error("WagmiAdapter:estimateGas - error estimating gas")}}parseUnits(e){return(0,tn.parseUnits)(e.value,e.decimals)}formatUnits(e){return(0,eS.formatUnits)(e.value,e.decimals)}async addWagmiConnector(e){let t;if(!this.namespace)throw Error("WagmiAdapter:addWagmiConnector - namespace is required");let{enableEIP6963:n}=w.OptionsController.state||{};if(e.type===i.ConstantsUtil.CONNECTOR_ID.INJECTED&&!1===n||e.id===i.ConstantsUtil.CONNECTOR_ID.AUTH||e.id===i.ConstantsUtil.CONNECTOR_ID.WALLET_CONNECT)return;e.id!==i.ConstantsUtil.CONNECTOR_ID.BASE_ACCOUNT&&(t=await e.getProvider().catch(()=>void 0));let r=ti.AssetController.state.connectorImages;this.addConnector({id:e.id,explorerId:tr.PresetsUtil.ConnectorExplorerIds[e.id]??tr.PresetsUtil.ConnectorExplorerIds[e.name],imageUrl:r?.[e.id]??e.icon,name:tr.PresetsUtil.ConnectorNamesMap[e.id]??e.name,imageId:tr.PresetsUtil.ConnectorImageIds[e.id],type:tr.PresetsUtil.ConnectorTypesMap[e.type]??"EXTERNAL",info:e.id===i.ConstantsUtil.CONNECTOR_ID.INJECTED?void 0:{rdns:e.id},provider:t,chain:this.namespace,chains:[]})}async syncConnectors(){!function(e,t){let{onChange:n}=t;e._internal.connectors.subscribe((e,t)=>{n(Object.values(e),t)})}(this.wagmiConfig,{onChange:e=>{e.forEach(e=>this.addWagmiConnector(e))}}),this.addWagmiConnectors(),await Promise.all(this.wagmiConfig.connectors.map(e=>this.addWagmiConnector(e))),await this.addThirdPartyConnectors()}async syncConnections(){let e=this.connectors.filter(e=>{let{hasDisconnected:t,hasConnected:n}=A.HelpersUtil.getConnectorStorageInfo(e.id,this.namespace);return!t&&n}).map(e=>
1this.getWagmiConnector(e.id)).filter(Boolean);await eJ(this.wagmiConfig,{connectors:e})}async syncConnection(e){let{id:t,chainId:n}=e,o=ez(this.wagmiConfig).find(e=>e.connector.id===t),a=this.getWagmiConnector(t),s=await a?.getProvider();if(r.CoreHelperUtil.isSafeApp()&&t===i.ConstantsUtil.CONNECTOR_ID.SAFE&&!o?.accounts.length){let e=this.getWagmiConnector("safe");if(e){let t=await eu(this.wagmiConfig,{connector:e,chainId:Number(n)}),r=await e.getProvider();return{chainId:Number(n),address:this.toChecksummedAddress(t.accounts[0]),provider:r,type:o?.connector.type?.toUpperCase(),id:o?.connector.id}}}return{chainId:Number(o?.chainId),address:this.toChecksummedAddress(o?.accounts[0]),provider:s,type:o?.connector.type?.toUpperCase(),id:o?.connector.id}}async connectWalletConnect(e){try{let t=this.getWalletConnectConnector();await t.authenticate();let n=this.getWagmiConnector("walletConnect");if(!n)throw Error("UniversalAdapter:connectWalletConnect - connector not found");let r=await eu(this.wagmiConfig,{connector:n,chainId:e?Number(e):void 0});return r.chainId!==Number(e)&&await e1(this.wagmiConfig,{chainId:r.chainId}),{clientId:await t.provider.client.core.crypto.getClientId()}}catch(e){if(e instanceof te.UserRejectedRequestError||Q.ErrorUtil.isUserRejectedRequestError(e))throw new Q.UserRejectedRequestError(e);throw e}}async connect(e){try{let{id:t,address:n,provider:r,type:o,info:a,chainId:s,socialUri:c}=e,l=this.getWagmiConnector(t);if(!l)throw Error("connectionControllerClient:connectExternal - connector is undefined");r&&a&&l.id===i.ConstantsUtil.CONNECTOR_ID.EIP6963&&l.setEip6963Wallet?.({provider:r,info:a});let d=this.wagmiConfig.state?.connections?.get(l.uid);if(d){await this.wagmiConfig.storage?.setItem("recentConnectorId",l.id);let e=[...d.accounts].sort((e,t)=>A.HelpersUtil.isLowerCaseMatch(e,n)?-1:+!!A.HelpersUtil.isLowerCaseMatch(t,n));return this.wagmiConfig?.setState(t=>({...t,connections:new Map(t.connections).set(l.uid,{accounts:e,chainId:d.chainId,connector:d.connector}),current:l.uid,status:"connected"})),{address:this.toChecksummedAddress(e[0]),chainId:d.chainId,provider:r,type:o,id:t}}let h=await eu(this.wagmiConfig,{connector:l,chainId:s?Number(s):void 0,socialUri:c}),C=r??await l.getProvider();return{address:this.toChecksummedAddress(h.accounts[0]),chainId:h.chainId,provider:C,type:o,id:t}}catch(e){if(e instanceof te.UserRejectedRequestError||Q.ErrorUtil.isUserRejectedRequestError(e))throw new Q.UserRejectedRequestError(e);throw e}}get connections(){return Array.from(this.wagmiConfig.state.connections.values()).map(e=>({accounts:e.accounts.map(e=>({address:this.toChecksummedAddress(e)})),connectorId:e.connector.id}))}async reconnect(e){let{id:t}=e,n=this.getWagmiConnector(t);if(!n)throw Error("connectionControllerClient:connectExternal - connector is undefined");await eJ(this.wagmiConfig,{connectors:[n]})}async getBalance(e){let t=e.address,n=this.getCaipNetworks().find(t=>t.id===e.chainId);if(!t)return Promise.resolve({balance:"0.00",symbol:"ETH"});if(n&&this.wagmiConfig){let t=`${n.caipNetworkId}:${e.address}`,r=this.balancePromises[t];if(r)return r;let i=v.StorageUtil.getNativeBalanceCacheForCaipAddress(t);return i?{balance:i.balance,symbol:i.symbol}:(this.balancePromises[t]=new Promise(async r=>{try{let i=Number(e.chainId),o=await eq(this.wagmiConfig,{address:e.address,chainId:i,token:e.tokens?.[n.caipNetworkId]?.address});v.StorageUtil.updateNativeBalanceCache({caipAddress:t,balance:o.formatted,symbol:o.symbol,timestamp:Date.now()}),r({balance:o.formatted,symbol:o.symbol})}catch(e){console.warn("Appkit:WagmiAdapter:getBalance - Error getting balance",e),r({balance:"0.00",symbol:"ETH"})}}).finally(()=>{delete this.balancePromises[t]}),this.balancePromises[t]||{balance:"0.00",symbol:"ETH"})}return{balance:"",symbol:""}}getWalletConnectProvider(){return this.getWagmiConnector("walletConnect")?.provider}async disconnect(e){if(e.id){let t=this.getWagmiConnector(e.id),n=ez(this.wagmiConfig).find(t=>A.HelpersUtil.isLowerCaseMatch(t.connector.id,e.id));return(await e3(this.wagmiConfig,{connector:t}),!1===w.OptionsController.state.enableReconnect&&this.deleteConnection(e.id),n)?{connections:[{accounts:n.accounts.map(e=>({address:this.toChecksummedAddress(e)})),connectorId:n.connector.id}]}:{connections:[]}}return this.disconnectAll()}async disconnectAll(){let e=ez(this.wagmiConfig),t=await Promise.allSettled(e.map(async e=>{let t=this.getWagmiConnector(e.connector.id);return t&&await e3(this.wagmiConfig,{connector:t}),e}));return this.wagmiConfig.state.connections.clear(),{connections:t.filter(e=>"fulfilled"===e.status).map(({value:e})=>({accounts:e.accounts.map(e=>({address:this.toChecksummedAddress(e)})),connectorId:e.connector.id}))}}async switchNetwork(e){let{caipNetwork:t}=e,n=this.wagmiConfig.chains.find(e=>e.id.toString()===t.id.toString());if(!n)throw Error("connectionControllerClient:switchNetwork - wagmiChain is undefined");let{name:r,nativeCurrency:i,rpcUrls:o,blockExplorers:a,id:s}=n,c=t.rpcUrls?.chainDefault?.http?.[0]??o.default.http[0]??"",l=a?.default.url??t.blockExplorers?.default?.url??"",d=i??t.nativeCurrency,h=r??t.name;await e1(this.wagmiConfig,{chainId:s,addEthereumChainParameter:{chainName:h,nativeCurrency:d,rpcUrls:[c],blockExplorerUrls:[l]}}),await super.switchNetwork(e)}async getCapabilities(e){if(!this.wagmiConfig)throw Error("connectionControllerClient:getCapabilities - wagmiConfig is undefined");let t=ez(this.wagmiConfig)[0],n=t?this.getWagmiConnector(t.connector.id):null;if(!n)throw Error("connectionControllerClient:getCapabilities - connector is undefined");let r=await n.getProvider();if(!r)throw Error("connectionControllerClient:getCapabilities - provider is undefined");return await r.request({method:"wallet_getCapabilities",params:[e]})}async grantPermissions(e){if(!this.wagmiConfig)throw Error("connectionControllerClient:grantPermissions - wagmiConfig is undefined");let t=ez(this.wagmiConfig)[0],n=t?this.getWagmiConnector(t.connector.id):null;if(!n)throw Error("connectionControllerClient:grantPermissions - connector is undefined");let r=await n.getProvider();if(!r)throw Error("connectionControllerClient:grantPermissions - provider is undefined");return r.request({method:"wallet_grantPermissions",params:e})}async revokePermissions(e){if(!this.wagmiConfig)throw Error("connectionControllerClient:revokePermissions - wagmiConfig is undefined");let t=ez(this.wagmiConfig)[0],n=t?this.getWagmiConnector(t.connector.id):null;if(!n)throw Error("connectionControllerClient:revokePermissions - connector is undefined");let r=await n.getProvider();if(!r)throw Error("connectionControllerClient:revokePermissions - provider is undefined");return r.request({method:"wallet_revokePermissions",params:e})}async walletGetAssets(e){if(!this.wagmiConfig)throw Error("connectionControllerClient:walletGetAssets - wagmiConfig is undefined");let t=ez(this.wagmiConfig)[0],n=t?this.getWagmiConnector(t.connector.id):null;if(!n)throw Error("connectionControllerClient:walletGetAssets - connector is undefined");let r=await n.getProvider();if(!r)throw Error("connectionControllerClient:walletGetAssets - provider is undefined");return r.request({method:"wallet_getAssets",params:[e]})}setAuthProvider(e){if(!this.namespace)throw Error("WagmiAdapter:setAuthProvider - namespace is required");this.addConnector({id:i.ConstantsUtil.CONNECTOR_ID.AUTH,type:"AUTH",
1name:i.ConstantsUtil.CONNECTOR_NAMES.AUTH,provider:e,imageId:tr.PresetsUtil.ConnectorImageIds[i.ConstantsUtil.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}async setUniversalProvider(e){e.on("connect",()=>{let e=ez(this.wagmiConfig),t=this.getWagmiConnector("walletConnect");if(t&&!e.find(e=>e.connector.id===t.id)){if("eip155"===m.ChainController.state.activeChain)return;eJ(this.wagmiConfig,{connectors:[t]})}});let t=ta({universalProvider:e});return this.configureInternalConnector(t),this.addConnector(new en({provider:e,caipNetworks:this.getCaipNetworks(),namespace:"eip155"})),Promise.resolve()}toChecksummedAddress(e){return(0,tt.checksumAddress)(e.toLowerCase())}}({projectId:tv,networks:[tw,tf],ssr:!1,transports:{[tw.id]:tm([(0,tp.http)("https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"),(0,tp.http)("https://avax-pokt.nodies.app/ext/bc/q2aTwKuyzgs8pynF7UXBZCU7DejbZbZ6EUyHr3JQzYgwNPUPi/rpc")]),[tf.id]:tm([(0,tp.http)("https://kaia.therpc.io"),(0,tp.http)("https://public-en.node.kaia.io"),(0,tp.http)("https://1rpc.io/klay"),(0,tp.http)("https://kaia-mainnet.gateway.tatum.io"),(0,tp.http)("https://public-node-api.klaytnapi.com/v1/cypress")])}}),tE=null,tA=tN.wagmiConfig;e.s(["config",0,tA,"dfkChainConfig",0,tw,"getAppKit",0,()=>{var e;return tE?tE:(e={adapters:[tN],networks:[tw,tf],projectId:tv,metadata:{name:"DFK Helper Tavern",description:"DeFi Kingdoms Helper - Track your heroes, pets, and assets",url:"https://dfkhelper.com",icons:["https://dfkhelper.com/favicon.ico"]},themeMode:"dark",themeVariables:{"--w3m-accent":"#7b3fe4","--w3m-border-radius-master":"12px","--w3m-font-family":"inherit"},features:{analytics:!0}},n||(n=new ed({...e,sdkVersion:r.CoreHelperUtil.generateSdkVersion(e.adapters??[],"react","1.8.19")}),(0,eh.getAppKit)(n)),tE=n)}],319435)}]);
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.