@wormhole-foundation/wormhole-connect 4.1.0-beta.0-development → 4.1.0-beta.1-development
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/main.mjs +68 -68
- package/dist/src/config/testnet/chains.d.ts.map +1 -1
- package/dist/src/config/testnet/rpcs.d.ts.map +1 -1
- package/dist/src/config/testnet/tokens.d.ts.map +1 -1
- package/dist/src/sdklegacy/config/TESTNET.d.ts.map +1 -1
- package/lib/{aptos-BRApiL_4.mjs → aptos-B84P9rJZ.mjs} +2 -2
- package/lib/{aptos-d56Mw8DO.js → aptos-DWDR5o78.js} +1 -1
- package/lib/{basic-DjAbnFVK.mjs → basic-BERCwt2M.mjs} +2 -2
- package/lib/{basic-DR75AlQZ.mjs → basic-CukRIaOD.mjs} +2 -2
- package/lib/{basic-BxzNlZH2.js → basic-DJXXfABO.js} +1 -1
- package/lib/{basic-Bj1RjRlj.js → basic-NhXxxbR1.js} +1 -1
- package/lib/{constants-Bkyn6tLV.js → constants-B9TBfA4z.js} +1 -1
- package/lib/{constants-PWEvTwIh.mjs → constants-VaoVbllu.mjs} +4 -4
- package/lib/{core-CkIseV8K.mjs → core-BCZrVb_s.mjs} +5 -5
- package/lib/{core-CCO0WKg_.js → core-BE6SS7Ye.js} +3 -3
- package/lib/{evm-BAU31wxF.js → evm--K7mr7Kr.js} +2 -2
- package/lib/{evm-9NnChBii.js → evm-C5BixKBn.js} +1 -1
- package/lib/{evm-2dSclZz6.mjs → evm-CmmnpcFD.mjs} +3 -3
- package/lib/{evm-CMxUV_bG.mjs → evm-DKaWm7eC.mjs} +3 -3
- package/lib/hosted.js +1 -1
- package/lib/hosted.mjs +1 -1
- package/lib/{hypercore-DJV-pPts.js → hypercore-4R7JGmbr.js} +1 -1
- package/lib/{hypercore-Bmlyd4uI.mjs → hypercore-birmbh9T.mjs} +9 -9
- package/lib/{index-arjwwpj2.mjs → index-BN_2mA2n.mjs} +1 -1
- package/lib/{index-C5j1HoFr.js → index-BRFbmsc_.js} +1 -1
- package/lib/{index-CS6YnwIH.js → index-BTcij9Np.js} +1 -1
- package/lib/{index-cRi8si5A.js → index-BUbUhbMe.js} +1 -1
- package/lib/{index-DUyGY36L.js → index-Bs28m4ya.js} +1 -1
- package/lib/{index-B16yfCYF.mjs → index-C8YhpD9T.mjs} +1 -1
- package/lib/{index-BYuhx88C.js → index-C8eqQ_7p.js} +1 -1
- package/lib/{index-CZHdN9pg.js → index-CED5jdrg.js} +1 -1
- package/lib/{index-Cl9Df47-.mjs → index-CH0iw38J.mjs} +1 -1
- package/lib/{index-hyk_rzOj.mjs → index-CR1itkLl.mjs} +700 -683
- package/lib/{index-CHvWl09c.js → index-Cw0jWBks.js} +1 -1
- package/lib/{index-BXsTZ9x_.mjs → index-DSnylejH.mjs} +23 -15
- package/lib/{index-CPGWCfWD.js → index-HrZv1SyT.js} +8 -8
- package/lib/{index-_IZO0QRl.mjs → index-N4FkpEh9.mjs} +1 -1
- package/lib/{index-Ds7-hb1n.mjs → index-Txz5xwr6.mjs} +1 -1
- package/lib/{index-BCKX-m7h.mjs → index-pYTU7pQK.mjs} +1 -1
- package/lib/{index.es-ByyzusUN.mjs → index.es-B0fk_42a.mjs} +3 -3
- package/lib/{index.es-BC9c-IV7.mjs → index.es-CDqFguL5.mjs} +2 -2
- package/lib/{index.es-BmZ1Eaml.js → index.es-Dg6IFrL4.js} +1 -1
- package/lib/{index.es-DxdcaWwJ.js → index.es-DmmqAOLD.js} +3 -3
- package/lib/index.js +1 -1
- package/lib/index.mjs +6 -6
- package/lib/lifi.js +1 -1
- package/lib/lifi.mjs +2 -2
- package/lib/mayan.js +1 -1
- package/lib/mayan.mjs +2 -2
- package/lib/monad.js +1 -1
- package/lib/monad.mjs +1 -1
- package/lib/ntt.js +1 -1
- package/lib/ntt.mjs +1 -1
- package/lib/{secp256k1-BLiUzGcX.js → secp256k1-BkoM1Jum.js} +1 -1
- package/lib/{secp256k1-r0ke-jeG.js → secp256k1-CcVQkYNr.js} +1 -1
- package/lib/{secp256k1-D24BZJAq.js → secp256k1-CglUNI04.js} +1 -1
- package/lib/{secp256k1-rufcCDcw.mjs → secp256k1-DROP2Lhv.mjs} +1 -1
- package/lib/{secp256k1-ZQ8UIhmk.mjs → secp256k1-DzRCmd6a.mjs} +1 -1
- package/lib/{secp256k1-CXRI4XfW.mjs → secp256k1-LTcmQEQ5.mjs} +1 -1
- package/lib/{solana-CXtk3UX1.js → solana-C4k_Yg7w.js} +4 -4
- package/lib/{solana-lhrSUH_P.mjs → solana-D1LVIhGd.mjs} +8 -8
- package/lib/{solanaEmbed.esm-BMynjubZ.js → solanaEmbed.esm--Ac-IlRA.js} +1 -1
- package/lib/{solanaEmbed.esm-CFu0h50b.mjs → solanaEmbed.esm-AvWQUA9e.mjs} +2 -2
- package/lib/src/config/testnet/chains.d.ts.map +1 -1
- package/lib/src/config/testnet/rpcs.d.ts.map +1 -1
- package/lib/src/config/testnet/tokens.d.ts.map +1 -1
- package/lib/src/sdklegacy/config/TESTNET.d.ts.map +1 -1
- package/lib/{sui-CZNJPZ5q.mjs → sui-BPAb7kcs.mjs} +2 -2
- package/lib/{sui-CBxh7zmc.js → sui-CgmDTkXK.js} +1 -1
- package/lib/{tokenHelpers-DZRdlDO-.js → tokenHelpers-CbE0g9BP.js} +1 -1
- package/lib/{tokenHelpers-DT6mPtNP.mjs → tokenHelpers-DvWQs1tu.mjs} +1 -1
- package/lib/{tokens-FIs8YBYj.mjs → tokens-BJDttoCp.mjs} +1 -1
- package/lib/{tokens--uOMY2-j.js → tokens-CvZuVW-g.js} +1 -1
- package/lib/{w3m-modal-B5PtkowQ.js → w3m-modal-ByamyZny.js} +1 -1
- package/lib/{w3m-modal-CBYJj-sR.mjs → w3m-modal-CtQ0TPA4.mjs} +2 -2
- package/lib/{w3m-modal-h85Jyy9l.mjs → w3m-modal-DM5Pf8SH.mjs} +2 -2
- package/lib/{w3m-modal-B3FfPDki.js → w3m-modal-k23UDiov.js} +1 -1
- package/package.json +6 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";const $=require("./platform-CCG_jgOO.js"),d=require("./index.es-BmZ1Eaml.js"),Fn=require("./index.es-DxdcaWwJ.js"),P=require("./lit-element-Cpy16KIW.js"),Es=require("./http-D4VeaDBj.js");require("./hypercore-DJV-pPts.js");const H={WC_NAME_SUFFIX:".reown.id",WC_NAME_SUFFIX_LEGACY:".wcn.id",BLOCKCHAIN_API_RPC_URL:"https://rpc.walletconnect.org",PULSE_API_URL:"https://pulse.walletconnect.org",W3M_API_URL:"https://api.web3modal.org",CONNECTOR_ID:{WALLET_CONNECT:"walletConnect",INJECTED:"injected",WALLET_STANDARD:"announced",COINBASE:"coinbaseWallet",COINBASE_SDK:"coinbaseWalletSDK",SAFE:"safe",LEDGER:"ledger",OKX:"okx",EIP6963:"eip6963",AUTH:"ID_AUTH"},CONNECTOR_NAMES:{AUTH:"Auth"},AUTH_CONNECTOR_SUPPORTED_CHAINS:["eip155","solana"],LIMITS:{PENDING_TRANSACTIONS:99},CHAIN:{EVM:"eip155",SOLANA:"solana",POLKADOT:"polkadot",BITCOIN:"bip122"},CHAIN_NAME_MAP:{eip155:"EVM Networks",solana:"Solana",polkadot:"Polkadot",bip122:"Bitcoin",cosmos:"Cosmos"},ADAPTER_TYPES:{BITCOIN:"bitcoin",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5"},USDT_CONTRACT_ADDRESSES:["0xdac17f958d2ee523a2206206994597c13d831ec7","0xc2132d05d31c914a87c6611c10748aeb04b58e8f","0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7","0x919C1c267BC06a7039e03fcc2eF738525769109c","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e","0x55d398326f99059fF775485246999027B3197955","0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"],HTTP_STATUS_CODES:{SERVICE_UNAVAILABLE:503,FORBIDDEN:403},UNSUPPORTED_NETWORK_NAME:"Unknown Network",SECURE_SITE_SDK_ORIGIN:(typeof $.process$1<"u"&&typeof $.process$1.env<"u"?$.process$1.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org"},Va={caipNetworkIdToNumber(t){return t?Number(t.split(":")[1]):void 0},parseEvmChainId(t){return typeof t=="string"?this.caipNetworkIdToNumber(t):t},getNetworksByNamespace(t,e){return t?.filter(s=>s.chainNamespace===e)||[]},getFirstNetworkByNamespace(t,e){return this.getNetworksByNamespace(t,e)[0]},getNetworkNameByCaipNetworkId(t,e){if(!e)return;const s=t.find(i=>i.caipNetworkId===e);if(s)return s.name;const[r]=e.split(":");return H.CHAIN_NAME_MAP?.[r]||void 0}},Il={bigNumber(t){return t?new P.Big(t):new P.Big(0)},multiply(t,e){if(t===void 0||e===void 0)return new P.Big(0);const s=new P.Big(t),r=new P.Big(e);return s.times(r)},formatNumberToLocalString(t,e=2){return t===void 0?"0.00":typeof t=="number"?t.toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e}):parseFloat(t).toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e})},parseLocalStringToNumber(t){return t===void 0?0:parseFloat(t.replace(/,/gu,""))}},Nl=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],Al=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],Sl=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],_l={getERC20Abi:t=>H.USDT_CONTRACT_ADDRESSES.includes(t)?Sl:Nl,getSwapAbi:()=>Al},Gt={validateCaipAddress(t){if(t.split(":")?.length!==3)throw new Error("Invalid CAIP Address");return t},parseCaipAddress(t){const e=t.split(":");if(e.length!==3)throw new Error(`Invalid CAIP-10 address: ${t}`);const[s,r,i]=e;if(!s||!r||!i)throw new Error(`Invalid CAIP-10 address: ${t}`);return{chainNamespace:s,chainId:r,address:i}},parseCaipNetworkId(t){const e=t.split(":");if(e.length!==2)throw new Error(`Invalid CAIP-2 network id: ${t}`);const[s,r]=e;if(!s||!r)throw new Error(`Invalid CAIP-2 network id: ${t}`);return{chainNamespace:s,chainId:r}}},se={WALLET_ID:"@appkit/wallet_id",WALLET_NAME:"@appkit/wallet_name",SOLANA_WALLET:"@appkit/solana_wallet",SOLANA_CAIP_CHAIN:"@appkit/solana_caip_chain",ACTIVE_CAIP_NETWORK_ID:"@appkit/active_caip_network_id",CONNECTED_SOCIAL:"@appkit/connected_social",CONNECTED_SOCIAL_USERNAME:"@appkit-wallet/SOCIAL_USERNAME",RECENT_WALLETS:"@appkit/recent_wallets",DEEPLINK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",ACTIVE_NAMESPACE:"@appkit/active_namespace",CONNECTED_NAMESPACES:"@appkit/connected_namespaces",CONNECTION_STATUS:"@appkit/connection_status",SIWX_AUTH_TOKEN:"@appkit/siwx-auth-token",SIWX_NONCE_TOKEN:"@appkit/siwx-nonce-token",TELEGRAM_SOCIAL_PROVIDER:"@appkit/social_provider",NATIVE_BALANCE_CACHE:"@appkit/native_balance_cache",PORTFOLIO_CACHE:"@appkit/portfolio_cache",ENS_CACHE:"@appkit/ens_cache",IDENTITY_CACHE:"@appkit/identity_cache",PREFERRED_ACCOUNT_TYPES:"@appkit/preferred_account_types",CONNECTIONS:"@appkit/connections"};function Ti(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const ee={setItem(t,e){Ir()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(Ir())return localStorage.getItem(t)||void 0},removeItem(t){Ir()&&localStorage.removeItem(t)},clear(){Ir()&&localStorage.clear()}};function Ir(){return typeof window<"u"&&typeof localStorage<"u"}function rs(t,e){return e==="light"?{"--w3m-accent":t?.["--w3m-accent"]||"hsla(231, 100%, 70%, 1)","--w3m-background":"#fff"}:{"--w3m-accent":t?.["--w3m-accent"]||"hsla(230, 100%, 67%, 1)","--w3m-background":"#121313"}}typeof $.process$1<"u"&&typeof $.process$1.env<"u"&&$.process$1.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN;const Ka=[{label:"Coinbase",name:"coinbase",feeRange:"1-2%",url:"",supportedChains:["eip155"]},{label:"Meld.io",name:"meld",feeRange:"1-2%",url:"https://meldcrypto.com",supportedChains:["eip155","solana"]}],Pl="WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU",be={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,ONE_SEC_MS:1e3,BALANCE_SUPPORTED_CHAINS:["eip155","solana"],NAMES_SUPPORTED_CHAIN_NAMESPACES:["eip155"],NATIVE_TOKEN_ADDRESS:{eip155:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",solana:"So11111111111111111111111111111111111111111",polkadot:"0x",bip122:"0x",cosmos:"0x"},CONVERT_SLIPPAGE_TOLERANCE:1,CONNECT_LABELS:{MOBILE:"Open and continue in the wallet app"},SEND_SUPPORTED_NAMESPACES:["eip155","solana"],DEFAULT_REMOTE_FEATURES:{swaps:["1inch"],onramp:["coinbase","meld"],email:!0,socials:["google","x","discord","farcaster","github","apple","facebook"],activity:!0,reownBranding:!0},DEFAULT_REMOTE_FEATURES_DISABLED:{email:!1,socials:!1,swaps:!1,onramp:!1,activity:!1,reownBranding:!1},DEFAULT_FEATURES:{receive:!0,send:!0,emailShowWallets:!0,connectorTypeOrder:["walletConnect","recent","injected","featured","custom","external","recommended"],analytics:!0,allWallets:!0,legalCheckbox:!1,smartSessions:!1,collapseWallets:!1,walletFeaturesOrder:["onramp","swaps","receive","send"],connectMethodsOrder:void 0,pay:!1},DEFAULT_ACCOUNT_TYPES:{bip122:"payment",eip155:"smartAccount",polkadot:"eoa",solana:"eoa"},ADAPTER_TYPES:{UNIVERSAL:"universal"}},q={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5},isCacheExpired(t,e){return Date.now()-t>e},getActiveNetworkProps(){const t=q.getActiveNamespace(),e=q.getActiveCaipNetworkId(),s=e?e.split(":")[1]:void 0,r=s?isNaN(Number(s))?s:Number(s):void 0;return{namespace:t,caipNetworkId:e,chainId:r}},setWalletConnectDeepLink({name:t,href:e}){try{ee.setItem(se.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=ee.getItem(se.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{ee.removeItem(se.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{ee.setItem(se.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{ee.setItem(se.ACTIVE_CAIP_NETWORK_ID,t),q.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return ee.getItem(se.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{ee.removeItem(se.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=Ti(t);ee.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=q.getRecentWallets();e.find(r=>r.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),ee.setItem(se.RECENT_WALLETS,JSON.stringify(e)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=ee.getItem(se.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},setConnectedConnectorId(t,e){try{const s=Ti(t);ee.setItem(s,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return ee.getItem(se.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=Ti(t);return ee.getItem(e)}catch{console.info("Unable to get connected connector id in namespace ",t)}},setConnectedSocialProvider(t){try{ee.setItem(se.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return ee.getItem(se.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{ee.removeItem(se.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return ee.getItem(se.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return ee.getItem(se.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(t){try{ee.setItem(se.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return ee.getItem(se.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=ee.getItem(se.CONNECTED_NAMESPACES);return t?.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));ee.setItem(se.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=q.getConnectedNamespaces();e.includes(t)||(e.push(t),q.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=q.getConnectedNamespaces(),s=e.indexOf(t);s>-1&&(e.splice(s,1),q.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return ee.getItem(se.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{ee.setItem(se.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{ee.removeItem(se.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=ee.getItem(se.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=q.getBalanceCache();ee.setItem(se.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const s=q.getBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.portfolio))return s.balance;q.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=q.getBalanceCache();e[t.caipAddress]=t,ee.setItem(se.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=ee.getItem(se.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=q.getBalanceCache();ee.setItem(se.NATIVE_BALANCE_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getNativeBalanceCacheForCaipAddress(t){try{const s=q.getNativeBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.nativeBalance))return s;console.info("Discarding cache for address",t),q.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=q.getNativeBalanceCache();e[t.caipAddress]=t,ee.setItem(se.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=ee.getItem(se.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const s=q.getEnsCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.ens))return s.ens;q.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=q.getEnsCache();e[t.address]=t,ee.setItem(se.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=q.getEnsCache();ee.setItem(se.ENS_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove ens name from cache",t)}},getIdentityCache(){let t={};try{const e=ee.getItem(se.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const s=q.getIdentityCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.identity))return s.identity;q.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=q.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},ee.setItem(se.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=q.getIdentityCache();ee.setItem(se.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},clearAddressCache(){try{ee.removeItem(se.PORTFOLIO_CACHE),ee.removeItem(se.NATIVE_BALANCE_CACHE),ee.removeItem(se.ENS_CACHE),ee.removeItem(se.IDENTITY_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{ee.setItem(se.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=ee.getItem(se.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const s={...q.getConnections(),[e]:t};ee.setItem(se.CONNECTIONS,JSON.stringify(s))}catch(s){console.error("Unable to sync connections to storage",s)}},getConnections(){try{const t=ee.getItem(se.CONNECTIONS);return t?JSON.parse(t):{}}catch(t){return console.error("Unable to get connections from storage",t),{}}}},Z={isMobile(){return this.isClient()?!!(typeof window?.matchMedia=="function"&&window?.matchMedia("(pointer:coarse)")?.matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},checkCaipNetwork(t,e=""){return t?.caipNetworkId.toLocaleLowerCase().includes(e.toLowerCase())},isAndroid(){if(!this.isMobile())return!1;const t=window?.navigator.userAgent.toLowerCase();return Z.isMobile()&&t.includes("android")},isIos(){if(!this.isMobile())return!1;const t=window?.navigator.userAgent.toLowerCase();return t.includes("iphone")||t.includes("ipad")},isSafari(){return this.isClient()?(window?.navigator.userAgent.toLowerCase()).includes("safari"):!1},isClient(){return typeof window<"u"},isPairingExpired(t){return t?t-Date.now()<=be.TEN_SEC_MS:!0},isAllowedRetry(t,e=be.ONE_SEC_MS){return Date.now()-t>=e},copyToClopboard(t){navigator.clipboard.writeText(t)},isIframe(){try{return window?.self!==window?.top}catch{return!1}},isSafeApp(){if(Z.isClient()&&window.self!==window.top)try{const t=window?.location?.ancestorOrigins?.[0],e="https://app.safe.global";if(t){const s=new URL(t),r=new URL(e);return s.hostname===r.hostname}}catch{return!1}return!1},getPairingExpiry(){return Date.now()+be.FOUR_MINUTES_MS},getNetworkId(t){return t?.split(":")[1]},getPlainAddress(t){return t?.split(":")[2]},async wait(t){return new Promise(e=>{setTimeout(e,t)})},debounce(t,e=500){let s;return(...r)=>{function i(){t(...r)}s&&clearTimeout(s),s=setTimeout(i,e)}},isHttpUrl(t){return t.startsWith("http://")||t.startsWith("https://")},formatNativeUrl(t,e,s=null){if(Z.isHttpUrl(t))return this.formatUniversalUrl(t,e);let r=t,i=s;r.includes("://")||(r=t.replaceAll("/","").replaceAll(":",""),r=`${r}://`),r.endsWith("/")||(r=`${r}/`),i&&!i?.endsWith("/")&&(i=`${i}/`),this.isTelegram()&&this.isAndroid()&&(e=encodeURIComponent(e));const n=encodeURIComponent(e);return{redirect:`${r}wc?uri=${n}`,redirectUniversalLink:i?`${i}wc?uri=${n}`:void 0,href:r}},formatUniversalUrl(t,e){if(!Z.isHttpUrl(t))return this.formatNativeUrl(t,e);let s=t;s.endsWith("/")||(s=`${s}/`);const r=encodeURIComponent(e);return{redirect:`${s}wc?uri=${r}`,href:s}},getOpenTargetForPlatform(t){return t==="popupWindow"?t:this.isTelegram()?q.getTelegramSocialProvider()?"_top":"_blank":t},openHref(t,e,s){window?.open(t,this.getOpenTargetForPlatform(e),s||"noreferrer noopener")},returnOpenHref(t,e,s){return window?.open(t,this.getOpenTargetForPlatform(e),s||"noreferrer noopener")},isTelegram(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)},isPWA(){if(typeof window>"u")return!1;const t=window.matchMedia?.("(display-mode: standalone)")?.matches,e=window?.navigator?.standalone;return!!(t||e)},async preloadImage(t){const e=new Promise((s,r)=>{const i=new Image;i.onload=s,i.onerror=r,i.crossOrigin="anonymous",i.src=t});return Promise.race([e,Z.wait(2e3)])},formatBalance(t,e){let s="0.000";if(typeof t=="string"){const r=Number(t);if(r){const i=Math.floor(r*1e3)/1e3;i&&(s=i.toString())}}return`${s}${e?` ${e}`:""}`},formatBalance2(t,e){let s;if(t==="0")s="0";else if(typeof t=="string"){const r=Number(t);r&&(s=r.toString().match(/^-?\d+(?:\.\d{0,3})?/u)?.[0])}return{value:s??"0",rest:s==="0"?"000":"",symbol:e}},getApiUrl(){return H.W3M_API_URL},getBlockchainApiUrl(){return H.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return H.PULSE_API_URL},getUUID(){return crypto?.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})},parseError(t){return typeof t=="string"?t:typeof t?.issues?.[0]?.message=="string"?t.issues[0].message:t instanceof Error?t.message:"Unknown error"},sortRequestedNetworks(t,e=[]){const s={};return e&&t&&(t.forEach((r,i)=>{s[r]=i}),e.sort((r,i)=>{const n=s[r.id],o=s[i.id];return n!==void 0&&o!==void 0?n-o:n!==void 0?-1:o!==void 0?1:0})),e},calculateBalance(t){let e=0;for(const s of t)e+=s.value??0;return e},formatTokenBalance(t){const e=t.toFixed(2),[s,r]=e.split(".");return{dollars:s,pennies:r}},isAddress(t,e="eip155"){switch(e){case"eip155":if(/^(?:0x)?[0-9a-f]{40}$/iu.test(t)){if(/^(?:0x)?[0-9a-f]{40}$/iu.test(t)||/^(?:0x)?[0-9A-F]{40}$/iu.test(t))return!0}else return!1;return!1;case"solana":return/[1-9A-HJ-NP-Za-km-z]{32,44}$/iu.test(t);default:return!1}},uniqueBy(t,e){const s=new Set;return t.filter(r=>{const i=r[e];return s.has(i)?!1:(s.add(i),!0)})},generateSdkVersion(t,e,s){const i=t.length===0?be.ADAPTER_TYPES.UNIVERSAL:t.map(n=>n.adapterType).join(",");return`${e}-${i}-${s}`},createAccount(t,e,s,r,i){return{namespace:t,address:e,type:s,publicKey:r,path:i}},isCaipAddress(t){if(typeof t!="string")return!1;const e=t.split(":"),s=e[0];return e.filter(Boolean).length===3&&s in H.CHAIN_NAME_MAP},isMac(){const t=window?.navigator.userAgent.toLowerCase();return t.includes("macintosh")&&!t.includes("safari")},formatTelegramSocialLoginUrl(t){const e=`--${encodeURIComponent(window?.location.href)}`,s="state=";if(new URL(t).host==="auth.magic.link"){const i="provider_authorization_url=",n=t.substring(t.indexOf(i)+i.length),o=this.injectIntoUrl(decodeURIComponent(n),s,e);return t.replace(n,encodeURIComponent(o))}return this.injectIntoUrl(t,s,e)},injectIntoUrl(t,e,s){const r=t.indexOf(e);if(r===-1)throw new Error(`${e} parameter not found in the URL: ${t}`);const i=t.indexOf("&",r),n=e.length,o=i!==-1?i:t.length,a=t.substring(0,r+n),c=t.substring(r+n,o),l=t.substring(i),u=c+s;return a+u+l}};async function mr(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class qr{constructor({baseUrl:e,clientId:s}){this.baseUrl=e,this.clientId=s}async get({headers:e,signal:s,cache:r,...i}){const n=this.createUrl(i);return(await mr(n,{method:"GET",headers:e,signal:s,cache:r})).json()}async getBlob({headers:e,signal:s,...r}){const i=this.createUrl(r);return(await mr(i,{method:"GET",headers:e,signal:s})).blob()}async post({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await mr(n,{method:"POST",headers:s,body:e?JSON.stringify(e):void 0,signal:r})).json()}async put({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await mr(n,{method:"PUT",headers:s,body:e?JSON.stringify(e):void 0,signal:r})).json()}async delete({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await mr(n,{method:"DELETE",headers:s,body:e?JSON.stringify(e):void 0,signal:r})).json()}createUrl({path:e,params:s}){const r=new URL(e,this.baseUrl);return s&&Object.entries(s).forEach(([i,n])=>{n&&r.searchParams.append(i,n)}),this.clientId&&r.searchParams.append("clientId",this.clientId),r}}const kl={getFeatureValue(t,e){const s=e?.[t];return s===void 0?be.DEFAULT_FEATURES[t]:s},filterSocialsByPlatform(t){if(!t||!t.length)return t;if(Z.isTelegram()){if(Z.isIos())return t.filter(e=>e!=="google");if(Z.isMac())return t.filter(e=>e!=="x");if(Z.isAndroid())return t.filter(e=>!["facebook","x"].includes(e))}return t}},K=P.proxy({features:be.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:be.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{}}),N={state:K,subscribeKey(t,e){return P.subscribeKey(K,t,e)},setOptions(t){Object.assign(K,t)},setRemoteFeatures(t){if(!t)return;const e={...K.remoteFeatures,...t};K.remoteFeatures=e,K.remoteFeatures?.socials&&(K.remoteFeatures.socials=kl.filterSocialsByPlatform(K.remoteFeatures.socials))},setFeatures(t){if(!t)return;K.features||(K.features=be.DEFAULT_FEATURES);const e={...K.features,...t};K.features=e},setProjectId(t){K.projectId=t},setCustomRpcUrls(t){K.customRpcUrls=t},setAllWallets(t){K.allWallets=t},setIncludeWalletIds(t){K.includeWalletIds=t},setExcludeWalletIds(t){K.excludeWalletIds=t},setFeaturedWalletIds(t){K.featuredWalletIds=t},setTokens(t){K.tokens=t},setTermsConditionsUrl(t){K.termsConditionsUrl=t},setPrivacyPolicyUrl(t){K.privacyPolicyUrl=t},setCustomWallets(t){K.customWallets=t},setIsSiweEnabled(t){K.isSiweEnabled=t},setIsUniversalProvider(t){K.isUniversalProvider=t},setSdkVersion(t){K.sdkVersion=t},setMetadata(t){K.metadata=t},setDisableAppend(t){K.disableAppend=t},setEIP6963Enabled(t){K.enableEIP6963=t},setDebug(t){K.debug=t},setEnableWalletConnect(t){K.enableWalletConnect=t},setEnableWalletGuide(t){K.enableWalletGuide=t},setEnableAuthLogger(t){K.enableAuthLogger=t},setEnableWallets(t){K.enableWallets=t},setPreferUniversalLinks(t){K.experimental_preferUniversalLinks=t},setHasMultipleAddresses(t){K.hasMultipleAddresses=t},setSIWX(t){K.siwx=t},setConnectMethodsOrder(t){K.features={...K.features,connectMethodsOrder:t}},setWalletFeaturesOrder(t){K.features={...K.features,walletFeaturesOrder:t}},setSocialsOrder(t){K.remoteFeatures={...K.remoteFeatures,socials:t}},setCollapseWallets(t){K.features={...K.features,collapseWallets:t}},setEnableEmbedded(t){K.enableEmbedded=t},setAllowUnsupportedChain(t){K.allowUnsupportedChain=t},setManualWCControl(t){K.manualWCControl=t},setEnableNetworkSwitch(t){K.enableNetworkSwitch=t},setDefaultAccountTypes(t={}){Object.entries(t).forEach(([e,s])=>{s&&(K.defaultAccountTypes[e]=s)})},setUniversalProviderConfigOverride(t){K.universalProviderConfigOverride=t},getUniversalProviderConfigOverride(){return K.universalProviderConfigOverride},getSnapshot(){return P.snapshot(K)}},Tl=Object.freeze({enabled:!0,events:[]}),Ol=new qr({baseUrl:Z.getAnalyticsUrl(),clientId:null}),xl=5,Rl=60*1e3,Jt=P.proxy({...Tl}),$l={state:Jt,subscribeKey(t,e){return P.subscribeKey(Jt,t,e)},async sendError(t,e){if(!Jt.enabled)return;const s=Date.now();if(Jt.events.filter(n=>{const o=new Date(n.properties.timestamp||"").getTime();return s-o<Rl}).length>=xl)return;const i={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};Jt.events.push(i);try{if(typeof window>"u")return;const{projectId:n,sdkType:o,sdkVersion:a}=N.state;await Ol.post({path:"/e",params:{projectId:n,st:o,sv:a||"html-wagmi-4.2.2"},body:{eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:new Date().toISOString(),props:{type:"error",event:e,errorType:t.name,errorMessage:t.message,stackTrace:t.stack}}})}catch{}},enable(){Jt.enabled=!0},disable(){Jt.enabled=!1},clearEvents(){Jt.events=[]}};class sr extends Error{constructor(e,s,r){super(e),this.name="AppKitError",this.category=s,this.originalError=r,Object.setPrototypeOf(this,sr.prototype);let i=!1;if(r instanceof Error&&typeof r.stack=="string"&&r.stack){const n=r.stack,o=n.indexOf(`
|
|
1
|
+
"use strict";const $=require("./platform-CCG_jgOO.js"),d=require("./index.es-Dg6IFrL4.js"),Fn=require("./index.es-DmmqAOLD.js"),P=require("./lit-element-Cpy16KIW.js"),Es=require("./http-D4VeaDBj.js");require("./hypercore-4R7JGmbr.js");const H={WC_NAME_SUFFIX:".reown.id",WC_NAME_SUFFIX_LEGACY:".wcn.id",BLOCKCHAIN_API_RPC_URL:"https://rpc.walletconnect.org",PULSE_API_URL:"https://pulse.walletconnect.org",W3M_API_URL:"https://api.web3modal.org",CONNECTOR_ID:{WALLET_CONNECT:"walletConnect",INJECTED:"injected",WALLET_STANDARD:"announced",COINBASE:"coinbaseWallet",COINBASE_SDK:"coinbaseWalletSDK",SAFE:"safe",LEDGER:"ledger",OKX:"okx",EIP6963:"eip6963",AUTH:"ID_AUTH"},CONNECTOR_NAMES:{AUTH:"Auth"},AUTH_CONNECTOR_SUPPORTED_CHAINS:["eip155","solana"],LIMITS:{PENDING_TRANSACTIONS:99},CHAIN:{EVM:"eip155",SOLANA:"solana",POLKADOT:"polkadot",BITCOIN:"bip122"},CHAIN_NAME_MAP:{eip155:"EVM Networks",solana:"Solana",polkadot:"Polkadot",bip122:"Bitcoin",cosmos:"Cosmos"},ADAPTER_TYPES:{BITCOIN:"bitcoin",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5"},USDT_CONTRACT_ADDRESSES:["0xdac17f958d2ee523a2206206994597c13d831ec7","0xc2132d05d31c914a87c6611c10748aeb04b58e8f","0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7","0x919C1c267BC06a7039e03fcc2eF738525769109c","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e","0x55d398326f99059fF775485246999027B3197955","0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"],HTTP_STATUS_CODES:{SERVICE_UNAVAILABLE:503,FORBIDDEN:403},UNSUPPORTED_NETWORK_NAME:"Unknown Network",SECURE_SITE_SDK_ORIGIN:(typeof $.process$1<"u"&&typeof $.process$1.env<"u"?$.process$1.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org"},Va={caipNetworkIdToNumber(t){return t?Number(t.split(":")[1]):void 0},parseEvmChainId(t){return typeof t=="string"?this.caipNetworkIdToNumber(t):t},getNetworksByNamespace(t,e){return t?.filter(s=>s.chainNamespace===e)||[]},getFirstNetworkByNamespace(t,e){return this.getNetworksByNamespace(t,e)[0]},getNetworkNameByCaipNetworkId(t,e){if(!e)return;const s=t.find(i=>i.caipNetworkId===e);if(s)return s.name;const[r]=e.split(":");return H.CHAIN_NAME_MAP?.[r]||void 0}},Il={bigNumber(t){return t?new P.Big(t):new P.Big(0)},multiply(t,e){if(t===void 0||e===void 0)return new P.Big(0);const s=new P.Big(t),r=new P.Big(e);return s.times(r)},formatNumberToLocalString(t,e=2){return t===void 0?"0.00":typeof t=="number"?t.toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e}):parseFloat(t).toLocaleString("en-US",{maximumFractionDigits:e,minimumFractionDigits:e})},parseLocalStringToNumber(t){return t===void 0?0:parseFloat(t.replace(/,/gu,""))}},Nl=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"_from",type:"address"},{name:"_to",type:"address"},{name:"_value",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],Al=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],Sl=[{type:"function",name:"transfer",stateMutability:"nonpayable",inputs:[{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[]},{type:"function",name:"transferFrom",stateMutability:"nonpayable",inputs:[{name:"sender",type:"address"},{name:"recipient",type:"address"},{name:"amount",type:"uint256"}],outputs:[{name:"",type:"bool"}]}],_l={getERC20Abi:t=>H.USDT_CONTRACT_ADDRESSES.includes(t)?Sl:Nl,getSwapAbi:()=>Al},Gt={validateCaipAddress(t){if(t.split(":")?.length!==3)throw new Error("Invalid CAIP Address");return t},parseCaipAddress(t){const e=t.split(":");if(e.length!==3)throw new Error(`Invalid CAIP-10 address: ${t}`);const[s,r,i]=e;if(!s||!r||!i)throw new Error(`Invalid CAIP-10 address: ${t}`);return{chainNamespace:s,chainId:r,address:i}},parseCaipNetworkId(t){const e=t.split(":");if(e.length!==2)throw new Error(`Invalid CAIP-2 network id: ${t}`);const[s,r]=e;if(!s||!r)throw new Error(`Invalid CAIP-2 network id: ${t}`);return{chainNamespace:s,chainId:r}}},se={WALLET_ID:"@appkit/wallet_id",WALLET_NAME:"@appkit/wallet_name",SOLANA_WALLET:"@appkit/solana_wallet",SOLANA_CAIP_CHAIN:"@appkit/solana_caip_chain",ACTIVE_CAIP_NETWORK_ID:"@appkit/active_caip_network_id",CONNECTED_SOCIAL:"@appkit/connected_social",CONNECTED_SOCIAL_USERNAME:"@appkit-wallet/SOCIAL_USERNAME",RECENT_WALLETS:"@appkit/recent_wallets",DEEPLINK_CHOICE:"WALLETCONNECT_DEEPLINK_CHOICE",ACTIVE_NAMESPACE:"@appkit/active_namespace",CONNECTED_NAMESPACES:"@appkit/connected_namespaces",CONNECTION_STATUS:"@appkit/connection_status",SIWX_AUTH_TOKEN:"@appkit/siwx-auth-token",SIWX_NONCE_TOKEN:"@appkit/siwx-nonce-token",TELEGRAM_SOCIAL_PROVIDER:"@appkit/social_provider",NATIVE_BALANCE_CACHE:"@appkit/native_balance_cache",PORTFOLIO_CACHE:"@appkit/portfolio_cache",ENS_CACHE:"@appkit/ens_cache",IDENTITY_CACHE:"@appkit/identity_cache",PREFERRED_ACCOUNT_TYPES:"@appkit/preferred_account_types",CONNECTIONS:"@appkit/connections"};function Ti(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const ee={setItem(t,e){Ir()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(Ir())return localStorage.getItem(t)||void 0},removeItem(t){Ir()&&localStorage.removeItem(t)},clear(){Ir()&&localStorage.clear()}};function Ir(){return typeof window<"u"&&typeof localStorage<"u"}function rs(t,e){return e==="light"?{"--w3m-accent":t?.["--w3m-accent"]||"hsla(231, 100%, 70%, 1)","--w3m-background":"#fff"}:{"--w3m-accent":t?.["--w3m-accent"]||"hsla(230, 100%, 67%, 1)","--w3m-background":"#121313"}}typeof $.process$1<"u"&&typeof $.process$1.env<"u"&&$.process$1.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN;const Ka=[{label:"Coinbase",name:"coinbase",feeRange:"1-2%",url:"",supportedChains:["eip155"]},{label:"Meld.io",name:"meld",feeRange:"1-2%",url:"https://meldcrypto.com",supportedChains:["eip155","solana"]}],Pl="WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU",be={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,ONE_SEC_MS:1e3,BALANCE_SUPPORTED_CHAINS:["eip155","solana"],NAMES_SUPPORTED_CHAIN_NAMESPACES:["eip155"],NATIVE_TOKEN_ADDRESS:{eip155:"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",solana:"So11111111111111111111111111111111111111111",polkadot:"0x",bip122:"0x",cosmos:"0x"},CONVERT_SLIPPAGE_TOLERANCE:1,CONNECT_LABELS:{MOBILE:"Open and continue in the wallet app"},SEND_SUPPORTED_NAMESPACES:["eip155","solana"],DEFAULT_REMOTE_FEATURES:{swaps:["1inch"],onramp:["coinbase","meld"],email:!0,socials:["google","x","discord","farcaster","github","apple","facebook"],activity:!0,reownBranding:!0},DEFAULT_REMOTE_FEATURES_DISABLED:{email:!1,socials:!1,swaps:!1,onramp:!1,activity:!1,reownBranding:!1},DEFAULT_FEATURES:{receive:!0,send:!0,emailShowWallets:!0,connectorTypeOrder:["walletConnect","recent","injected","featured","custom","external","recommended"],analytics:!0,allWallets:!0,legalCheckbox:!1,smartSessions:!1,collapseWallets:!1,walletFeaturesOrder:["onramp","swaps","receive","send"],connectMethodsOrder:void 0,pay:!1},DEFAULT_ACCOUNT_TYPES:{bip122:"payment",eip155:"smartAccount",polkadot:"eoa",solana:"eoa"},ADAPTER_TYPES:{UNIVERSAL:"universal"}},q={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5},isCacheExpired(t,e){return Date.now()-t>e},getActiveNetworkProps(){const t=q.getActiveNamespace(),e=q.getActiveCaipNetworkId(),s=e?e.split(":")[1]:void 0,r=s?isNaN(Number(s))?s:Number(s):void 0;return{namespace:t,caipNetworkId:e,chainId:r}},setWalletConnectDeepLink({name:t,href:e}){try{ee.setItem(se.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=ee.getItem(se.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{ee.removeItem(se.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{ee.setItem(se.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{ee.setItem(se.ACTIVE_CAIP_NETWORK_ID,t),q.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return ee.getItem(se.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{ee.removeItem(se.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=Ti(t);ee.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=q.getRecentWallets();e.find(r=>r.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),ee.setItem(se.RECENT_WALLETS,JSON.stringify(e)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=ee.getItem(se.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},setConnectedConnectorId(t,e){try{const s=Ti(t);ee.setItem(s,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return ee.getItem(se.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=Ti(t);return ee.getItem(e)}catch{console.info("Unable to get connected connector id in namespace ",t)}},setConnectedSocialProvider(t){try{ee.setItem(se.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return ee.getItem(se.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{ee.removeItem(se.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return ee.getItem(se.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return ee.getItem(se.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(t){try{ee.setItem(se.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return ee.getItem(se.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=ee.getItem(se.CONNECTED_NAMESPACES);return t?.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));ee.setItem(se.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=q.getConnectedNamespaces();e.includes(t)||(e.push(t),q.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=q.getConnectedNamespaces(),s=e.indexOf(t);s>-1&&(e.splice(s,1),q.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return ee.getItem(se.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{ee.setItem(se.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{ee.removeItem(se.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=ee.getItem(se.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=q.getBalanceCache();ee.setItem(se.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const s=q.getBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.portfolio))return s.balance;q.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=q.getBalanceCache();e[t.caipAddress]=t,ee.setItem(se.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=ee.getItem(se.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=q.getBalanceCache();ee.setItem(se.NATIVE_BALANCE_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getNativeBalanceCacheForCaipAddress(t){try{const s=q.getNativeBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.nativeBalance))return s;console.info("Discarding cache for address",t),q.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=q.getNativeBalanceCache();e[t.caipAddress]=t,ee.setItem(se.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=ee.getItem(se.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const s=q.getEnsCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.ens))return s.ens;q.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=q.getEnsCache();e[t.address]=t,ee.setItem(se.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=q.getEnsCache();ee.setItem(se.ENS_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove ens name from cache",t)}},getIdentityCache(){let t={};try{const e=ee.getItem(se.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const s=q.getIdentityCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.identity))return s.identity;q.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=q.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},ee.setItem(se.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=q.getIdentityCache();ee.setItem(se.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},clearAddressCache(){try{ee.removeItem(se.PORTFOLIO_CACHE),ee.removeItem(se.NATIVE_BALANCE_CACHE),ee.removeItem(se.ENS_CACHE),ee.removeItem(se.IDENTITY_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{ee.setItem(se.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=ee.getItem(se.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const s={...q.getConnections(),[e]:t};ee.setItem(se.CONNECTIONS,JSON.stringify(s))}catch(s){console.error("Unable to sync connections to storage",s)}},getConnections(){try{const t=ee.getItem(se.CONNECTIONS);return t?JSON.parse(t):{}}catch(t){return console.error("Unable to get connections from storage",t),{}}}},Z={isMobile(){return this.isClient()?!!(typeof window?.matchMedia=="function"&&window?.matchMedia("(pointer:coarse)")?.matches||/Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)):!1},checkCaipNetwork(t,e=""){return t?.caipNetworkId.toLocaleLowerCase().includes(e.toLowerCase())},isAndroid(){if(!this.isMobile())return!1;const t=window?.navigator.userAgent.toLowerCase();return Z.isMobile()&&t.includes("android")},isIos(){if(!this.isMobile())return!1;const t=window?.navigator.userAgent.toLowerCase();return t.includes("iphone")||t.includes("ipad")},isSafari(){return this.isClient()?(window?.navigator.userAgent.toLowerCase()).includes("safari"):!1},isClient(){return typeof window<"u"},isPairingExpired(t){return t?t-Date.now()<=be.TEN_SEC_MS:!0},isAllowedRetry(t,e=be.ONE_SEC_MS){return Date.now()-t>=e},copyToClopboard(t){navigator.clipboard.writeText(t)},isIframe(){try{return window?.self!==window?.top}catch{return!1}},isSafeApp(){if(Z.isClient()&&window.self!==window.top)try{const t=window?.location?.ancestorOrigins?.[0],e="https://app.safe.global";if(t){const s=new URL(t),r=new URL(e);return s.hostname===r.hostname}}catch{return!1}return!1},getPairingExpiry(){return Date.now()+be.FOUR_MINUTES_MS},getNetworkId(t){return t?.split(":")[1]},getPlainAddress(t){return t?.split(":")[2]},async wait(t){return new Promise(e=>{setTimeout(e,t)})},debounce(t,e=500){let s;return(...r)=>{function i(){t(...r)}s&&clearTimeout(s),s=setTimeout(i,e)}},isHttpUrl(t){return t.startsWith("http://")||t.startsWith("https://")},formatNativeUrl(t,e,s=null){if(Z.isHttpUrl(t))return this.formatUniversalUrl(t,e);let r=t,i=s;r.includes("://")||(r=t.replaceAll("/","").replaceAll(":",""),r=`${r}://`),r.endsWith("/")||(r=`${r}/`),i&&!i?.endsWith("/")&&(i=`${i}/`),this.isTelegram()&&this.isAndroid()&&(e=encodeURIComponent(e));const n=encodeURIComponent(e);return{redirect:`${r}wc?uri=${n}`,redirectUniversalLink:i?`${i}wc?uri=${n}`:void 0,href:r}},formatUniversalUrl(t,e){if(!Z.isHttpUrl(t))return this.formatNativeUrl(t,e);let s=t;s.endsWith("/")||(s=`${s}/`);const r=encodeURIComponent(e);return{redirect:`${s}wc?uri=${r}`,href:s}},getOpenTargetForPlatform(t){return t==="popupWindow"?t:this.isTelegram()?q.getTelegramSocialProvider()?"_top":"_blank":t},openHref(t,e,s){window?.open(t,this.getOpenTargetForPlatform(e),s||"noreferrer noopener")},returnOpenHref(t,e,s){return window?.open(t,this.getOpenTargetForPlatform(e),s||"noreferrer noopener")},isTelegram(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)},isPWA(){if(typeof window>"u")return!1;const t=window.matchMedia?.("(display-mode: standalone)")?.matches,e=window?.navigator?.standalone;return!!(t||e)},async preloadImage(t){const e=new Promise((s,r)=>{const i=new Image;i.onload=s,i.onerror=r,i.crossOrigin="anonymous",i.src=t});return Promise.race([e,Z.wait(2e3)])},formatBalance(t,e){let s="0.000";if(typeof t=="string"){const r=Number(t);if(r){const i=Math.floor(r*1e3)/1e3;i&&(s=i.toString())}}return`${s}${e?` ${e}`:""}`},formatBalance2(t,e){let s;if(t==="0")s="0";else if(typeof t=="string"){const r=Number(t);r&&(s=r.toString().match(/^-?\d+(?:\.\d{0,3})?/u)?.[0])}return{value:s??"0",rest:s==="0"?"000":"",symbol:e}},getApiUrl(){return H.W3M_API_URL},getBlockchainApiUrl(){return H.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return H.PULSE_API_URL},getUUID(){return crypto?.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})},parseError(t){return typeof t=="string"?t:typeof t?.issues?.[0]?.message=="string"?t.issues[0].message:t instanceof Error?t.message:"Unknown error"},sortRequestedNetworks(t,e=[]){const s={};return e&&t&&(t.forEach((r,i)=>{s[r]=i}),e.sort((r,i)=>{const n=s[r.id],o=s[i.id];return n!==void 0&&o!==void 0?n-o:n!==void 0?-1:o!==void 0?1:0})),e},calculateBalance(t){let e=0;for(const s of t)e+=s.value??0;return e},formatTokenBalance(t){const e=t.toFixed(2),[s,r]=e.split(".");return{dollars:s,pennies:r}},isAddress(t,e="eip155"){switch(e){case"eip155":if(/^(?:0x)?[0-9a-f]{40}$/iu.test(t)){if(/^(?:0x)?[0-9a-f]{40}$/iu.test(t)||/^(?:0x)?[0-9A-F]{40}$/iu.test(t))return!0}else return!1;return!1;case"solana":return/[1-9A-HJ-NP-Za-km-z]{32,44}$/iu.test(t);default:return!1}},uniqueBy(t,e){const s=new Set;return t.filter(r=>{const i=r[e];return s.has(i)?!1:(s.add(i),!0)})},generateSdkVersion(t,e,s){const i=t.length===0?be.ADAPTER_TYPES.UNIVERSAL:t.map(n=>n.adapterType).join(",");return`${e}-${i}-${s}`},createAccount(t,e,s,r,i){return{namespace:t,address:e,type:s,publicKey:r,path:i}},isCaipAddress(t){if(typeof t!="string")return!1;const e=t.split(":"),s=e[0];return e.filter(Boolean).length===3&&s in H.CHAIN_NAME_MAP},isMac(){const t=window?.navigator.userAgent.toLowerCase();return t.includes("macintosh")&&!t.includes("safari")},formatTelegramSocialLoginUrl(t){const e=`--${encodeURIComponent(window?.location.href)}`,s="state=";if(new URL(t).host==="auth.magic.link"){const i="provider_authorization_url=",n=t.substring(t.indexOf(i)+i.length),o=this.injectIntoUrl(decodeURIComponent(n),s,e);return t.replace(n,encodeURIComponent(o))}return this.injectIntoUrl(t,s,e)},injectIntoUrl(t,e,s){const r=t.indexOf(e);if(r===-1)throw new Error(`${e} parameter not found in the URL: ${t}`);const i=t.indexOf("&",r),n=e.length,o=i!==-1?i:t.length,a=t.substring(0,r+n),c=t.substring(r+n,o),l=t.substring(i),u=c+s;return a+u+l}};async function mr(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class qr{constructor({baseUrl:e,clientId:s}){this.baseUrl=e,this.clientId=s}async get({headers:e,signal:s,cache:r,...i}){const n=this.createUrl(i);return(await mr(n,{method:"GET",headers:e,signal:s,cache:r})).json()}async getBlob({headers:e,signal:s,...r}){const i=this.createUrl(r);return(await mr(i,{method:"GET",headers:e,signal:s})).blob()}async post({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await mr(n,{method:"POST",headers:s,body:e?JSON.stringify(e):void 0,signal:r})).json()}async put({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await mr(n,{method:"PUT",headers:s,body:e?JSON.stringify(e):void 0,signal:r})).json()}async delete({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await mr(n,{method:"DELETE",headers:s,body:e?JSON.stringify(e):void 0,signal:r})).json()}createUrl({path:e,params:s}){const r=new URL(e,this.baseUrl);return s&&Object.entries(s).forEach(([i,n])=>{n&&r.searchParams.append(i,n)}),this.clientId&&r.searchParams.append("clientId",this.clientId),r}}const kl={getFeatureValue(t,e){const s=e?.[t];return s===void 0?be.DEFAULT_FEATURES[t]:s},filterSocialsByPlatform(t){if(!t||!t.length)return t;if(Z.isTelegram()){if(Z.isIos())return t.filter(e=>e!=="google");if(Z.isMac())return t.filter(e=>e!=="x");if(Z.isAndroid())return t.filter(e=>!["facebook","x"].includes(e))}return t}},K=P.proxy({features:be.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:be.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{}}),N={state:K,subscribeKey(t,e){return P.subscribeKey(K,t,e)},setOptions(t){Object.assign(K,t)},setRemoteFeatures(t){if(!t)return;const e={...K.remoteFeatures,...t};K.remoteFeatures=e,K.remoteFeatures?.socials&&(K.remoteFeatures.socials=kl.filterSocialsByPlatform(K.remoteFeatures.socials))},setFeatures(t){if(!t)return;K.features||(K.features=be.DEFAULT_FEATURES);const e={...K.features,...t};K.features=e},setProjectId(t){K.projectId=t},setCustomRpcUrls(t){K.customRpcUrls=t},setAllWallets(t){K.allWallets=t},setIncludeWalletIds(t){K.includeWalletIds=t},setExcludeWalletIds(t){K.excludeWalletIds=t},setFeaturedWalletIds(t){K.featuredWalletIds=t},setTokens(t){K.tokens=t},setTermsConditionsUrl(t){K.termsConditionsUrl=t},setPrivacyPolicyUrl(t){K.privacyPolicyUrl=t},setCustomWallets(t){K.customWallets=t},setIsSiweEnabled(t){K.isSiweEnabled=t},setIsUniversalProvider(t){K.isUniversalProvider=t},setSdkVersion(t){K.sdkVersion=t},setMetadata(t){K.metadata=t},setDisableAppend(t){K.disableAppend=t},setEIP6963Enabled(t){K.enableEIP6963=t},setDebug(t){K.debug=t},setEnableWalletConnect(t){K.enableWalletConnect=t},setEnableWalletGuide(t){K.enableWalletGuide=t},setEnableAuthLogger(t){K.enableAuthLogger=t},setEnableWallets(t){K.enableWallets=t},setPreferUniversalLinks(t){K.experimental_preferUniversalLinks=t},setHasMultipleAddresses(t){K.hasMultipleAddresses=t},setSIWX(t){K.siwx=t},setConnectMethodsOrder(t){K.features={...K.features,connectMethodsOrder:t}},setWalletFeaturesOrder(t){K.features={...K.features,walletFeaturesOrder:t}},setSocialsOrder(t){K.remoteFeatures={...K.remoteFeatures,socials:t}},setCollapseWallets(t){K.features={...K.features,collapseWallets:t}},setEnableEmbedded(t){K.enableEmbedded=t},setAllowUnsupportedChain(t){K.allowUnsupportedChain=t},setManualWCControl(t){K.manualWCControl=t},setEnableNetworkSwitch(t){K.enableNetworkSwitch=t},setDefaultAccountTypes(t={}){Object.entries(t).forEach(([e,s])=>{s&&(K.defaultAccountTypes[e]=s)})},setUniversalProviderConfigOverride(t){K.universalProviderConfigOverride=t},getUniversalProviderConfigOverride(){return K.universalProviderConfigOverride},getSnapshot(){return P.snapshot(K)}},Tl=Object.freeze({enabled:!0,events:[]}),Ol=new qr({baseUrl:Z.getAnalyticsUrl(),clientId:null}),xl=5,Rl=60*1e3,Jt=P.proxy({...Tl}),$l={state:Jt,subscribeKey(t,e){return P.subscribeKey(Jt,t,e)},async sendError(t,e){if(!Jt.enabled)return;const s=Date.now();if(Jt.events.filter(n=>{const o=new Date(n.properties.timestamp||"").getTime();return s-o<Rl}).length>=xl)return;const i={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};Jt.events.push(i);try{if(typeof window>"u")return;const{projectId:n,sdkType:o,sdkVersion:a}=N.state;await Ol.post({path:"/e",params:{projectId:n,st:o,sv:a||"html-wagmi-4.2.2"},body:{eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:new Date().toISOString(),props:{type:"error",event:e,errorType:t.name,errorMessage:t.message,stackTrace:t.stack}}})}catch{}},enable(){Jt.enabled=!0},disable(){Jt.enabled=!1},clearEvents(){Jt.events=[]}};class sr extends Error{constructor(e,s,r){super(e),this.name="AppKitError",this.category=s,this.originalError=r,Object.setPrototypeOf(this,sr.prototype);let i=!1;if(r instanceof Error&&typeof r.stack=="string"&&r.stack){const n=r.stack,o=n.indexOf(`
|
|
2
2
|
`);if(o>-1){const a=n.substring(o+1);this.stack=`${this.name}: ${this.message}
|
|
3
3
|
${a}`,i=!0}}i||(Error.captureStackTrace?Error.captureStackTrace(this,sr):this.stack||(this.stack=`${this.name}: ${this.message}`))}}function Qn(t,e){const s=t instanceof sr?t:new sr(t instanceof Error?t.message:String(t),e,t);throw $l.sendError(s,s.category),s}function at(t,e="INTERNAL_SDK_ERROR"){const s={};return Object.keys(t).forEach(r=>{const i=t[r];if(typeof i=="function"){let n=i;i.constructor.name==="AsyncFunction"?n=async(...o)=>{try{return await i(...o)}catch(a){return Qn(a,e)}}:n=(...o)=>{try{return i(...o)}catch(a){return Qn(a,e)}},s[r]=n}else s[r]=i}),s}const Rt={PHANTOM:{id:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",url:"https://phantom.app"},SOLFLARE:{id:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",url:"https://solflare.com"},COINBASE:{id:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",url:"https://go.cb-w.com"}},Ul={handleMobileDeeplinkRedirect(t,e){const s=window.location.href,r=encodeURIComponent(s);if(t===Rt.PHANTOM.id&&!("phantom"in window)){const i=s.startsWith("https")?"https":"http",n=s.split("/")[2],o=encodeURIComponent(`${i}://${n}`);window.location.href=`${Rt.PHANTOM.url}/ul/browse/${r}?ref=${o}`}t===Rt.SOLFLARE.id&&!("solflare"in window)&&(window.location.href=`${Rt.SOLFLARE.url}/ul/v1/browse/${r}?ref=${r}`),e===H.CHAIN.SOLANA&&t===Rt.COINBASE.id&&!("coinbaseSolana"in window)&&(window.location.href=`${Rt.COINBASE.url}/dapp?cb_url=${r}`)}},ct=P.proxy({walletImages:{},networkImages:{},chainImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),Dl={state:ct,subscribeNetworkImages(t){return P.subscribe(ct.networkImages,()=>t(ct.networkImages))},subscribeKey(t,e){return P.subscribeKey(ct,t,e)},subscribe(t){return P.subscribe(ct,()=>t(ct))},setWalletImage(t,e){ct.walletImages[t]=e},setNetworkImage(t,e){ct.networkImages[t]=e},setChainImage(t,e){ct.chainImages[t]=e},setConnectorImage(t,e){ct.connectorImages={...ct.connectorImages,[t]:e}},setTokenImage(t,e){ct.tokenImages[t]=e},setCurrencyImage(t,e){ct.currencyImages[t]=e}},vt=at(Dl),Ll={eip155:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",solana:"a1b58899-f671-4276-6a5e-56ca5bd59700",polkadot:"",bip122:"0b4838db-0161-4ffe-022d-532bf03dba00",cosmos:""},Oi=P.proxy({networkImagePromises:{}}),jn={async fetchWalletImage(t){if(t)return await V._fetchWalletImage(t),this.getWalletImageById(t)},async fetchNetworkImage(t){if(!t)return;const e=this.getNetworkImageById(t);return e||(Oi.networkImagePromises[t]||(Oi.networkImagePromises[t]=V._fetchNetworkImage(t)),await Oi.networkImagePromises[t],this.getNetworkImageById(t))},getWalletImageById(t){if(t)return vt.state.walletImages[t]},getWalletImage(t){if(t?.image_url)return t?.image_url;if(t?.image_id)return vt.state.walletImages[t.image_id]},getNetworkImage(t){if(t?.assets?.imageUrl)return t?.assets?.imageUrl;if(t?.assets?.imageId)return vt.state.networkImages[t.assets.imageId]},getNetworkImageById(t){if(t)return vt.state.networkImages[t]},getConnectorImage(t){if(t?.imageUrl)return t.imageUrl;if(t?.imageId)return vt.state.connectorImages[t.imageId]},getChainImage(t){return vt.state.networkImages[Ll[t]]}},Yt=P.proxy({message:"",variant:"info",open:!1}),Fl={state:Yt,subscribeKey(t,e){return P.subscribeKey(Yt,t,e)},open(t,e){const{debug:s}=N.state,{shortMessage:r,longMessage:i}=t;s&&(Yt.message=r,Yt.variant=e,Yt.open=!0),i&&console.error(typeof i=="function"?i():i)},close(){Yt.open=!1,Yt.message="",Yt.variant="info"}},ts=at(Fl),jl=Z.getAnalyticsUrl(),Bl=new qr({baseUrl:jl,clientId:null}),Ml=["MODAL_CREATED"],jt=P.proxy({timestamp:Date.now(),reportedErrors:{},data:{type:"track",event:"MODAL_CREATED"}}),_e={state:jt,subscribe(t){return P.subscribe(jt,()=>t(jt))},getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=N.state;return{projectId:t,st:e,sv:s||"html-wagmi-4.2.2"}},async _sendAnalyticsEvent(t){try{const e=W.state.address;if(Ml.includes(t.data.event)||typeof window>"u")return;await Bl.post({path:"/e",params:_e.getSdkProperties(),body:{eventId:Z.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:t.timestamp,props:{...t.data,address:e}}}),jt.reportedErrors.FORBIDDEN=!1}catch(e){e instanceof Error&&e.cause instanceof Response&&e.cause.status===H.HTTP_STATUS_CODES.FORBIDDEN&&!jt.reportedErrors.FORBIDDEN&&(ts.open({shortMessage:"Invalid App Configuration",longMessage:`Origin ${Ir()?window.origin:"uknown"} not found on Allowlist - update configuration on cloud.reown.com`},"error"),jt.reportedErrors.FORBIDDEN=!0)}},sendEvent(t){jt.timestamp=Date.now(),jt.data=t,N.state.features?.analytics&&_e._sendAnalyticsEvent(jt)}},ql=Z.getApiUrl(),Qe=new qr({baseUrl:ql,clientId:null}),Wl=40,eo=4,zl=20,re=P.proxy({promises:{},page:1,count:0,featured:[],allFeatured:[],recommended:[],allRecommended:[],wallets:[],filteredWallets:[],search:[],isAnalyticsEnabled:!1,excludedWallets:[],isFetchingRecommendedWallets:!1}),V={state:re,subscribeKey(t,e){return P.subscribeKey(re,t,e)},_getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=N.state;return{projectId:t,st:e||"appkit",sv:s||"html-wagmi-4.2.2"}},_filterOutExtensions(t){return N.state.isUniversalProvider?t.filter(e=>!!(e.mobile_link||e.desktop_link||e.webapp_link)):t},async _fetchWalletImage(t){const e=`${Qe.baseUrl}/getWalletImage/${t}`,s=await Qe.getBlob({path:e,params:V._getSdkProperties()});vt.setWalletImage(t,URL.createObjectURL(s))},async _fetchNetworkImage(t){const e=`${Qe.baseUrl}/public/getAssetImage/${t}`,s=await Qe.getBlob({path:e,params:V._getSdkProperties()});vt.setNetworkImage(t,URL.createObjectURL(s))},async _fetchConnectorImage(t){const e=`${Qe.baseUrl}/public/getAssetImage/${t}`,s=await Qe.getBlob({path:e,params:V._getSdkProperties()});vt.setConnectorImage(t,URL.createObjectURL(s))},async _fetchCurrencyImage(t){const e=`${Qe.baseUrl}/public/getCurrencyImage/${t}`,s=await Qe.getBlob({path:e,params:V._getSdkProperties()});vt.setCurrencyImage(t,URL.createObjectURL(s))},async _fetchTokenImage(t){const e=`${Qe.baseUrl}/public/getTokenImage/${t}`,s=await Qe.getBlob({path:e,params:V._getSdkProperties()});vt.setTokenImage(t,URL.createObjectURL(s))},_filterWalletsByPlatform(t){return Z.isMobile()?t?.filter(s=>s.mobile_link||s.id===Rt.COINBASE.id?!0:p.state.activeChain==="solana"&&(s.id===Rt.SOLFLARE.id||s.id===Rt.PHANTOM.id)):t},async fetchProjectConfig(){return(await Qe.get({path:"/appkit/v1/config",params:V._getSdkProperties()})).features},async fetchAllowedOrigins(){try{const{allowedOrigins:t}=await Qe.get({path:"/projects/v1/origins",params:V._getSdkProperties()});return t}catch{return[]}},async fetchNetworkImages(){const e=p.getAllRequestedCaipNetworks()?.map(({assets:s})=>s?.imageId).filter(Boolean).filter(s=>!jn.getNetworkImageById(s));e&&await Promise.allSettled(e.map(s=>V._fetchNetworkImage(s)))},async fetchConnectorImages(){const{connectors:t}=j.state,e=t.map(({imageId:s})=>s).filter(Boolean);await Promise.allSettled(e.map(s=>V._fetchConnectorImage(s)))},async fetchCurrencyImages(t=[]){await Promise.allSettled(t.map(e=>V._fetchCurrencyImage(e)))},async fetchTokenImages(t=[]){await Promise.allSettled(t.map(e=>V._fetchTokenImage(e)))},async fetchWallets(t){const e=t.exclude??[];V._getSdkProperties().sv.startsWith("html-core-")&&e.push(...Object.values(Rt).map(n=>n.id));const r=await Qe.get({path:"/getWallets",params:{...V._getSdkProperties(),...t,page:String(t.page),entries:String(t.entries),include:t.include?.join(","),exclude:e.join(",")}});return{data:V._filterWalletsByPlatform(r?.data)||[],count:r?.count}},async fetchFeaturedWallets(){const{featuredWalletIds:t}=N.state;if(t?.length){const e={...V._getSdkProperties(),page:1,entries:t?.length??eo,include:t},{data:s}=await V.fetchWallets(e),r=[...s].sort((n,o)=>t.indexOf(n.id)-t.indexOf(o.id)),i=r.map(n=>n.image_id).filter(Boolean);await Promise.allSettled(i.map(n=>V._fetchWalletImage(n))),re.featured=r,re.allFeatured=r}},async fetchRecommendedWallets(){try{re.isFetchingRecommendedWallets=!0;const{includeWalletIds:t,excludeWalletIds:e,featuredWalletIds:s}=N.state,r=[...e??[],...s??[]].filter(Boolean),i=p.getRequestedCaipNetworkIds().join(","),n={page:1,entries:eo,include:t,exclude:r,chains:i},{data:o,count:a}=await V.fetchWallets(n),c=q.getRecentWallets(),l=o.map(h=>h.image_id).filter(Boolean),u=c.map(h=>h.image_id).filter(Boolean);await Promise.allSettled([...l,...u].map(h=>V._fetchWalletImage(h))),re.recommended=o,re.allRecommended=o,re.count=a??0}catch{}finally{re.isFetchingRecommendedWallets=!1}},async fetchWalletsByPage({page:t}){const{includeWalletIds:e,excludeWalletIds:s,featuredWalletIds:r}=N.state,i=p.getRequestedCaipNetworkIds().join(","),n=[...re.recommended.map(({id:u})=>u),...s??[],...r??[]].filter(Boolean),o={page:t,entries:Wl,include:e,exclude:n,chains:i},{data:a,count:c}=await V.fetchWallets(o),l=a.slice(0,zl).map(u=>u.image_id).filter(Boolean);await Promise.allSettled(l.map(u=>V._fetchWalletImage(u))),re.wallets=Z.uniqueBy([...re.wallets,...V._filterOutExtensions(a)],"id").filter(u=>u.chains?.some(h=>i.includes(h))),re.count=c>re.count?c:re.count,re.page=t},async initializeExcludedWallets({ids:t}){const e={page:1,entries:t.length,include:t},{data:s}=await V.fetchWallets(e);s&&s.forEach(r=>{re.excludedWallets.push({rdns:r.rdns,name:r.name})})},async searchWallet({search:t,badge:e}){const{includeWalletIds:s,excludeWalletIds:r}=N.state,i=p.getRequestedCaipNetworkIds().join(",");re.search=[];const n={page:1,entries:100,search:t?.trim(),badge_type:e,include:s,exclude:r,chains:i},{data:o}=await V.fetchWallets(n);_e.sendEvent({type:"track",event:"SEARCH_WALLET",properties:{badge:e??"",search:t??""}});const a=o.map(c=>c.image_id).filter(Boolean);await Promise.allSettled([...a.map(c=>V._fetchWalletImage(c)),Z.wait(300)]),re.search=V._filterOutExtensions(o)},initPromise(t,e){const s=re.promises[t];return s||(re.promises[t]=e())},prefetch({fetchConnectorImages:t=!0,fetchFeaturedWallets:e=!0,fetchRecommendedWallets:s=!0,fetchNetworkImages:r=!0}={}){const i=[t&&V.initPromise("connectorImages",V.fetchConnectorImages),e&&V.initPromise("featuredWallets",V.fetchFeaturedWallets),s&&V.initPromise("recommendedWallets",V.fetchRecommendedWallets),r&&V.initPromise("networkImages",V.fetchNetworkImages)].filter(Boolean);return Promise.allSettled(i)},prefetchAnalyticsConfig(){N.state.features?.analytics&&V.fetchAnalyticsConfig()},async fetchAnalyticsConfig(){try{const{isAnalyticsEnabled:t}=await Qe.get({path:"/getAnalyticsConfig",params:V._getSdkProperties()});N.setFeatures({analytics:t})}catch{N.setFeatures({analytics:!1})}},filterByNamespaces(t){if(!t?.length){re.featured=re.allFeatured,re.recommended=re.allRecommended;return}const e=p.getRequestedCaipNetworkIds().join(",");re.featured=re.allFeatured.filter(s=>s.chains?.some(r=>e.includes(r))),re.recommended=re.allRecommended.filter(s=>s.chains?.some(r=>e.includes(r))),re.filteredWallets=re.wallets.filter(s=>s.chains?.some(r=>e.includes(r)))},clearFilterByNamespaces(){re.filteredWallets=[]},setFilterByNamespace(t){if(!t){re.featured=re.allFeatured,re.recommended=re.allRecommended;return}const e=p.getRequestedCaipNetworkIds().join(",");re.featured=re.allFeatured.filter(s=>s.chains?.some(r=>e.includes(r))),re.recommended=re.allRecommended.filter(s=>s.chains?.some(r=>e.includes(r))),re.filteredWallets=re.wallets.filter(s=>s.chains?.some(r=>e.includes(r)))}},we=P.proxy({view:"Connect",history:["Connect"],transactionStack:[]}),Hl={state:we,subscribeKey(t,e){return P.subscribeKey(we,t,e)},pushTransactionStack(t){we.transactionStack.push(t)},popTransactionStack(t){const e=we.transactionStack.pop();if(!e)return;const{onSuccess:s,onError:r,onCancel:i}=e;switch(t){case"success":s?.();break;case"error":r?.(),ne.goBack();break;case"cancel":i?.(),ne.goBack();break}},push(t,e){t!==we.view&&(we.view=t,we.history.push(t),we.data=e)},reset(t,e){we.view=t,we.history=[t],we.data=e},replace(t,e){we.history.at(-1)===t||(we.view=t,we.history[we.history.length-1]=t,we.data=e)},goBack(){const t=p.state.activeCaipAddress,e=ne.state.view==="ConnectingFarcaster",s=!t&&e;if(we.history.length>1){we.history.pop();const[r]=we.history.slice(-1);r&&(t&&r==="Connect"?we.view="Account":we.view=r)}else Le.close();we.data?.wallet&&(we.data.wallet=void 0),setTimeout(()=>{if(s){W.setFarcasterUrl(void 0,p.state.activeChain);const r=j.getAuthConnector();r?.provider?.reload();const i=P.snapshot(N.state);r?.provider?.syncDappData?.({metadata:i.metadata,sdkVersion:i.sdkVersion,projectId:i.projectId,sdkType:i.sdkType})}},100)},goBackToIndex(t){if(we.history.length>1){we.history=we.history.slice(0,t+1);const[e]=we.history.slice(-1);e&&(we.view=e)}},goBackOrCloseModal(){ne.state.history.length>1?ne.goBack():Le.close()}},ne=at(Hl),Bt=P.proxy({themeMode:"dark",themeVariables:{},w3mThemeVariables:void 0}),on={state:Bt,subscribe(t){return P.subscribe(Bt,()=>t(Bt))},setThemeMode(t){Bt.themeMode=t;try{const e=j.getAuthConnector();if(e){const s=on.getSnapshot().themeVariables;e.provider.syncTheme({themeMode:t,themeVariables:s,w3mThemeVariables:rs(s,t)})}}catch{console.info("Unable to sync theme to auth connector")}},setThemeVariables(t){Bt.themeVariables={...Bt.themeVariables,...t};try{const e=j.getAuthConnector();if(e){const s=on.getSnapshot().themeVariables;e.provider.syncTheme({themeVariables:s,w3mThemeVariables:rs(Bt.themeVariables,Bt.themeMode)})}}catch{console.info("Unable to sync theme to auth connector")}},getSnapshot(){return P.snapshot(Bt)}},nt=at(on),Ga={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0,cosmos:void 0},le=P.proxy({allConnectors:[],connectors:[],activeConnector:void 0,filterByNamespace:void 0,activeConnectorIds:{...Ga},filterByNamespaceMap:{eip155:!0,solana:!0,polkadot:!0,bip122:!0,cosmos:!0}}),Vl={state:le,subscribe(t){return P.subscribe(le,()=>{t(le)})},subscribeKey(t,e){return P.subscribeKey(le,t,e)},initialize(t){t.forEach(e=>{const s=q.getConnectedConnectorId(e);s&&j.setConnectorId(s,e)})},setActiveConnector(t){t&&(le.activeConnector=P.ref(t))},setConnectors(t){t.filter(i=>!le.allConnectors.some(n=>n.id===i.id&&j.getConnectorName(n.name)===j.getConnectorName(i.name)&&n.chain===i.chain)).forEach(i=>{i.type!=="MULTI_CHAIN"&&le.allConnectors.push(P.ref(i))});const s=j.getEnabledNamespaces(),r=j.getEnabledConnectors(s);le.connectors=j.mergeMultiChainConnectors(r)},filterByNamespaces(t){Object.keys(le.filterByNamespaceMap).forEach(e=>{le.filterByNamespaceMap[e]=!1}),t.forEach(e=>{le.filterByNamespaceMap[e]=!0}),j.updateConnectorsForEnabledNamespaces()},filterByNamespace(t,e){le.filterByNamespaceMap[t]=e,j.updateConnectorsForEnabledNamespaces()},updateConnectorsForEnabledNamespaces(){const t=j.getEnabledNamespaces(),e=j.getEnabledConnectors(t),s=j.areAllNamespacesEnabled();le.connectors=j.mergeMultiChainConnectors(e),s?V.clearFilterByNamespaces():V.filterByNamespaces(t)},getEnabledNamespaces(){return Object.entries(le.filterByNamespaceMap).filter(([t,e])=>e).map(([t])=>t)},getEnabledConnectors(t){return le.allConnectors.filter(e=>t.includes(e.chain))},areAllNamespacesEnabled(){return Object.values(le.filterByNamespaceMap).every(t=>t)},mergeMultiChainConnectors(t){const e=j.generateConnectorMapByName(t),s=[];return e.forEach(r=>{const i=r[0],n=i?.id===H.CONNECTOR_ID.AUTH;r.length>1&&i?s.push({name:i.name,imageUrl:i.imageUrl,imageId:i.imageId,connectors:[...r],type:n?"AUTH":"MULTI_CHAIN",chain:"eip155",id:i?.id||""}):i&&s.push(i)}),s},generateConnectorMapByName(t){const e=new Map;return t.forEach(s=>{const{name:r}=s,i=j.getConnectorName(r);if(!i)return;const n=e.get(i)||[];n.find(a=>a.chain===s.chain)||n.push(s),e.set(i,n)}),e},getConnectorName(t){return t&&({"Trust Wallet":"Trust"}[t]||t)},getUniqueConnectorsByName(t){const e=[];return t.forEach(s=>{e.find(r=>r.chain===s.chain)||e.push(s)}),e},addConnector(t){if(t.id===H.CONNECTOR_ID.AUTH){const e=t,s=P.snapshot(N.state),r=nt.getSnapshot().themeMode,i=nt.getSnapshot().themeVariables;e?.provider?.syncDappData?.({metadata:s.metadata,sdkVersion:s.sdkVersion,projectId:s.projectId,sdkType:s.sdkType}),e?.provider?.syncTheme({themeMode:r,themeVariables:i,w3mThemeVariables:rs(i,r)}),j.setConnectors([t])}else j.setConnectors([t])},getAuthConnector(t){const e=t||p.state.activeChain,s=le.connectors.find(r=>r.id===H.CONNECTOR_ID.AUTH);if(s)return s?.connectors?.length?s.connectors.find(i=>i.chain===e):s},getAnnouncedConnectorRdns(){return le.connectors.filter(t=>t.type==="ANNOUNCED").map(t=>t.info?.rdns)},getConnectorById(t){return le.allConnectors.find(e=>e.id===t)},getConnector(t,e){return le.allConnectors.filter(r=>r.chain===p.state.activeChain).find(r=>r.explorerId===t||r.info?.rdns===e)},syncIfAuthConnector(t){if(t.id!=="ID_AUTH")return;const e=t,s=P.snapshot(N.state),r=nt.getSnapshot().themeMode,i=nt.getSnapshot().themeVariables;e?.provider?.syncDappData?.({metadata:s.metadata,sdkVersion:s.sdkVersion,sdkType:s.sdkType,projectId:s.projectId}),e.provider.syncTheme({themeMode:r,themeVariables:i,w3mThemeVariables:rs(i,r)})},getConnectorsByNamespace(t){const e=le.allConnectors.filter(s=>s.chain===t);return j.mergeMultiChainConnectors(e)},selectWalletConnector(t){const e=j.getConnector(t.id,t.rdns),s=p.state.activeChain;Ul.handleMobileDeeplinkRedirect(e?.explorerId||t.id,s),e?ne.push("ConnectingExternal",{connector:e}):ne.push("ConnectingWalletConnect",{wallet:t})},getConnectors(t){return t?j.getConnectorsByNamespace(t):j.mergeMultiChainConnectors(le.allConnectors)},setFilterByNamespace(t){le.filterByNamespace=t,le.connectors=j.getConnectors(t),V.setFilterByNamespace(t)},setConnectorId(t,e){t&&(le.activeConnectorIds={...le.activeConnectorIds,[e]:t},q.setConnectedConnectorId(e,t))},removeConnectorId(t){le.activeConnectorIds={...le.activeConnectorIds,[t]:void 0},q.deleteConnectedConnectorId(t)},getConnectorId(t){if(t)return le.activeConnectorIds[t]},isConnected(t){return t?!!le.activeConnectorIds[t]:Object.values(le.activeConnectorIds).some(e=>!!e)},resetConnectorIds(){le.activeConnectorIds={...Ga}}},j=at(Vl),Kl="https://secure.walletconnect.org/sdk";typeof $.process$1<"u"&&typeof $.process$1.env<"u"&&$.process$1.env.NEXT_PUBLIC_SECURE_SITE_SDK_URL;typeof $.process$1<"u"&&typeof $.process$1.env<"u"&&$.process$1.env.NEXT_PUBLIC_DEFAULT_LOG_LEVEL;typeof $.process$1<"u"&&typeof $.process$1.env<"u"&&$.process$1.env.NEXT_PUBLIC_SECURE_SITE_SDK_VERSION;const Pr={ACCOUNT_TYPES:{SMART_ACCOUNT:"smartAccount"}},ms=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),Ue=P.proxy({...ms}),Gl={state:Ue,subscribeKey(t,e){return P.subscribeKey(Ue,t,e)},showLoading(t,e={}){this._showMessage({message:t,variant:"loading",...e})},showSuccess(t){this._showMessage({message:t,variant:"success"})},showSvg(t,e){this._showMessage({message:t,svg:e})},showError(t){const e=Z.parseError(t);this._showMessage({message:e,variant:"error"})},hide(){Ue.message=ms.message,Ue.variant=ms.variant,Ue.svg=ms.svg,Ue.open=ms.open,Ue.autoClose=ms.autoClose},_showMessage({message:t,svg:e,variant:s="success",autoClose:r=ms.autoClose}){Ue.open?(Ue.open=!1,setTimeout(()=>{Ue.message=t,Ue.variant=s,Ue.svg=e,Ue.open=!0,Ue.autoClose=r},150)):(Ue.message=t,Ue.variant=s,Ue.svg=e,Ue.open=!0,Ue.autoClose=r)}},Et=Gl,Ie=P.proxy({transactions:[],coinbaseTransactions:{},transactionsByYear:{},lastNetworkInView:void 0,loading:!1,empty:!1,next:void 0}),Jl={state:Ie,subscribe(t){return P.subscribe(Ie,()=>t(Ie))},setLastNetworkInView(t){Ie.lastNetworkInView=t},async fetchTransactions(t,e){if(!t)throw new Error("Transactions can't be fetched without an accountAddress");Ie.loading=!0;try{const s=await X.fetchTransactions({account:t,cursor:Ie.next,onramp:e,cache:e==="coinbase"?"no-cache":void 0,chainId:p.state.activeCaipNetwork?.caipNetworkId}),r=Nr.filterSpamTransactions(s.data),i=Nr.filterByConnectedChain(r),n=[...Ie.transactions,...i];Ie.loading=!1,e==="coinbase"?Ie.coinbaseTransactions=Nr.groupTransactionsByYearAndMonth(Ie.coinbaseTransactions,s.data):(Ie.transactions=n,Ie.transactionsByYear=Nr.groupTransactionsByYearAndMonth(Ie.transactionsByYear,i)),Ie.empty=n.length===0,Ie.next=s.next?s.next:void 0}catch{const r=p.state.activeChain;_e.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:t,projectId:N.state.projectId,cursor:Ie.next,isSmartAccount:W.state.preferredAccountTypes?.[r]===Pr.ACCOUNT_TYPES.SMART_ACCOUNT}}),Et.showError("Failed to fetch transactions"),Ie.loading=!1,Ie.empty=!0,Ie.next=void 0}},groupTransactionsByYearAndMonth(t={},e=[]){const s=t;return e.forEach(r=>{const i=new Date(r.metadata.minedAt).getFullYear(),n=new Date(r.metadata.minedAt).getMonth(),o=s[i]??{},c=(o[n]??[]).filter(l=>l.id!==r.id);s[i]={...o,[n]:[...c,r].sort((l,u)=>new Date(u.metadata.minedAt).getTime()-new Date(l.metadata.minedAt).getTime())}}),s},filterSpamTransactions(t){return t.filter(e=>!e.transfers.every(r=>r.nft_info?.flags.is_spam===!0))},filterByConnectedChain(t){const e=p.state.activeCaipNetwork?.caipNetworkId;return t.filter(r=>r.metadata.chain===e)},clearCursor(){Ie.next=void 0},resetTransactions(){Ie.transactions=[],Ie.transactionsByYear={},Ie.lastNetworkInView=void 0,Ie.loading=!1,Ie.empty=!1,Ie.next=void 0}},Nr=at(Jl,"API_ERROR"),Ae=P.proxy({connections:new Map,wcError:!1,buffering:!1,status:"disconnected"});let ps;const Yl={state:Ae,subscribeKey(t,e){return P.subscribeKey(Ae,t,e)},_getClient(){return Ae._client},setClient(t){Ae._client=P.ref(t)},async connectWalletConnect(){if(Z.isTelegram()||Z.isSafari()&&Z.isIos()){if(ps){await ps,ps=void 0;return}if(!Z.isPairingExpired(Ae?.wcPairingExpiry)){const t=Ae.wcUri;Ae.wcUri=t;return}ps=J._getClient()?.connectWalletConnect?.().catch(()=>{}),J.state.status="connecting",await ps,ps=void 0,Ae.wcPairingExpiry=void 0,J.state.status="connected"}else await J._getClient()?.connectWalletConnect?.()},async connectExternal(t,e,s=!0){await J._getClient()?.connectExternal?.(t),s&&p.setActiveNamespace(e)},async reconnectExternal(t){await J._getClient()?.reconnectExternal?.(t);const e=t.chain||p.state.activeChain;e&&j.setConnectorId(t.id,e)},async setPreferredAccountType(t,e){Le.setLoading(!0,p.state.activeChain);const s=j.getAuthConnector();s&&(W.setPreferredAccountType(t,e),await s.provider.setPreferredAccount(t),q.setPreferredAccountTypes(W.state.preferredAccountTypes??{[e]:t}),await J.reconnectExternal(s),Le.setLoading(!1,p.state.activeChain),_e.sendEvent({type:"track",event:"SET_PREFERRED_ACCOUNT_TYPE",properties:{accountType:t,network:p.state.activeCaipNetwork?.caipNetworkId||""}}))},async signMessage(t){return J._getClient()?.signMessage(t)},parseUnits(t,e){return J._getClient()?.parseUnits(t,e)},formatUnits(t,e){return J._getClient()?.formatUnits(t,e)},async sendTransaction(t){return J._getClient()?.sendTransaction(t)},async getCapabilities(t){return J._getClient()?.getCapabilities(t)},async grantPermissions(t){return J._getClient()?.grantPermissions(t)},async walletGetAssets(t){return J._getClient()?.walletGetAssets(t)??{}},async estimateGas(t){return J._getClient()?.estimateGas(t)},async writeContract(t){return J._getClient()?.writeContract(t)},async getEnsAddress(t){return J._getClient()?.getEnsAddress(t)},async getEnsAvatar(t){return J._getClient()?.getEnsAvatar(t)},checkInstalled(t){return J._getClient()?.checkInstalled?.(t)||!1},resetWcConnection(){Ae.wcUri=void 0,Ae.wcPairingExpiry=void 0,Ae.wcLinking=void 0,Ae.recentWallet=void 0,Ae.status="disconnected",Nr.resetTransactions(),q.deleteWalletConnectDeepLink()},resetUri(){Ae.wcUri=void 0,Ae.wcPairingExpiry=void 0,ps=void 0},finalizeWcConnection(){const{wcLinking:t,recentWallet:e}=J.state;t&&q.setWalletConnectDeepLink(t),e&&q.setAppKitRecent(e),_e.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:t?"mobile":"qrcode",name:ne.state.data?.wallet?.name||"Unknown"}})},setWcBasic(t){Ae.wcBasic=t},setUri(t){Ae.wcUri=t,Ae.wcPairingExpiry=Z.getPairingExpiry()},setWcLinking(t){Ae.wcLinking=t},setWcError(t){Ae.wcError=t,Ae.buffering=!1},setRecentWallet(t){Ae.recentWallet=t},setBuffering(t){Ae.buffering=t},setStatus(t){Ae.status=t},async disconnect(t){try{await J._getClient()?.disconnect(t)}catch(e){throw new sr("Failed to disconnect","INTERNAL_SDK_ERROR",e)}},setConnections(t,e){Ae.connections.set(e,t)},switchAccount({connection:t,address:e,namespace:s}){if(j.state.activeConnectorIds[s]===t.connectorId){const n=p.state.activeCaipNetwork;if(n){const o=`${s}:${n.id}:${e}`;W.setCaipAddress(o,s)}else console.warn(`No current network found for namespace "${s}"`)}else{const n=j.getConnector(t.connectorId);n?J.connectExternal(n,s):console.warn(`No connector found for namespace "${s}"`)}}},J=at(Yl),Os=P.proxy({loading:!1,open:!1,selectedNetworkId:void 0,activeChain:void 0,initialized:!1}),ns={state:Os,subscribe(t){return P.subscribe(Os,()=>t(Os))},subscribeOpen(t){return P.subscribeKey(Os,"open",t)},set(t){Object.assign(Os,{...Os,...t})}},xi={createBalance(t,e){const s={name:t.metadata.name||"",symbol:t.metadata.symbol||"",decimals:t.metadata.decimals||0,value:t.metadata.value||0,price:t.metadata.price||0,iconUrl:t.metadata.iconUrl||""};return{name:s.name,symbol:s.symbol,chainId:e,address:t.address==="native"?void 0:this.convertAddressToCAIP10Address(t.address,e),value:s.value,price:s.price,quantity:{decimals:s.decimals.toString(),numeric:this.convertHexToBalance({hex:t.balance,decimals:s.decimals})},iconUrl:s.iconUrl}},convertHexToBalance({hex:t,decimals:e}){return Es.formatUnits(BigInt(t),e)},convertAddressToCAIP10Address(t,e){return`${e}:${t}`},createCAIP2ChainId(t,e){return`${e}:${parseInt(t,16)}`},getChainIdHexFromCAIP2ChainId(t){const e=t.split(":");if(e.length<2||!e[1])return"0x0";const s=e[1],r=parseInt(s,10);return isNaN(r)?"0x0":`0x${r.toString(16)}`},isWalletGetAssetsResponse(t){return typeof t!="object"||t===null?!1:Object.values(t).every(e=>Array.isArray(e)&&e.every(s=>this.isValidAsset(s)))},isValidAsset(t){return typeof t=="object"&&t!==null&&typeof t.address=="string"&&typeof t.balance=="string"&&(t.type==="ERC20"||t.type==="NATIVE")&&typeof t.metadata=="object"&&t.metadata!==null&&typeof t.metadata.name=="string"&&typeof t.metadata.symbol=="string"&&typeof t.metadata.decimals=="number"&&typeof t.metadata.price=="number"&&typeof t.metadata.iconUrl=="string"}},to={async getMyTokensWithBalance(t){const e=W.state.address,s=p.state.activeCaipNetwork;if(!e||!s)return[];if(s.chainNamespace==="eip155"){const i=await this.getEIP155Balances(e,s);if(i)return this.filterLowQualityTokens(i)}const r=await X.getBalance(e,s.caipNetworkId,t);return this.filterLowQualityTokens(r.balances)},async getEIP155Balances(t,e){try{const s=xi.getChainIdHexFromCAIP2ChainId(e.caipNetworkId);if(!(await J.getCapabilities(t))?.[s]?.assetDiscovery?.supported)return null;const i=await J.walletGetAssets({account:t,chainFilter:[s]});return xi.isWalletGetAssetsResponse(i)?(i[s]||[]).map(o=>xi.createBalance(o,e.caipNetworkId)):null}catch{return null}},filterLowQualityTokens(t){return t.filter(e=>e.quantity.decimals!=="0")},mapBalancesToSwapTokens(t){return t?.map(e=>({...e,address:e?.address?e.address:p.getActiveNetworkTokenAddress(),decimals:parseInt(e.quantity.decimals,10),logoUri:e.iconUrl,eip2612:!1}))||[]}},me=P.proxy({tokenBalances:[],loading:!1}),Xl={state:me,subscribe(t){return P.subscribe(me,()=>t(me))},subscribeKey(t,e){return P.subscribeKey(me,t,e)},setToken(t){t&&(me.token=P.ref(t))},setTokenAmount(t){me.sendTokenAmount=t},setReceiverAddress(t){me.receiverAddress=t},setReceiverProfileImageUrl(t){me.receiverProfileImageUrl=t},setReceiverProfileName(t){me.receiverProfileName=t},setNetworkBalanceInUsd(t){me.networkBalanceInUSD=t},setLoading(t){me.loading=t},async sendToken(){try{switch(pe.setLoading(!0),p.state.activeCaipNetwork?.chainNamespace){case"eip155":await pe.sendEvmToken();return;case"solana":await pe.sendSolanaToken();return;default:throw new Error("Unsupported chain")}}finally{pe.setLoading(!1)}},async sendEvmToken(){const t=p.state.activeChain,e=W.state.preferredAccountTypes?.[t];if(!pe.state.sendTokenAmount||!pe.state.receiverAddress)throw new Error("An amount and receiver address are required");if(!pe.state.token)throw new Error("A token is required");pe.state.token?.address?(_e.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===Pr.ACCOUNT_TYPES.SMART_ACCOUNT,token:pe.state.token.address,amount:pe.state.sendTokenAmount,network:p.state.activeCaipNetwork?.caipNetworkId||""}}),await pe.sendERC20Token({receiverAddress:pe.state.receiverAddress,tokenAddress:pe.state.token.address,sendTokenAmount:pe.state.sendTokenAmount,decimals:pe.state.token.quantity.decimals})):(_e.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===Pr.ACCOUNT_TYPES.SMART_ACCOUNT,token:pe.state.token.symbol||"",amount:pe.state.sendTokenAmount,network:p.state.activeCaipNetwork?.caipNetworkId||""}}),await pe.sendNativeToken({receiverAddress:pe.state.receiverAddress,sendTokenAmount:pe.state.sendTokenAmount,decimals:pe.state.token.quantity.decimals}))},async fetchTokenBalance(t){me.loading=!0;const e=p.state.activeCaipNetwork?.caipNetworkId,s=p.state.activeCaipNetwork?.chainNamespace,r=p.state.activeCaipAddress,i=r?Z.getPlainAddress(r):void 0;if(me.lastRetry&&!Z.isAllowedRetry(me.lastRetry,30*be.ONE_SEC_MS))return me.loading=!1,[];try{if(i&&e&&s){const n=await to.getMyTokensWithBalance();return me.tokenBalances=n,me.lastRetry=void 0,n}}catch(n){me.lastRetry=Date.now(),t?.(n),Et.showError("Token Balance Unavailable")}finally{me.loading=!1}return[]},fetchNetworkBalance(){if(me.tokenBalances.length===0)return;const t=to.mapBalancesToSwapTokens(me.tokenBalances);if(!t)return;const e=t.find(s=>s.address===p.getActiveNetworkTokenAddress());e&&(me.networkBalanceInUSD=e?Il.multiply(e.quantity.numeric,e.price).toString():"0")},async sendNativeToken(t){ne.pushTransactionStack({});const e=t.receiverAddress,s=W.state.address,r=J.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals));await J.sendTransaction({chainNamespace:"eip155",to:e,address:s,data:"0x",value:r??BigInt(0)}),_e.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:W.state.preferredAccountTypes?.eip155===Pr.ACCOUNT_TYPES.SMART_ACCOUNT,token:pe.state.token?.symbol||"",amount:t.sendTokenAmount,network:p.state.activeCaipNetwork?.caipNetworkId||""}}),J._getClient()?.updateBalance("eip155"),pe.resetSend()},async sendERC20Token(t){ne.pushTransactionStack({onSuccess(){ne.replace("Account")}});const e=J.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals));if(W.state.address&&t.sendTokenAmount&&t.receiverAddress&&t.tokenAddress){const s=Z.getPlainAddress(t.tokenAddress);await J.writeContract({fromAddress:W.state.address,tokenAddress:s,args:[t.receiverAddress,e??BigInt(0)],method:"transfer",abi:_l.getERC20Abi(s),chainNamespace:"eip155"}),pe.resetSend()}},async sendSolanaToken(){if(!pe.state.sendTokenAmount||!pe.state.receiverAddress)throw new Error("An amount and receiver address are required");ne.pushTransactionStack({onSuccess(){ne.replace("Account")}}),await J.sendTransaction({chainNamespace:"solana",to:pe.state.receiverAddress,value:pe.state.sendTokenAmount}),J._getClient()?.updateBalance("solana"),pe.resetSend()},resetSend(){me.token=void 0,me.sendTokenAmount=void 0,me.receiverAddress=void 0,me.receiverProfileImageUrl=void 0,me.receiverProfileName=void 0,me.loading=!1,me.tokenBalances=[]}},pe=at(Xl),Ri={currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[],user:void 0},Zr={caipNetwork:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]},L=P.proxy({chains:P.proxyMap(),activeCaipAddress:void 0,activeChain:void 0,activeCaipNetwork:void 0,noAdapters:!1,universalAdapter:{networkControllerClient:void 0,connectionControllerClient:void 0},isSwitchingNamespace:!1}),Zl={state:L,subscribe(t){return P.subscribe(L,()=>{t(L)})},subscribeKey(t,e){return P.subscribeKey(L,t,e)},subscribeChainProp(t,e,s){let r;return P.subscribe(L.chains,()=>{const i=s||L.activeChain;if(i){const n=L.chains.get(i)?.[t];r!==n&&(r=n,e(n))}})},initialize(t,e,s){const{chainId:r,namespace:i}=q.getActiveNetworkProps(),n=e?.find(u=>u.id.toString()===r?.toString()),a=t.find(u=>u?.namespace===i)||t?.[0],c=t.map(u=>u.namespace).filter(u=>u!==void 0),l=N.state.enableEmbedded?new Set([...c]):new Set([...e?.map(u=>u.chainNamespace)??[]]);(t?.length===0||!a)&&(L.noAdapters=!0),L.noAdapters||(L.activeChain=a?.namespace,L.activeCaipNetwork=n,p.setChainNetworkData(a?.namespace,{caipNetwork:n}),L.activeChain&&ns.set({activeChain:a?.namespace})),l.forEach(u=>{const h=e?.filter(g=>g.chainNamespace===u);p.state.chains.set(u,{namespace:u,networkState:P.proxy({...Zr,caipNetwork:h?.[0]}),accountState:P.proxy(Ri),caipNetworks:h??[],...s}),p.setRequestedCaipNetworks(h??[],u)})},removeAdapter(t){if(L.activeChain===t){const e=Array.from(L.chains.entries()).find(([s])=>s!==t);if(e){const s=e[1]?.caipNetworks?.[0];s&&p.setActiveCaipNetwork(s)}}L.chains.delete(t)},addAdapter(t,{networkControllerClient:e,connectionControllerClient:s},r){L.chains.set(t.namespace,{namespace:t.namespace,networkState:{...Zr,caipNetwork:r[0]},accountState:Ri,caipNetworks:r,connectionControllerClient:s,networkControllerClient:e}),p.setRequestedCaipNetworks(r?.filter(i=>i.chainNamespace===t.namespace)??[],t.namespace)},addNetwork(t){const e=L.chains.get(t.chainNamespace);if(e){const s=[...e.caipNetworks||[]];e.caipNetworks?.find(r=>r.id===t.id)||s.push(t),L.chains.set(t.chainNamespace,{...e,caipNetworks:s}),p.setRequestedCaipNetworks(s,t.chainNamespace),j.filterByNamespace(t.chainNamespace,!0)}},removeNetwork(t,e){const s=L.chains.get(t);if(s){const r=L.activeCaipNetwork?.id===e,i=[...s.caipNetworks?.filter(n=>n.id!==e)||[]];r&&s?.caipNetworks?.[0]&&p.setActiveCaipNetwork(s.caipNetworks[0]),L.chains.set(t,{...s,caipNetworks:i}),p.setRequestedCaipNetworks(i||[],t),i.length===0&&j.filterByNamespace(t,!1)}},setAdapterNetworkState(t,e){const s=L.chains.get(t);s&&(s.networkState={...s.networkState||Zr,...e},L.chains.set(t,s))},setChainAccountData(t,e,s=!0){if(!t)throw new Error("Chain is required to update chain account data");const r=L.chains.get(t);if(r){const i={...r.accountState||Ri,...e};L.chains.set(t,{...r,accountState:i}),(L.chains.size===1||L.activeChain===t)&&(e.caipAddress&&(L.activeCaipAddress=e.caipAddress),W.replaceState(i))}},setChainNetworkData(t,e){if(!t)return;const s=L.chains.get(t);if(s){const r={...s.networkState||Zr,...e};L.chains.set(t,{...s,networkState:r})}},setAccountProp(t,e,s,r=!0){p.setChainAccountData(s,{[t]:e},r),t==="status"&&e==="disconnected"&&s&&j.removeConnectorId(s)},setActiveNamespace(t){L.activeChain=t;const e=t?L.chains.get(t):void 0,s=e?.networkState?.caipNetwork;s?.id&&t&&(L.activeCaipAddress=e?.accountState?.caipAddress,L.activeCaipNetwork=s,p.setChainNetworkData(t,{caipNetwork:s}),q.setActiveCaipNetworkId(s?.caipNetworkId),ns.set({activeChain:t,selectedNetworkId:s?.caipNetworkId}))},setActiveCaipNetwork(t){if(!t)return;L.activeChain!==t.chainNamespace&&p.setIsSwitchingNamespace(!0);const e=L.chains.get(t.chainNamespace);L.activeChain=t.chainNamespace,L.activeCaipNetwork=t,p.setChainNetworkData(t.chainNamespace,{caipNetwork:t}),e?.accountState?.address?L.activeCaipAddress=`${t.chainNamespace}:${t.id}:${e?.accountState?.address}`:L.activeCaipAddress=void 0,p.setAccountProp("caipAddress",L.activeCaipAddress,t.chainNamespace),e&&W.replaceState(e.accountState),pe.resetSend(),ns.set({activeChain:L.activeChain,selectedNetworkId:L.activeCaipNetwork?.caipNetworkId}),q.setActiveCaipNetworkId(t.caipNetworkId),!p.checkIfSupportedNetwork(t.chainNamespace)&&N.state.enableNetworkSwitch&&!N.state.allowUnsupportedChain&&!J.state.wcBasic&&p.showUnsupportedChainUI()},addCaipNetwork(t){if(!t)return;const e=L.chains.get(t.chainNamespace);e&&e?.caipNetworks?.push(t)},async switchActiveNamespace(t){if(!t)return;const e=t!==p.state.activeChain,s=p.getNetworkData(t)?.caipNetwork,r=p.getCaipNetworkByNamespace(t,s?.id);e&&r&&await p.switchActiveNetwork(r)},async switchActiveNetwork(t){const s=!p.state.chains.get(p.state.activeChain)?.caipNetworks?.some(i=>i.id===L.activeCaipNetwork?.id),r=p.getNetworkControllerClient(t.chainNamespace);if(r){try{await r.switchCaipNetwork(t),s&&Le.close()}catch{ne.goBack()}_e.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:t.caipNetworkId}})}},getNetworkControllerClient(t){const e=t||L.activeChain,s=L.chains.get(e);if(!s)throw new Error("Chain adapter not found");if(!s.networkControllerClient)throw new Error("NetworkController client not set");return s.networkControllerClient},getConnectionControllerClient(t){const e=t||L.activeChain;if(!e)throw new Error("Chain is required to get connection controller client");const s=L.chains.get(e);if(!s?.connectionControllerClient)throw new Error("ConnectionController client not set");return s.connectionControllerClient},getAccountProp(t,e){let s=L.activeChain;if(e&&(s=e),!s)return;const r=L.chains.get(s)?.accountState;if(r)return r[t]},getNetworkProp(t,e){const s=L.chains.get(e)?.networkState;if(s)return s[t]},getRequestedCaipNetworks(t){const e=L.chains.get(t),{approvedCaipNetworkIds:s=[],requestedCaipNetworks:r=[]}=e?.networkState||{};return Z.sortRequestedNetworks(s,r)},getAllRequestedCaipNetworks(){const t=[];return L.chains.forEach(e=>{const s=p.getRequestedCaipNetworks(e.namespace);t.push(...s)}),t},setRequestedCaipNetworks(t,e){p.setAdapterNetworkState(e,{requestedCaipNetworks:t});const r=p.getAllRequestedCaipNetworks().map(n=>n.chainNamespace),i=Array.from(new Set(r));j.filterByNamespaces(i)},getAllApprovedCaipNetworkIds(){const t=[];return L.chains.forEach(e=>{const s=p.getApprovedCaipNetworkIds(e.namespace);t.push(...s)}),t},getActiveCaipNetwork(){return L.activeCaipNetwork},getActiveCaipAddress(){return L.activeCaipAddress},getApprovedCaipNetworkIds(t){return L.chains.get(t)?.networkState?.approvedCaipNetworkIds||[]},async setApprovedCaipNetworksData(t){const s=await p.getNetworkControllerClient()?.getApprovedCaipNetworksData();p.setAdapterNetworkState(t,{approvedCaipNetworkIds:s?.approvedCaipNetworkIds,supportsAllNetworks:s?.supportsAllNetworks})},checkIfSupportedNetwork(t,e){const s=e||L.activeCaipNetwork,r=p.getRequestedCaipNetworks(t);return r.length?r?.some(i=>i.id===s?.id):!0},checkIfSupportedChainId(t){return L.activeChain?p.getRequestedCaipNetworks(L.activeChain)?.some(s=>s.id===t):!0},setSmartAccountEnabledNetworks(t,e){p.setAdapterNetworkState(e,{smartAccountEnabledNetworks:t})},checkIfSmartAccountEnabled(){const t=Va.caipNetworkIdToNumber(L.activeCaipNetwork?.caipNetworkId),e=L.activeChain;return!e||!t?!1:!!p.getNetworkProp("smartAccountEnabledNetworks",e)?.includes(Number(t))},getActiveNetworkTokenAddress(){const t=L.activeCaipNetwork?.chainNamespace||"eip155",e=L.activeCaipNetwork?.id||1,s=be.NATIVE_TOKEN_ADDRESS[t];return`${t}:${e}:${s}`},showUnsupportedChainUI(){Le.open({view:"UnsupportedChain"})},checkIfNamesSupported(){const t=L.activeCaipNetwork;return!!(t?.chainNamespace&&be.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(t.chainNamespace))},resetNetwork(t){p.setAdapterNetworkState(t,{approvedCaipNetworkIds:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]})},resetAccount(t){const e=t;if(!e)throw new Error("Chain is required to set account prop");L.activeCaipAddress=void 0,p.setChainAccountData(e,{smartAccountDeployed:!1,currentTab:0,caipAddress:void 0,address:void 0,balance:void 0,balanceSymbol:void 0,profileName:void 0,profileImage:void 0,addressExplorerUrl:void 0,tokenBalance:[],connectedWalletInfo:void 0,preferredAccountTypes:void 0,socialProvider:void 0,socialWindow:void 0,farcasterUrl:void 0,allAccounts:[],user:void 0,status:"disconnected"}),j.removeConnectorId(e)},setIsSwitchingNamespace(t){L.isSwitchingNamespace=t},getFirstCaipNetworkSupportsAuthConnector(){const t=[];let e;if(L.chains.forEach(s=>{H.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(r=>r===s.namespace)&&s.namespace&&t.push(s.namespace)}),t.length>0){const s=t[0];return e=s?L.chains.get(s)?.caipNetworks?.[0]:void 0,e}},getAccountData(t){return t?p.state.chains.get(t)?.accountState:W.state},getNetworkData(t){const e=t||L.activeChain;if(e)return p.state.chains.get(e)?.networkState},getCaipNetworkByNamespace(t,e){if(!t)return;const s=p.state.chains.get(t),r=s?.caipNetworks?.find(i=>i.id===e);return r||s?.networkState?.caipNetwork||s?.caipNetworks?.[0]},getRequestedCaipNetworkIds(){const t=j.state.filterByNamespace;return(t?[L.chains.get(t)]:Array.from(L.chains.values())).flatMap(s=>s?.caipNetworks||[]).map(s=>s.caipNetworkId)},getCaipNetworks(t){return t?p.getRequestedCaipNetworks(t):p.getAllRequestedCaipNetworks()}},p=at(Zl),Ql={purchaseCurrencies:[{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},{id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"Ether",symbol:"ETH",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]}],paymentCurrencies:[{id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},{id:"EUR",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]}]},Ja=Z.getBlockchainApiUrl(),et=P.proxy({clientId:null,api:new qr({baseUrl:Ja,clientId:null}),supportedChains:{http:[],ws:[]}}),X={state:et,async get(t){const{st:e,sv:s}=X.getSdkProperties(),r=N.state.projectId,i={...t.params||{},st:e,sv:s,projectId:r};return et.api.get({...t,params:i})},getSdkProperties(){const{sdkType:t,sdkVersion:e}=N.state;return{st:t||"unknown",sv:e||"unknown"}},async isNetworkSupported(t){if(!t)return!1;try{et.supportedChains.http.length||await X.getSupportedNetworks()}catch{return!1}return et.supportedChains.http.includes(t)},async getSupportedNetworks(){try{const t=await X.get({path:"v1/supported-chains"});return et.supportedChains=t,t}catch{return et.supportedChains}},async fetchIdentity({address:t,caipNetworkId:e}){if(!await X.isNetworkSupported(e))return{avatar:"",name:""};const r=q.getIdentityFromCacheForAddress(t);if(r)return r;const i=await X.get({path:`/v1/identity/${t}`,params:{sender:p.state.activeCaipAddress?Z.getPlainAddress(p.state.activeCaipAddress):void 0}});return q.updateIdentityCache({address:t,identity:i,timestamp:Date.now()}),i},async fetchTransactions({account:t,cursor:e,onramp:s,signal:r,cache:i,chainId:n}){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?X.get({path:`/v1/account/${t}/history`,params:{cursor:e,onramp:s,chainId:n},signal:r,cache:i}):{data:[],next:void 0}},async fetchSwapQuote({amount:t,userAddress:e,from:s,to:r,gasPrice:i}){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?X.get({path:"/v1/convert/quotes",headers:{"Content-Type":"application/json"},params:{amount:t,userAddress:e,from:s,to:r,gasPrice:i}}):{quotes:[]}},async fetchSwapTokens({chainId:t}){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?X.get({path:"/v1/convert/tokens",params:{chainId:t}}):{tokens:[]}},async fetchTokenPrice({addresses:t}){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?et.api.post({path:"/v1/fungible/price",body:{currency:"usd",addresses:t,projectId:N.state.projectId},headers:{"Content-Type":"application/json"}}):{fungibles:[]}},async fetchSwapAllowance({tokenAddress:t,userAddress:e}){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?X.get({path:"/v1/convert/allowance",params:{tokenAddress:t,userAddress:e},headers:{"Content-Type":"application/json"}}):{allowance:"0"}},async fetchGasPrice({chainId:t}){const{st:e,sv:s}=X.getSdkProperties();if(!await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Gas Price");return X.get({path:"/v1/convert/gas-price",headers:{"Content-Type":"application/json"},params:{chainId:t,st:e,sv:s}})},async generateSwapCalldata({amount:t,from:e,to:s,userAddress:r,disableEstimate:i}){if(!await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return et.api.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:t,eip155:{slippage:be.CONVERT_SLIPPAGE_TOLERANCE},projectId:N.state.projectId,from:e,to:s,userAddress:r,disableEstimate:i}})},async generateApproveCalldata({from:t,to:e,userAddress:s}){const{st:r,sv:i}=X.getSdkProperties();if(!await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return X.get({path:"/v1/convert/build-approve",headers:{"Content-Type":"application/json"},params:{userAddress:s,from:t,to:e,st:r,sv:i}})},async getBalance(t,e,s){const{st:r,sv:i}=X.getSdkProperties();if(!await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))return Et.showError("Token Balance Unavailable"),{balances:[]};const o=`${e}:${t}`,a=q.getBalanceCacheForCaipAddress(o);if(a)return a;const c=await X.get({path:`/v1/account/${t}/balance`,params:{currency:"usd",chainId:e,forceUpdate:s,st:r,sv:i}});return q.updateBalanceCache({caipAddress:o,balance:c,timestamp:Date.now()}),c},async lookupEnsName(t){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?X.get({path:`/v1/profile/account/${t}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:t}){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?X.get({path:`/v1/profile/reverse/${t}`,params:{sender:W.state.address,apiVersion:"2"}}):[]},async getEnsNameSuggestions(t){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?X.get({path:`/v1/profile/suggestions/${t}`,params:{zone:"reown.id"}}):{suggestions:[]}},async registerEnsName({coinType:t,address:e,message:s,signature:r}){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?et.api.post({path:"/v1/profile/account",body:{coin_type:t,address:e,message:s,signature:r},headers:{"Content-Type":"application/json"}}):{success:!1}},async generateOnRampURL({destinationWallets:t,partnerUserId:e,defaultNetwork:s,purchaseAmount:r,paymentAmount:i}){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?(await et.api.post({path:"/v1/generators/onrampurl",params:{projectId:N.state.projectId},body:{destinationWallets:t,defaultNetwork:s,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:r,presetFiatAmount:i}})).url:""},async getOnrampOptions(){if(!await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await X.get({path:"/v1/onramp/options"})}catch{return Ql}},async getOnrampQuote({purchaseCurrency:t,paymentCurrency:e,amount:s,network:r}){try{return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?await et.api.post({path:"/v1/onramp/quote",params:{projectId:N.state.projectId},body:{purchaseCurrency:t,paymentCurrency:e,amount:s,network:r}}):null}catch{return{coinbaseFee:{amount:s,currency:e.id},networkFee:{amount:s,currency:e.id},paymentSubtotal:{amount:s,currency:e.id},paymentTotal:{amount:s,currency:e.id},purchaseAmount:{amount:s,currency:e.id},quoteId:"mocked-quote-id"}}},async getSmartSessions(t){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?X.get({path:`/v1/sessions/${t}`}):[]},async revokeSmartSession(t,e,s){return await X.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?et.api.post({path:`/v1/sessions/${t}/revoke`,params:{projectId:N.state.projectId},body:{pci:e,signature:s}}):{success:!1}},setClientId(t){et.clientId=t,et.api=new qr({baseUrl:Ja,clientId:t})}},ft=P.proxy({currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[]}),eu={state:ft,replaceState(t){t&&Object.assign(ft,P.ref(t))},subscribe(t){return p.subscribeChainProp("accountState",e=>{if(e)return t(e)})},subscribeKey(t,e,s){let r;return p.subscribeChainProp("accountState",i=>{if(i){const n=i[t];r!==n&&(r=n,e(n))}},s)},setStatus(t,e){p.setAccountProp("status",t,e)},getCaipAddress(t){return p.getAccountProp("caipAddress",t)},setCaipAddress(t,e){const s=t?Z.getPlainAddress(t):void 0;e===p.state.activeChain&&(p.state.activeCaipAddress=t),p.setAccountProp("caipAddress",t,e),p.setAccountProp("address",s,e)},setBalance(t,e,s){p.setAccountProp("balance",t,s),p.setAccountProp("balanceSymbol",e,s)},setProfileName(t,e){p.setAccountProp("profileName",t,e)},setProfileImage(t,e){p.setAccountProp("profileImage",t,e)},setUser(t,e){p.setAccountProp("user",t,e)},setAddressExplorerUrl(t,e){p.setAccountProp("addressExplorerUrl",t,e)},setSmartAccountDeployed(t,e){p.setAccountProp("smartAccountDeployed",t,e)},setCurrentTab(t){p.setAccountProp("currentTab",t,p.state.activeChain)},setTokenBalance(t,e){t&&p.setAccountProp("tokenBalance",t,e)},setShouldUpdateToAddress(t,e){p.setAccountProp("shouldUpdateToAddress",t,e)},setAllAccounts(t,e){p.setAccountProp("allAccounts",t,e)},addAddressLabel(t,e,s){const r=p.getAccountProp("addressLabels",s)||new Map;r.set(t,e),p.setAccountProp("addressLabels",r,s)},removeAddressLabel(t,e){const s=p.getAccountProp("addressLabels",e)||new Map;s.delete(t),p.setAccountProp("addressLabels",s,e)},setConnectedWalletInfo(t,e){p.setAccountProp("connectedWalletInfo",t,e,!1)},setPreferredAccountType(t,e){p.setAccountProp("preferredAccountTypes",{...ft.preferredAccountTypes,[e]:t},e)},setPreferredAccountTypes(t){ft.preferredAccountTypes=t},setSocialProvider(t,e){t&&p.setAccountProp("socialProvider",t,e)},setSocialWindow(t,e){p.setAccountProp("socialWindow",t?P.ref(t):void 0,e)},setFarcasterUrl(t,e){p.setAccountProp("farcasterUrl",t,e)},async fetchTokenBalance(t){ft.balanceLoading=!0;const e=p.state.activeCaipNetwork?.caipNetworkId,s=p.state.activeCaipNetwork?.chainNamespace,r=p.state.activeCaipAddress,i=r?Z.getPlainAddress(r):void 0;if(ft.lastRetry&&!Z.isAllowedRetry(ft.lastRetry,30*be.ONE_SEC_MS))return ft.balanceLoading=!1,[];try{if(i&&e&&s){const o=(await X.getBalance(i,e)).balances.filter(a=>a.quantity.decimals!=="0");return W.setTokenBalance(o,s),ft.lastRetry=void 0,ft.balanceLoading=!1,o}}catch(n){ft.lastRetry=Date.now(),t?.(n),Et.showError("Token Balance Unavailable")}finally{ft.balanceLoading=!1}return[]},resetAccount(t){p.resetAccount(t)}},W=at(eu),tu={onSwitchNetwork({network:t,ignoreSwitchConfirmation:e=!1}){const s=p.state.activeCaipNetwork,r=ne.state.data;if(t.id===s?.id)return;const n=W.getCaipAddress(p.state.activeChain),o=t.chainNamespace!==p.state.activeChain,a=W.getCaipAddress(t.chainNamespace),l=j.getConnectorId(p.state.activeChain)===H.CONNECTOR_ID.AUTH,u=H.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(h=>h===t.chainNamespace);e||l&&u?ne.push("SwitchNetwork",{...r,network:t}):n&&o&&!a?ne.push("SwitchActiveChain",{switchToChain:t.chainNamespace,navigateTo:"Connect",navigateWithReplace:!0,network:t}):ne.push("SwitchNetwork",{...r,network:t})}},tt=P.proxy({loading:!1,loadingNamespaceMap:new Map,open:!1,shake:!1,namespace:void 0}),su={state:tt,subscribe(t){return P.subscribe(tt,()=>t(tt))},subscribeKey(t,e){return P.subscribeKey(tt,t,e)},async open(t){const e=W.state.status==="connected",s=t?.namespace,r=p.state.activeChain,i=s&&s!==r,n=p.getAccountData(t?.namespace)?.caipAddress;if(J.state.wcBasic?V.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1}):await V.prefetch({fetchConnectorImages:!e,fetchFeaturedWallets:!e,fetchRecommendedWallets:!e}),j.setFilterByNamespace(t?.namespace),Le.setLoading(!0,s),s&&i){const o=p.getNetworkData(s)?.caipNetwork||p.getRequestedCaipNetworks(s)[0];o&&tu.onSwitchNetwork({network:o,ignoreSwitchConfirmation:!0})}else{const o=p.state.noAdapters;N.state.manualWCControl||o&&!n?Z.isMobile()?ne.reset("AllWallets"):ne.reset("ConnectingWalletConnectBasic"):t?.view?ne.reset(t.view,t.data):n?ne.reset("Account"):ne.reset("Connect")}tt.open=!0,ns.set({open:!0}),_e.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!!n}})},close(){const t=N.state.enableEmbedded,e=!!p.state.activeCaipAddress;tt.open&&_e.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:e}}),tt.open=!1,ne.reset("Connect"),Le.clearLoading(),t?e?ne.replace("Account"):ne.push("Connect"):ns.set({open:!1}),J.resetUri()},setLoading(t,e){e&&tt.loadingNamespaceMap.set(e,t),tt.loading=t,ns.set({loading:t})},clearLoading(){tt.loadingNamespaceMap.clear(),tt.loading=!1},shake(){tt.shake||(tt.shake=!0,setTimeout(()=>{tt.shake=!1},500))}},Le=at(su),kr={id:"2b92315d-eab7-5bef-84fa-089a131333f5",name:"USD Coin",symbol:"USDC",networks:[{name:"ethereum-mainnet",display_name:"Ethereum",chain_id:"1",contract_address:"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},{name:"polygon-mainnet",display_name:"Polygon",chain_id:"137",contract_address:"0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174"}]},an={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},ru={providers:Ka,selectedProvider:null,error:null,purchaseCurrency:kr,paymentCurrency:an,purchaseCurrencies:[kr],paymentCurrencies:[],quotesLoading:!1},ce=P.proxy(ru),iu={state:ce,subscribe(t){return P.subscribe(ce,()=>t(ce))},subscribeKey(t,e){return P.subscribeKey(ce,t,e)},setSelectedProvider(t){if(t&&t.name==="meld"){const e=p.state.activeChain===H.CHAIN.SOLANA?"SOL":"USDC",s=W.state.address??"",r=new URL(t.url);r.searchParams.append("publicKey",Pl),r.searchParams.append("destinationCurrencyCode",e),r.searchParams.append("walletAddress",s),r.searchParams.append("externalCustomerId",N.state.projectId),ce.selectedProvider={...t,url:r.toString()}}else ce.selectedProvider=t},setOnrampProviders(t){if(Array.isArray(t)&&t.every(e=>typeof e=="string")){const e=t,s=Ka.filter(r=>e.includes(r.name));ce.providers=s}else ce.providers=[]},setPurchaseCurrency(t){ce.purchaseCurrency=t},setPaymentCurrency(t){ce.paymentCurrency=t},setPurchaseAmount(t){cn.state.purchaseAmount=t},setPaymentAmount(t){cn.state.paymentAmount=t},async getAvailableCurrencies(){const t=await X.getOnrampOptions();ce.purchaseCurrencies=t.purchaseCurrencies,ce.paymentCurrencies=t.paymentCurrencies,ce.paymentCurrency=t.paymentCurrencies[0]||an,ce.purchaseCurrency=t.purchaseCurrencies[0]||kr,await V.fetchCurrencyImages(t.paymentCurrencies.map(e=>e.id)),await V.fetchTokenImages(t.purchaseCurrencies.map(e=>e.symbol))},async getQuote(){ce.quotesLoading=!0;try{const t=await X.getOnrampQuote({purchaseCurrency:ce.purchaseCurrency,paymentCurrency:ce.paymentCurrency,amount:ce.paymentAmount?.toString()||"0",network:ce.purchaseCurrency?.symbol});return ce.quotesLoading=!1,ce.purchaseAmount=Number(t?.purchaseAmount.amount),t}catch(t){return ce.error=t.message,ce.quotesLoading=!1,null}finally{ce.quotesLoading=!1}},resetState(){ce.selectedProvider=null,ce.error=null,ce.purchaseCurrency=kr,ce.paymentCurrency=an,ce.purchaseCurrencies=[kr],ce.paymentCurrencies=[],ce.paymentAmount=void 0,ce.purchaseAmount=void 0,ce.quotesLoading=!1}},cn=at(iu),so=2147483648,nu={convertEVMChainIdToCoinType(t){if(t>=so)throw new Error("Invalid chainId");return(so|t)>>>0}},mt=P.proxy({suggestions:[],loading:!1}),ou={state:mt,subscribe(t){return P.subscribe(mt,()=>t(mt))},subscribeKey(t,e){return P.subscribeKey(mt,t,e)},async resolveName(t){try{return await X.lookupEnsName(t)}catch(e){const s=e;throw new Error(s?.reasons?.[0]?.description||"Error resolving name")}},async isNameRegistered(t){try{return await X.lookupEnsName(t),!0}catch{return!1}},async getSuggestions(t){try{mt.loading=!0,mt.suggestions=[];const e=await X.getEnsNameSuggestions(t);return mt.suggestions=e.suggestions.map(s=>({...s,name:s.name}))||[],mt.suggestions}catch(e){const s=Tr.parseEnsApiError(e,"Error fetching name suggestions");throw new Error(s)}finally{mt.loading=!1}},async getNamesForAddress(t){try{if(!p.state.activeCaipNetwork)return[];const s=q.getEnsFromCacheForAddress(t);if(s)return s;const r=await X.reverseLookupEnsName({address:t});return q.updateEnsCache({address:t,ens:r,timestamp:Date.now()}),r}catch(e){const s=Tr.parseEnsApiError(e,"Error fetching names for address");throw new Error(s)}},async registerName(t){const e=p.state.activeCaipNetwork;if(!e)throw new Error("Network not found");const s=W.state.address,r=j.getAuthConnector();if(!s||!r)throw new Error("Address or auth connector not found");mt.loading=!0;try{const i=JSON.stringify({name:t,attributes:{},timestamp:Math.floor(Date.now()/1e3)});ne.pushTransactionStack({onCancel(){ne.replace("RegisterAccountName")}});const n=await J.signMessage(i);mt.loading=!1;const o=e.id;if(!o)throw new Error("Network not found");const a=nu.convertEVMChainIdToCoinType(Number(o));await X.registerEnsName({coinType:a,address:s,signature:n,message:i}),W.setProfileName(t,e.chainNamespace),ne.replace("RegisterAccountNameSuccess")}catch(i){const n=Tr.parseEnsApiError(i,`Error registering name ${t}`);throw ne.replace("RegisterAccountName"),new Error(n)}finally{mt.loading=!1}},validateName(t){return/^[a-zA-Z0-9-]{4,}$/u.test(t)},parseEnsApiError(t,e){return t?.reasons?.[0]?.description||e}},Tr=at(ou),Qs={getSIWX(){return N.state.siwx},async initializeIfEnabled(){const t=N.state.siwx,e=p.getActiveCaipAddress();if(!(t&&e))return;const[s,r,i]=e.split(":");if(p.checkIfSupportedNetwork(s))try{if((await t.getSessions(`${s}:${r}`,i)).length)return;await Le.open({view:"SIWXSignMessage"})}catch(n){console.error("SIWXUtil:initializeIfEnabled",n),_e.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties()}),await J._getClient()?.disconnect().catch(console.error),ne.reset("Connect"),Et.showError("A problem occurred while trying initialize authentication")}},async requestSignMessage(){const t=N.state.siwx,e=Z.getPlainAddress(p.getActiveCaipAddress()),s=p.getActiveCaipNetwork(),r=J._getClient();if(!t)throw new Error("SIWX is not enabled");if(!e)throw new Error("No ActiveCaipAddress found");if(!s)throw new Error("No ActiveCaipNetwork or client found");if(!r)throw new Error("No ConnectionController client found");try{const i=await t.createMessage({chainId:s.caipNetworkId,accountAddress:e}),n=i.toString();j.getConnectorId(s.chainNamespace)===H.CONNECTOR_ID.AUTH&&ne.pushTransactionStack({});const a=await r.signMessage(n);await t.addSession({data:i,message:n,signature:a}),Le.close(),_e.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:this.getSIWXEventProperties()})}catch(i){const n=this.getSIWXEventProperties();(!Le.state.open||ne.state.view==="ApproveTransaction")&&await Le.open({view:"SIWXSignMessage"}),n.isSmartAccount?Et.showError("This application might not support Smart Accounts"):Et.showError("Signature declined"),_e.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:n}),console.error("SWIXUtil:requestSignMessage",i)}},async cancelSignMessage(){try{this.getSIWX()?.getRequired?.()?await J.disconnect():Le.close(),ne.reset("Connect"),_e.sendEvent({event:"CLICK_CANCEL_SIWX",type:"track",properties:this.getSIWXEventProperties()})}catch(t){console.error("SIWXUtil:cancelSignMessage",t)}},async getSessions(){const t=N.state.siwx,e=Z.getPlainAddress(p.getActiveCaipAddress()),s=p.getActiveCaipNetwork();return t&&e&&s?t.getSessions(s.caipNetworkId,e):[]},async isSIWXCloseDisabled(){const t=this.getSIWX();if(t){const e=ne.state.view==="ApproveTransaction",s=ne.state.view==="SIWXSignMessage";if(e||s)return t.getRequired?.()&&(await this.getSessions()).length===0}return!1},async universalProviderAuthenticate({universalProvider:t,chains:e,methods:s}){const r=Qs.getSIWX(),i=new Set(e.map(a=>a.split(":")[0]));if(!r||i.size!==1||!i.has("eip155"))return!1;const n=await r.createMessage({chainId:p.getActiveCaipNetwork()?.caipNetworkId||"",accountAddress:""}),o=await t.authenticate({nonce:n.nonce,domain:n.domain,uri:n.uri,exp:n.expirationTime,iat:n.issuedAt,nbf:n.notBefore,requestId:n.requestId,version:n.version,resources:n.resources,statement:n.statement,chainId:n.chainId,methods:s,chains:[n.chainId,...e.filter(a=>a!==n.chainId)]});if(Et.showLoading("Authenticating...",{autoClose:!1}),W.setConnectedWalletInfo({...o.session.peer.metadata,name:o.session.peer.metadata.name,icon:o.session.peer.metadata.icons?.[0],type:"WALLET_CONNECT"},Array.from(i)[0]),o?.auths?.length){const a=o.auths.map(c=>{const l=t.client.formatAuthMessage({request:c.p,iss:c.p.iss});return{data:{...c.p,accountAddress:c.p.iss.split(":").slice(-1).join(""),chainId:c.p.iss.split(":").slice(2,4).join(":"),uri:c.p.aud,version:c.p.version||n.version,expirationTime:c.p.exp,issuedAt:c.p.iat,notBefore:c.p.nbf},message:l,signature:c.s.s,cacao:c}});try{await r.setSessions(a),_e.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:Qs.getSIWXEventProperties()})}catch(c){throw console.error("SIWX:universalProviderAuth - failed to set sessions",c),_e.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:Qs.getSIWXEventProperties()}),await t.disconnect().catch(console.error),c}finally{Et.hide()}}return!0},getSIWXEventProperties(){const t=p.state.activeChain;return{network:p.state.activeCaipNetwork?.caipNetworkId||"",isSmartAccount:W.state.preferredAccountTypes?.[t]===Pr.ACCOUNT_TYPES.SMART_ACCOUNT}},async clearSessions(){const t=this.getSIWX();t&&await t.setSessions([])}};var au=Object.defineProperty,cu=(t,e,s)=>e in t?au(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ro=(t,e,s)=>cu(t,typeof e!="symbol"?e+"":e,s);let lu=class extends d.IEvents{constructor(e){super(),this.opts=e,ro(this,"protocol","wc"),ro(this,"version",2)}};var uu=Object.defineProperty,du=(t,e,s)=>e in t?uu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,hu=(t,e,s)=>du(t,e+"",s);let pu=class extends d.IEvents{constructor(e,s){super(),this.core=e,this.logger=s,hu(this,"records",new Map)}},gu=class{constructor(e,s){this.logger=e,this.core=s}};class fu extends d.IEvents{constructor(e,s){super(),this.relayer=e,this.logger=s}}let mu=class extends d.IEvents{constructor(e){super()}},wu=class{constructor(e,s,r,i){this.core=e,this.logger=s,this.name=r}},yu=class extends d.IEvents{constructor(e,s){super(),this.relayer=e,this.logger=s}},bu=class extends d.IEvents{constructor(e,s){super(),this.core=e,this.logger=s}},vu=class{constructor(e,s,r){this.core=e,this.logger=s,this.store=r}},Eu=class{constructor(e,s){this.projectId=e,this.logger=s}},Cu=class{constructor(e,s,r){this.core=e,this.logger=s,this.telemetryEnabled=r}};var Iu=Object.defineProperty,Nu=(t,e,s)=>e in t?Iu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,io=(t,e,s)=>Nu(t,typeof e!="symbol"?e+"":e,s);let Au=class{constructor(e){this.opts=e,io(this,"protocol","wc"),io(this,"version",2)}},Su=class{constructor(e){this.client=e}};function Dr(t,{strict:e=!0}={}){return!t||typeof t!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(t):t.startsWith("0x")}function no(t){return Dr(t,{strict:!1})?Math.ceil((t.length-2)/2):t.length}const Ya="2.23.2";let $i={getDocsUrl:({docsBaseUrl:t,docsPath:e="",docsSlug:s})=>e?`${t??"https://viem.sh"}${e}${s?`#${s}`:""}`:void 0,version:`viem@${Ya}`};class Ns extends Error{constructor(e,s={}){const r=s.cause instanceof Ns?s.cause.details:s.cause?.message?s.cause.message:s.details,i=s.cause instanceof Ns&&s.cause.docsPath||s.docsPath,n=$i.getDocsUrl?.({...s,docsPath:i}),o=[e||"An error occurred.","",...s.metaMessages?[...s.metaMessages,""]:[],...n?[`Docs: ${n}`]:[],...r?[`Details: ${r}`]:[],...$i.version?[`Version: ${$i.version}`]:[]].join(`
|
|
4
|
-
`);super(o,s.cause?{cause:s.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=r,this.docsPath=i,this.metaMessages=s.metaMessages,this.name=s.name??this.name,this.shortMessage=e,this.version=Ya}walk(e){return Xa(this,e)}}function Xa(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?Xa(t.cause,e):e?null:t}class Za extends Ns{constructor({size:e,targetSize:s,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${e}) exceeds padding size (${s}).`,{name:"SizeExceedsPaddingSizeError"})}}function ur(t,{dir:e,size:s=32}={}){return typeof t=="string"?_u(t,{dir:e,size:s}):Pu(t,{dir:e,size:s})}function _u(t,{dir:e,size:s=32}={}){if(s===null)return t;const r=t.replace("0x","");if(r.length>s*2)throw new Za({size:Math.ceil(r.length/2),targetSize:s,type:"hex"});return`0x${r[e==="right"?"padEnd":"padStart"](s*2,"0")}`}function Pu(t,{dir:e,size:s=32}={}){if(s===null)return t;if(t.length>s)throw new Za({size:t.length,targetSize:s,type:"bytes"});const r=new Uint8Array(s);for(let i=0;i<s;i++){const n=e==="right";r[n?i:s-i-1]=t[n?i:t.length-i-1]}return r}class ku extends Ns{constructor({max:e,min:s,signed:r,size:i,value:n}){super(`Number "${n}" is not in safe ${i?`${i*8}-bit ${r?"signed":"unsigned"} `:""}integer range ${e?`(${s} to ${e})`:`(above ${s})`}`,{name:"IntegerOutOfRangeError"})}}class Tu extends Ns{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed ${s} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function dr(t,{size:e}){if(no(t)>e)throw new Tu({givenSize:no(t),maxSize:e})}function ln(t,e={}){const{signed:s}=e;e.size&&dr(t,{size:e.size});const r=BigInt(t);if(!s)return r;const i=(t.length-2)/2,n=(1n<<BigInt(i)*8n-1n)-1n;return r<=n?r:r-BigInt(`0x${"f".padStart(i*2,"f")}`)-1n}function Ou(t,e={}){return Number(ln(t,e))}const xu=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function un(t,e={}){return typeof t=="number"||typeof t=="bigint"?ec(t,e):typeof t=="string"?Uu(t,e):typeof t=="boolean"?Ru(t,e):Qa(t,e)}function Ru(t,e={}){const s=`0x${Number(t)}`;return typeof e.size=="number"?(dr(s,{size:e.size}),ur(s,{size:e.size})):s}function Qa(t,e={}){let s="";for(let i=0;i<t.length;i++)s+=xu[t[i]];const r=`0x${s}`;return typeof e.size=="number"?(dr(r,{size:e.size}),ur(r,{dir:"right",size:e.size})):r}function ec(t,e={}){const{signed:s,size:r}=e,i=BigInt(t);let n;r?s?n=(1n<<BigInt(r)*8n-1n)-1n:n=2n**(BigInt(r)*8n)-1n:typeof t=="number"&&(n=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof n=="bigint"&&s?-n-1n:0;if(n&&i>n||i<o){const c=typeof t=="bigint"?"n":"";throw new ku({max:n?`${n}${c}`:void 0,min:`${o}${c}`,signed:s,size:r,value:`${t}${c}`})}const a=`0x${(s&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?ur(a,{size:r}):a}const $u=new TextEncoder;function Uu(t,e={}){const s=$u.encode(t);return Qa(s,e)}const Du=new TextEncoder;function Lu(t,e={}){return typeof t=="number"||typeof t=="bigint"?ju(t,e):typeof t=="boolean"?Fu(t,e):Dr(t)?tc(t,e):sc(t,e)}function Fu(t,e={}){const s=new Uint8Array(1);return s[0]=Number(t),typeof e.size=="number"?(dr(s,{size:e.size}),ur(s,{size:e.size})):s}const Mt={zero:48,nine:57,A:65,F:70,a:97,f:102};function oo(t){if(t>=Mt.zero&&t<=Mt.nine)return t-Mt.zero;if(t>=Mt.A&&t<=Mt.F)return t-(Mt.A-10);if(t>=Mt.a&&t<=Mt.f)return t-(Mt.a-10)}function tc(t,e={}){let s=t;e.size&&(dr(s,{size:e.size}),s=ur(s,{dir:"right",size:e.size}));let r=s.slice(2);r.length%2&&(r=`0${r}`);const i=r.length/2,n=new Uint8Array(i);for(let o=0,a=0;o<i;o++){const c=oo(r.charCodeAt(a++)),l=oo(r.charCodeAt(a++));if(c===void 0||l===void 0)throw new Ns(`Invalid byte sequence ("${r[a-2]}${r[a-1]}" in "${r}").`);n[o]=c*16+l}return n}function ju(t,e){const s=ec(t,e);return tc(s)}function sc(t,e={}){const s=Du.encode(t);return typeof e.size=="number"?(dr(s,{size:e.size}),ur(s,{dir:"right",size:e.size})):s}function rc(t,e){const s=e||"hex",r=Fn.keccak_256(Dr(t,{strict:!1})?Lu(t):t);return s==="bytes"?r:un(r)}class Bu extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const s=super.get(e);return super.has(e)&&s!==void 0&&(this.delete(e),super.set(e,s)),s}set(e,s){if(super.set(e,s),this.maxSize&&this.size>this.maxSize){const r=this.keys().next().value;r&&this.delete(r)}return this}}const Ui=new Bu(8192);function Mu(t,e){if(Ui.has(`${t}.${e}`))return Ui.get(`${t}.${e}`);const s=t.substring(2).toLowerCase(),r=rc(sc(s),"bytes"),i=s.split("");for(let o=0;o<40;o+=2)r[o>>1]>>4>=8&&i[o]&&(i[o]=i[o].toUpperCase()),(r[o>>1]&15)>=8&&i[o+1]&&(i[o+1]=i[o+1].toUpperCase());const n=`0x${i.join("")}`;return Ui.set(`${t}.${e}`,n),n}function qu(t){const e=rc(`0x${t.substring(4)}`).substring(26);return Mu(`0x${e}`)}async function Wu({hash:t,signature:e}){const s=Dr(t)?t:un(t),{secp256k1:r}=await Promise.resolve().then(()=>require("./secp256k1-r0ke-jeG.js"));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:l,s:u,v:h,yParity:g}=e,w=Number(g??h),m=ao(w);return new r.Signature(ln(l),ln(u)).addRecoveryBit(m)}const o=Dr(e)?e:un(e),a=Ou(`0x${o.slice(130)}`),c=ao(a);return r.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(s.substring(2)).toHex(!1)}`}function ao(t){if(t===0||t===1)return t;if(t===27)return 0;if(t===28)return 1;throw new Error("Invalid yParityOrV value")}async function zu({hash:t,signature:e}){return qu(await Wu({hash:t,signature:e}))}const Hu=":";function er(t){const[e,s]=t.split(Hu);return{namespace:e,reference:s}}function ic(t,e){return t.includes(":")?[t]:e.chains||[]}var Vu=Object.defineProperty,Ku=Object.defineProperties,Gu=Object.getOwnPropertyDescriptors,co=Object.getOwnPropertySymbols,Ju=Object.prototype.hasOwnProperty,Yu=Object.prototype.propertyIsEnumerable,lo=(t,e,s)=>e in t?Vu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,uo=(t,e)=>{for(var s in e||(e={}))Ju.call(e,s)&&lo(t,s,e[s]);if(co)for(var s of co(e))Yu.call(e,s)&&lo(t,s,e[s]);return t},Xu=(t,e)=>Ku(t,Gu(e));const Zu="ReactNative",pt={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},Qu="js";function fi(){return typeof $.process$1<"u"&&typeof $.process$1.versions<"u"&&typeof $.process$1.versions.node<"u"}function ds(){return!d.cjsExports$2.getDocument()&&!!d.cjsExports$2.getNavigator()&&navigator.product===Zu}function ed(){return ds()&&typeof $.global<"u"&&typeof($.global==null?void 0:$.global.Platform)<"u"&&($.global==null?void 0:$.global.Platform.OS)==="android"}function td(){return ds()&&typeof $.global<"u"&&typeof($.global==null?void 0:$.global.Platform)<"u"&&($.global==null?void 0:$.global.Platform.OS)==="ios"}function hr(){return!fi()&&!!d.cjsExports$2.getNavigator()&&!!d.cjsExports$2.getDocument()}function Wr(){return ds()?pt.reactNative:fi()?pt.node:hr()?pt.browser:pt.unknown}function ho(){var t;try{return ds()&&typeof $.global<"u"&&typeof($.global==null?void 0:$.global.Application)<"u"?(t=$.global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function sd(t,e){const s=new URLSearchParams(t);for(const r of Object.keys(e).sort())if(e.hasOwnProperty(r)){const i=e[r];i!==void 0&&s.set(r,i)}return s.toString()}function rd(t){var e,s;const r=nc();try{return t!=null&&t.url&&r.url&&new URL(t.url).host!==new URL(r.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${t.url} differs from the actual page url:${r.url}. This is probably unintended and can lead to issues.`),t.url=r.url),(e=t?.icons)!=null&&e.length&&t.icons.length>0&&(t.icons=t.icons.filter(i=>i!=="")),Xu(uo(uo({},r),t),{url:t?.url||r.url,name:t?.name||r.name,description:t?.description||r.description,icons:(s=t?.icons)!=null&&s.length&&t.icons.length>0?t.icons:r.icons})}catch(i){return console.warn("Error populating app metadata",i),t||r}}function nc(){return d.cjsExports.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function id(){if(Wr()===pt.reactNative&&typeof $.global<"u"&&typeof($.global==null?void 0:$.global.Platform)<"u"){const{OS:s,Version:r}=$.global.Platform;return[s,r].join("-")}const t=d.detect();if(t===null)return"unknown";const e=t.os?t.os.replace(" ","").toLowerCase():"unknown";return t.type==="browser"?[e,t.name,t.version].join("-"):[e,t.version].join("-")}function nd(){var t;const e=Wr();return e===pt.browser?[e,((t=d.cjsExports$2.getLocation())==null?void 0:t.host)||"unknown"].join(":"):e}function oc(t,e,s){const r=id(),i=nd();return[[t,e].join("-"),[Qu,s].join("-"),r,i].join("/")}function od({protocol:t,version:e,relayUrl:s,sdkVersion:r,auth:i,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=s.split("?"),u=oc(t,e,r),h={auth:i,ua:u,projectId:n,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},g=sd(l[1]||"",h);return l[0]+"?"+g}function Cs(t,e){return t.filter(s=>e.includes(s)).length===t.length}function dn(t){return Object.fromEntries(t.entries())}function hn(t){return new Map(Object.entries(t))}function ws(t=d.cjsExports$1.FIVE_MINUTES,e){const s=d.cjsExports$1.toMiliseconds(t||d.cjsExports$1.FIVE_MINUTES);let r,i,n,o;return{resolve:a=>{n&&r&&(clearTimeout(n),r(a),o=Promise.resolve(a))},reject:a=>{n&&i&&(clearTimeout(n),i(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);n=setTimeout(()=>{const l=new Error(e);o=Promise.reject(l),c(l)},s),r=a,i=c})}}function is(t,e,s){return new Promise(async(r,i)=>{const n=setTimeout(()=>i(new Error(s)),e);try{const o=await t;r(o)}catch(o){i(o)}clearTimeout(n)})}function ac(t,e){if(typeof e=="string"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function ad(t){return ac("topic",t)}function cd(t){return ac("id",t)}function cc(t){const[e,s]=t.split(":"),r={id:void 0,topic:void 0};if(e==="topic"&&typeof s=="string")r.topic=s;else if(e==="id"&&Number.isInteger(Number(s)))r.id=Number(s);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${s}`);return r}function De(t,e){return d.cjsExports$1.fromMiliseconds(Date.now()+d.cjsExports$1.toMiliseconds(t))}function es(t){return Date.now()>=d.cjsExports$1.toMiliseconds(t)}function fe(t,e){return`${t}${e?`:${e}`:""}`}function Ut(t=[],e=[]){return[...new Set([...t,...e])]}async function ld({id:t,topic:e,wcDeepLink:s}){var r;try{if(!s)return;const i=typeof s=="string"?JSON.parse(s):s,n=i?.href;if(typeof n!="string")return;const o=ud(n,t,e),a=Wr();if(a===pt.browser){if(!((r=d.cjsExports$2.getDocument())!=null&&r.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}dd(o)}else a===pt.reactNative&&typeof($.global==null?void 0:$.global.Linking)<"u"&&await $.global.Linking.openURL(o)}catch(i){console.error(i)}}function ud(t,e,s){const r=`requestId=${e}&sessionTopic=${s}`;t.endsWith("/")&&(t=t.slice(0,-1));let i=`${t}`;if(t.startsWith("https://t.me")){const n=t.includes("?")?"&startapp=":"?startapp=";i=`${i}${n}${fd(r,!0)}`}else i=`${i}/wc?${r}`;return i}function dd(t){let e="_self";gd()?e="_top":(pd()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function hd(t,e){let s="";try{if(hr()&&(s=localStorage.getItem(e),s))return s;s=await t.getItem(e)}catch(r){console.error(r)}return s}function po(t,e){if(!t.includes(e))return null;const s=t.split(/([&,?,=])/),r=s.indexOf(e);return s[r+2]}function go(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Bn(){return typeof $.process$1<"u"&&$.process$1.env.IS_VITEST==="true"}function pd(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function gd(){try{return window.self!==window.top}catch{return!1}}function fd(t,e=!1){const s=$.Buffer.from(t).toString("base64");return e?s.replace(/[=]/g,""):s}function lc(t){return $.Buffer.from(t,"base64").toString("utf-8")}function md(t){return new Promise(e=>setTimeout(e,t))}function Lr(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function wd(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function zr(t,...e){if(!wd(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Mn(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Lr(t.outputLen),Lr(t.blockLen)}function rr(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function uc(t,e){zr(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}const Qr=BigInt(2**32-1),fo=BigInt(32);function yd(t,e=!1){return e?{h:Number(t&Qr),l:Number(t>>fo&Qr)}:{h:Number(t>>fo&Qr)|0,l:Number(t&Qr)|0}}function bd(t,e=!1){let s=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let i=0;i<t.length;i++){const{h:n,l:o}=yd(t[i],e);[s[i],r[i]]=[n,o]}return[s,r]}const vd=(t,e,s)=>t<<s|e>>>32-s,Ed=(t,e,s)=>e<<s|t>>>32-s,Cd=(t,e,s)=>e<<s-32|t>>>64-s,Id=(t,e,s)=>t<<s-32|e>>>64-s,xs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Nd(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Di(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function kt(t,e){return t<<32-e|t>>>e}const mo=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ad(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function wo(t){for(let e=0;e<t.length;e++)t[e]=Ad(t[e])}function Sd(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function ir(t){return typeof t=="string"&&(t=Sd(t)),zr(t),t}function _d(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];zr(i),e+=i.length}const s=new Uint8Array(e);for(let r=0,i=0;r<t.length;r++){const n=t[r];s.set(n,i),i+=n.length}return s}let qn=class{clone(){return this._cloneInto()}};function dc(t){const e=r=>t().update(ir(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function pr(t=32){if(xs&&typeof xs.getRandomValues=="function")return xs.getRandomValues(new Uint8Array(t));if(xs&&typeof xs.randomBytes=="function")return xs.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}const hc=[],pc=[],gc=[],Pd=BigInt(0),wr=BigInt(1),kd=BigInt(2),Td=BigInt(7),Od=BigInt(256),xd=BigInt(113);for(let t=0,e=wr,s=1,r=0;t<24;t++){[s,r]=[r,(2*s+3*r)%5],hc.push(2*(5*r+s)),pc.push((t+1)*(t+2)/2%64);let i=Pd;for(let n=0;n<7;n++)e=(e<<wr^(e>>Td)*xd)%Od,e&kd&&(i^=wr<<(wr<<BigInt(n))-wr);gc.push(i)}const[Rd,$d]=bd(gc,!0),yo=(t,e,s)=>s>32?Cd(t,e,s):vd(t,e,s),bo=(t,e,s)=>s>32?Id(t,e,s):Ed(t,e,s);function Ud(t,e=24){const s=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let o=0;o<10;o++)s[o]=t[o]^t[o+10]^t[o+20]^t[o+30]^t[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=s[c],u=s[c+1],h=yo(l,u,1)^s[a],g=bo(l,u,1)^s[a+1];for(let w=0;w<50;w+=10)t[o+w]^=h,t[o+w+1]^=g}let i=t[2],n=t[3];for(let o=0;o<24;o++){const a=pc[o],c=yo(i,n,a),l=bo(i,n,a),u=hc[o];i=t[u],n=t[u+1],t[u]=c,t[u+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)s[a]=t[o+a];for(let a=0;a<10;a++)t[o+a]^=~s[(a+2)%10]&s[(a+4)%10]}t[0]^=Rd[r],t[1]^=$d[r]}s.fill(0)}let Dd=class fc extends qn{constructor(e,s,r,i=!1,n=24){if(super(),this.blockLen=e,this.suffix=s,this.outputLen=r,this.enableXOF=i,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Lr(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Nd(this.state)}keccak(){mo||wo(this.state32),Ud(this.state32,this.rounds),mo||wo(this.state32),this.posOut=0,this.pos=0}update(e){rr(this);const{blockLen:s,state:r}=this;e=ir(e);const i=e.length;for(let n=0;n<i;){const o=Math.min(s-this.pos,i-n);for(let a=0;a<o;a++)r[this.pos++]^=e[n++];this.pos===s&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:s,pos:r,blockLen:i}=this;e[r]^=s,(s&128)!==0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){rr(this,!1),zr(e),this.finish();const s=this.state,{blockLen:r}=this;for(let i=0,n=e.length;i<n;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,n-i);e.set(s.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Lr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(uc(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:s,suffix:r,outputLen:i,rounds:n,enableXOF:o}=this;return e||(e=new fc(s,r,i,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=r,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}};const Ld=(t,e,s)=>dc(()=>new Dd(e,t,s)),Fd=Ld(1,136,256/8),jd="https://rpc.walletconnect.org/v1";function mc(t){const e=`Ethereum Signed Message:
|
|
4
|
+
`);super(o,s.cause?{cause:s.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=r,this.docsPath=i,this.metaMessages=s.metaMessages,this.name=s.name??this.name,this.shortMessage=e,this.version=Ya}walk(e){return Xa(this,e)}}function Xa(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?Xa(t.cause,e):e?null:t}class Za extends Ns{constructor({size:e,targetSize:s,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${e}) exceeds padding size (${s}).`,{name:"SizeExceedsPaddingSizeError"})}}function ur(t,{dir:e,size:s=32}={}){return typeof t=="string"?_u(t,{dir:e,size:s}):Pu(t,{dir:e,size:s})}function _u(t,{dir:e,size:s=32}={}){if(s===null)return t;const r=t.replace("0x","");if(r.length>s*2)throw new Za({size:Math.ceil(r.length/2),targetSize:s,type:"hex"});return`0x${r[e==="right"?"padEnd":"padStart"](s*2,"0")}`}function Pu(t,{dir:e,size:s=32}={}){if(s===null)return t;if(t.length>s)throw new Za({size:t.length,targetSize:s,type:"bytes"});const r=new Uint8Array(s);for(let i=0;i<s;i++){const n=e==="right";r[n?i:s-i-1]=t[n?i:t.length-i-1]}return r}class ku extends Ns{constructor({max:e,min:s,signed:r,size:i,value:n}){super(`Number "${n}" is not in safe ${i?`${i*8}-bit ${r?"signed":"unsigned"} `:""}integer range ${e?`(${s} to ${e})`:`(above ${s})`}`,{name:"IntegerOutOfRangeError"})}}class Tu extends Ns{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed ${s} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function dr(t,{size:e}){if(no(t)>e)throw new Tu({givenSize:no(t),maxSize:e})}function ln(t,e={}){const{signed:s}=e;e.size&&dr(t,{size:e.size});const r=BigInt(t);if(!s)return r;const i=(t.length-2)/2,n=(1n<<BigInt(i)*8n-1n)-1n;return r<=n?r:r-BigInt(`0x${"f".padStart(i*2,"f")}`)-1n}function Ou(t,e={}){return Number(ln(t,e))}const xu=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function un(t,e={}){return typeof t=="number"||typeof t=="bigint"?ec(t,e):typeof t=="string"?Uu(t,e):typeof t=="boolean"?Ru(t,e):Qa(t,e)}function Ru(t,e={}){const s=`0x${Number(t)}`;return typeof e.size=="number"?(dr(s,{size:e.size}),ur(s,{size:e.size})):s}function Qa(t,e={}){let s="";for(let i=0;i<t.length;i++)s+=xu[t[i]];const r=`0x${s}`;return typeof e.size=="number"?(dr(r,{size:e.size}),ur(r,{dir:"right",size:e.size})):r}function ec(t,e={}){const{signed:s,size:r}=e,i=BigInt(t);let n;r?s?n=(1n<<BigInt(r)*8n-1n)-1n:n=2n**(BigInt(r)*8n)-1n:typeof t=="number"&&(n=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof n=="bigint"&&s?-n-1n:0;if(n&&i>n||i<o){const c=typeof t=="bigint"?"n":"";throw new ku({max:n?`${n}${c}`:void 0,min:`${o}${c}`,signed:s,size:r,value:`${t}${c}`})}const a=`0x${(s&&i<0?(1n<<BigInt(r*8))+BigInt(i):i).toString(16)}`;return r?ur(a,{size:r}):a}const $u=new TextEncoder;function Uu(t,e={}){const s=$u.encode(t);return Qa(s,e)}const Du=new TextEncoder;function Lu(t,e={}){return typeof t=="number"||typeof t=="bigint"?ju(t,e):typeof t=="boolean"?Fu(t,e):Dr(t)?tc(t,e):sc(t,e)}function Fu(t,e={}){const s=new Uint8Array(1);return s[0]=Number(t),typeof e.size=="number"?(dr(s,{size:e.size}),ur(s,{size:e.size})):s}const Mt={zero:48,nine:57,A:65,F:70,a:97,f:102};function oo(t){if(t>=Mt.zero&&t<=Mt.nine)return t-Mt.zero;if(t>=Mt.A&&t<=Mt.F)return t-(Mt.A-10);if(t>=Mt.a&&t<=Mt.f)return t-(Mt.a-10)}function tc(t,e={}){let s=t;e.size&&(dr(s,{size:e.size}),s=ur(s,{dir:"right",size:e.size}));let r=s.slice(2);r.length%2&&(r=`0${r}`);const i=r.length/2,n=new Uint8Array(i);for(let o=0,a=0;o<i;o++){const c=oo(r.charCodeAt(a++)),l=oo(r.charCodeAt(a++));if(c===void 0||l===void 0)throw new Ns(`Invalid byte sequence ("${r[a-2]}${r[a-1]}" in "${r}").`);n[o]=c*16+l}return n}function ju(t,e){const s=ec(t,e);return tc(s)}function sc(t,e={}){const s=Du.encode(t);return typeof e.size=="number"?(dr(s,{size:e.size}),ur(s,{dir:"right",size:e.size})):s}function rc(t,e){const s=e||"hex",r=Fn.keccak_256(Dr(t,{strict:!1})?Lu(t):t);return s==="bytes"?r:un(r)}class Bu extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const s=super.get(e);return super.has(e)&&s!==void 0&&(this.delete(e),super.set(e,s)),s}set(e,s){if(super.set(e,s),this.maxSize&&this.size>this.maxSize){const r=this.keys().next().value;r&&this.delete(r)}return this}}const Ui=new Bu(8192);function Mu(t,e){if(Ui.has(`${t}.${e}`))return Ui.get(`${t}.${e}`);const s=t.substring(2).toLowerCase(),r=rc(sc(s),"bytes"),i=s.split("");for(let o=0;o<40;o+=2)r[o>>1]>>4>=8&&i[o]&&(i[o]=i[o].toUpperCase()),(r[o>>1]&15)>=8&&i[o+1]&&(i[o+1]=i[o+1].toUpperCase());const n=`0x${i.join("")}`;return Ui.set(`${t}.${e}`,n),n}function qu(t){const e=rc(`0x${t.substring(4)}`).substring(26);return Mu(`0x${e}`)}async function Wu({hash:t,signature:e}){const s=Dr(t)?t:un(t),{secp256k1:r}=await Promise.resolve().then(()=>require("./secp256k1-CcVQkYNr.js"));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:l,s:u,v:h,yParity:g}=e,w=Number(g??h),m=ao(w);return new r.Signature(ln(l),ln(u)).addRecoveryBit(m)}const o=Dr(e)?e:un(e),a=Ou(`0x${o.slice(130)}`),c=ao(a);return r.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(s.substring(2)).toHex(!1)}`}function ao(t){if(t===0||t===1)return t;if(t===27)return 0;if(t===28)return 1;throw new Error("Invalid yParityOrV value")}async function zu({hash:t,signature:e}){return qu(await Wu({hash:t,signature:e}))}const Hu=":";function er(t){const[e,s]=t.split(Hu);return{namespace:e,reference:s}}function ic(t,e){return t.includes(":")?[t]:e.chains||[]}var Vu=Object.defineProperty,Ku=Object.defineProperties,Gu=Object.getOwnPropertyDescriptors,co=Object.getOwnPropertySymbols,Ju=Object.prototype.hasOwnProperty,Yu=Object.prototype.propertyIsEnumerable,lo=(t,e,s)=>e in t?Vu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,uo=(t,e)=>{for(var s in e||(e={}))Ju.call(e,s)&&lo(t,s,e[s]);if(co)for(var s of co(e))Yu.call(e,s)&&lo(t,s,e[s]);return t},Xu=(t,e)=>Ku(t,Gu(e));const Zu="ReactNative",pt={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},Qu="js";function fi(){return typeof $.process$1<"u"&&typeof $.process$1.versions<"u"&&typeof $.process$1.versions.node<"u"}function ds(){return!d.cjsExports$2.getDocument()&&!!d.cjsExports$2.getNavigator()&&navigator.product===Zu}function ed(){return ds()&&typeof $.global<"u"&&typeof($.global==null?void 0:$.global.Platform)<"u"&&($.global==null?void 0:$.global.Platform.OS)==="android"}function td(){return ds()&&typeof $.global<"u"&&typeof($.global==null?void 0:$.global.Platform)<"u"&&($.global==null?void 0:$.global.Platform.OS)==="ios"}function hr(){return!fi()&&!!d.cjsExports$2.getNavigator()&&!!d.cjsExports$2.getDocument()}function Wr(){return ds()?pt.reactNative:fi()?pt.node:hr()?pt.browser:pt.unknown}function ho(){var t;try{return ds()&&typeof $.global<"u"&&typeof($.global==null?void 0:$.global.Application)<"u"?(t=$.global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function sd(t,e){const s=new URLSearchParams(t);for(const r of Object.keys(e).sort())if(e.hasOwnProperty(r)){const i=e[r];i!==void 0&&s.set(r,i)}return s.toString()}function rd(t){var e,s;const r=nc();try{return t!=null&&t.url&&r.url&&new URL(t.url).host!==new URL(r.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${t.url} differs from the actual page url:${r.url}. This is probably unintended and can lead to issues.`),t.url=r.url),(e=t?.icons)!=null&&e.length&&t.icons.length>0&&(t.icons=t.icons.filter(i=>i!=="")),Xu(uo(uo({},r),t),{url:t?.url||r.url,name:t?.name||r.name,description:t?.description||r.description,icons:(s=t?.icons)!=null&&s.length&&t.icons.length>0?t.icons:r.icons})}catch(i){return console.warn("Error populating app metadata",i),t||r}}function nc(){return d.cjsExports.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function id(){if(Wr()===pt.reactNative&&typeof $.global<"u"&&typeof($.global==null?void 0:$.global.Platform)<"u"){const{OS:s,Version:r}=$.global.Platform;return[s,r].join("-")}const t=d.detect();if(t===null)return"unknown";const e=t.os?t.os.replace(" ","").toLowerCase():"unknown";return t.type==="browser"?[e,t.name,t.version].join("-"):[e,t.version].join("-")}function nd(){var t;const e=Wr();return e===pt.browser?[e,((t=d.cjsExports$2.getLocation())==null?void 0:t.host)||"unknown"].join(":"):e}function oc(t,e,s){const r=id(),i=nd();return[[t,e].join("-"),[Qu,s].join("-"),r,i].join("/")}function od({protocol:t,version:e,relayUrl:s,sdkVersion:r,auth:i,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=s.split("?"),u=oc(t,e,r),h={auth:i,ua:u,projectId:n,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},g=sd(l[1]||"",h);return l[0]+"?"+g}function Cs(t,e){return t.filter(s=>e.includes(s)).length===t.length}function dn(t){return Object.fromEntries(t.entries())}function hn(t){return new Map(Object.entries(t))}function ws(t=d.cjsExports$1.FIVE_MINUTES,e){const s=d.cjsExports$1.toMiliseconds(t||d.cjsExports$1.FIVE_MINUTES);let r,i,n,o;return{resolve:a=>{n&&r&&(clearTimeout(n),r(a),o=Promise.resolve(a))},reject:a=>{n&&i&&(clearTimeout(n),i(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);n=setTimeout(()=>{const l=new Error(e);o=Promise.reject(l),c(l)},s),r=a,i=c})}}function is(t,e,s){return new Promise(async(r,i)=>{const n=setTimeout(()=>i(new Error(s)),e);try{const o=await t;r(o)}catch(o){i(o)}clearTimeout(n)})}function ac(t,e){if(typeof e=="string"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function ad(t){return ac("topic",t)}function cd(t){return ac("id",t)}function cc(t){const[e,s]=t.split(":"),r={id:void 0,topic:void 0};if(e==="topic"&&typeof s=="string")r.topic=s;else if(e==="id"&&Number.isInteger(Number(s)))r.id=Number(s);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${s}`);return r}function De(t,e){return d.cjsExports$1.fromMiliseconds(Date.now()+d.cjsExports$1.toMiliseconds(t))}function es(t){return Date.now()>=d.cjsExports$1.toMiliseconds(t)}function fe(t,e){return`${t}${e?`:${e}`:""}`}function Ut(t=[],e=[]){return[...new Set([...t,...e])]}async function ld({id:t,topic:e,wcDeepLink:s}){var r;try{if(!s)return;const i=typeof s=="string"?JSON.parse(s):s,n=i?.href;if(typeof n!="string")return;const o=ud(n,t,e),a=Wr();if(a===pt.browser){if(!((r=d.cjsExports$2.getDocument())!=null&&r.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}dd(o)}else a===pt.reactNative&&typeof($.global==null?void 0:$.global.Linking)<"u"&&await $.global.Linking.openURL(o)}catch(i){console.error(i)}}function ud(t,e,s){const r=`requestId=${e}&sessionTopic=${s}`;t.endsWith("/")&&(t=t.slice(0,-1));let i=`${t}`;if(t.startsWith("https://t.me")){const n=t.includes("?")?"&startapp=":"?startapp=";i=`${i}${n}${fd(r,!0)}`}else i=`${i}/wc?${r}`;return i}function dd(t){let e="_self";gd()?e="_top":(pd()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function hd(t,e){let s="";try{if(hr()&&(s=localStorage.getItem(e),s))return s;s=await t.getItem(e)}catch(r){console.error(r)}return s}function po(t,e){if(!t.includes(e))return null;const s=t.split(/([&,?,=])/),r=s.indexOf(e);return s[r+2]}function go(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function Bn(){return typeof $.process$1<"u"&&$.process$1.env.IS_VITEST==="true"}function pd(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function gd(){try{return window.self!==window.top}catch{return!1}}function fd(t,e=!1){const s=$.Buffer.from(t).toString("base64");return e?s.replace(/[=]/g,""):s}function lc(t){return $.Buffer.from(t,"base64").toString("utf-8")}function md(t){return new Promise(e=>setTimeout(e,t))}function Lr(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function wd(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function zr(t,...e){if(!wd(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Mn(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Lr(t.outputLen),Lr(t.blockLen)}function rr(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function uc(t,e){zr(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}const Qr=BigInt(2**32-1),fo=BigInt(32);function yd(t,e=!1){return e?{h:Number(t&Qr),l:Number(t>>fo&Qr)}:{h:Number(t>>fo&Qr)|0,l:Number(t&Qr)|0}}function bd(t,e=!1){let s=new Uint32Array(t.length),r=new Uint32Array(t.length);for(let i=0;i<t.length;i++){const{h:n,l:o}=yd(t[i],e);[s[i],r[i]]=[n,o]}return[s,r]}const vd=(t,e,s)=>t<<s|e>>>32-s,Ed=(t,e,s)=>e<<s|t>>>32-s,Cd=(t,e,s)=>e<<s-32|t>>>64-s,Id=(t,e,s)=>t<<s-32|e>>>64-s,xs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Nd(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Di(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function kt(t,e){return t<<32-e|t>>>e}const mo=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Ad(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function wo(t){for(let e=0;e<t.length;e++)t[e]=Ad(t[e])}function Sd(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function ir(t){return typeof t=="string"&&(t=Sd(t)),zr(t),t}function _d(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];zr(i),e+=i.length}const s=new Uint8Array(e);for(let r=0,i=0;r<t.length;r++){const n=t[r];s.set(n,i),i+=n.length}return s}let qn=class{clone(){return this._cloneInto()}};function dc(t){const e=r=>t().update(ir(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function pr(t=32){if(xs&&typeof xs.getRandomValues=="function")return xs.getRandomValues(new Uint8Array(t));if(xs&&typeof xs.randomBytes=="function")return xs.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}const hc=[],pc=[],gc=[],Pd=BigInt(0),wr=BigInt(1),kd=BigInt(2),Td=BigInt(7),Od=BigInt(256),xd=BigInt(113);for(let t=0,e=wr,s=1,r=0;t<24;t++){[s,r]=[r,(2*s+3*r)%5],hc.push(2*(5*r+s)),pc.push((t+1)*(t+2)/2%64);let i=Pd;for(let n=0;n<7;n++)e=(e<<wr^(e>>Td)*xd)%Od,e&kd&&(i^=wr<<(wr<<BigInt(n))-wr);gc.push(i)}const[Rd,$d]=bd(gc,!0),yo=(t,e,s)=>s>32?Cd(t,e,s):vd(t,e,s),bo=(t,e,s)=>s>32?Id(t,e,s):Ed(t,e,s);function Ud(t,e=24){const s=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let o=0;o<10;o++)s[o]=t[o]^t[o+10]^t[o+20]^t[o+30]^t[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=s[c],u=s[c+1],h=yo(l,u,1)^s[a],g=bo(l,u,1)^s[a+1];for(let w=0;w<50;w+=10)t[o+w]^=h,t[o+w+1]^=g}let i=t[2],n=t[3];for(let o=0;o<24;o++){const a=pc[o],c=yo(i,n,a),l=bo(i,n,a),u=hc[o];i=t[u],n=t[u+1],t[u]=c,t[u+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)s[a]=t[o+a];for(let a=0;a<10;a++)t[o+a]^=~s[(a+2)%10]&s[(a+4)%10]}t[0]^=Rd[r],t[1]^=$d[r]}s.fill(0)}let Dd=class fc extends qn{constructor(e,s,r,i=!1,n=24){if(super(),this.blockLen=e,this.suffix=s,this.outputLen=r,this.enableXOF=i,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,Lr(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Nd(this.state)}keccak(){mo||wo(this.state32),Ud(this.state32,this.rounds),mo||wo(this.state32),this.posOut=0,this.pos=0}update(e){rr(this);const{blockLen:s,state:r}=this;e=ir(e);const i=e.length;for(let n=0;n<i;){const o=Math.min(s-this.pos,i-n);for(let a=0;a<o;a++)r[this.pos++]^=e[n++];this.pos===s&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:s,pos:r,blockLen:i}=this;e[r]^=s,(s&128)!==0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){rr(this,!1),zr(e),this.finish();const s=this.state,{blockLen:r}=this;for(let i=0,n=e.length;i<n;){this.posOut>=r&&this.keccak();const o=Math.min(r-this.posOut,n-i);e.set(s.subarray(this.posOut,this.posOut+o),i),this.posOut+=o,i+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return Lr(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(uc(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:s,suffix:r,outputLen:i,rounds:n,enableXOF:o}=this;return e||(e=new fc(s,r,i,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=r,e.outputLen=i,e.enableXOF=o,e.destroyed=this.destroyed,e}};const Ld=(t,e,s)=>dc(()=>new Dd(e,t,s)),Fd=Ld(1,136,256/8),jd="https://rpc.walletconnect.org/v1";function mc(t){const e=`Ethereum Signed Message:
|
|
5
5
|
${t.length}`,s=new TextEncoder().encode(e+t);return"0x"+$.Buffer.from(Fd(s)).toString("hex")}async function Bd(t,e,s,r,i,n){switch(s.t){case"eip191":return await Md(t,e,s.s);case"eip1271":return await qd(t,e,s.s,r,i,n);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${s.t}`)}}async function Md(t,e,s){return(await zu({hash:mc(e),signature:s})).toLowerCase()===t.toLowerCase()}async function qd(t,e,s,r,i,n){const o=er(r);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const a="0x1626ba7e",c="0000000000000000000000000000000000000000000000000000000000000040",l="0000000000000000000000000000000000000000000000000000000000000041",u=s.substring(2),h=mc(e).substring(2),g=a+h+c+l+u,w=await fetch(`${n||jd}/?chainId=${r}&projectId=${i}`,{method:"POST",body:JSON.stringify({id:Wd(),jsonrpc:"2.0",method:"eth_call",params:[{to:t,data:g},"latest"]})}),{result:m}=await w.json();return m?m.slice(0,a.length).toLowerCase()===a.toLowerCase():!1}catch(a){return console.error("isValidEip1271Signature: ",a),!1}}function Wd(){return Date.now()+Math.floor(Math.random()*1e3)}function zd(t){const e=atob(t),s=new Uint8Array(e.length);for(let o=0;o<e.length;o++)s[o]=e.charCodeAt(o);const r=s[0];if(r===0)throw new Error("No signatures found");const i=1+r*64;if(s.length<i)throw new Error("Transaction data too short for claimed signature count");if(s.length<100)throw new Error("Transaction too short");const n=$.Buffer.from(t,"base64").slice(1,65);return Fn.bs58.encode(n)}var Hd=Object.defineProperty,Vd=Object.defineProperties,Kd=Object.getOwnPropertyDescriptors,vo=Object.getOwnPropertySymbols,Gd=Object.prototype.hasOwnProperty,Jd=Object.prototype.propertyIsEnumerable,Eo=(t,e,s)=>e in t?Hd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Yd=(t,e)=>{for(var s in e||(e={}))Gd.call(e,s)&&Eo(t,s,e[s]);if(vo)for(var s of vo(e))Jd.call(e,s)&&Eo(t,s,e[s]);return t},Xd=(t,e)=>Vd(t,Kd(e));const Zd="did:pkh:",Wn=t=>t?.split(":"),Qd=t=>{const e=t&&Wn(t);if(e)return t.includes(Zd)?e[3]:e[1]},pn=t=>{const e=t&&Wn(t);if(e)return e[2]+":"+e[3]},mi=t=>{const e=t&&Wn(t);if(e)return e.pop()};async function Co(t){const{cacao:e,projectId:s}=t,{s:r,p:i}=e,n=wc(i,i.iss),o=mi(i.iss);return await Bd(o,n,r,pn(i.iss),s)}const wc=(t,e)=>{const s=`${t.domain} wants you to sign in with your Ethereum account:`,r=mi(e);if(!t.aud&&!t.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let i=t.statement||void 0;const n=`URI: ${t.aud||t.uri}`,o=`Version: ${t.version}`,a=`Chain ID: ${Qd(e)}`,c=`Nonce: ${t.nonce}`,l=`Issued At: ${t.iat}`,u=t.exp?`Expiration Time: ${t.exp}`:void 0,h=t.nbf?`Not Before: ${t.nbf}`:void 0,g=t.requestId?`Request ID: ${t.requestId}`:void 0,w=t.resources?`Resources:${t.resources.map(y=>`
|
|
6
6
|
- ${y}`).join("")}`:void 0,m=ui(t.resources);if(m){const y=Fr(m);i=ch(i,y)}return[s,r,"",i,"",n,o,a,c,l,u,h,g,w].filter(y=>y!=null).join(`
|
|
7
7
|
`)};function eh(t){return $.Buffer.from(JSON.stringify(t)).toString("base64")}function th(t){return JSON.parse($.Buffer.from(t,"base64").toString("utf-8"))}function As(t){if(!t)throw new Error("No recap provided, value is undefined");if(!t.att)throw new Error("No `att` property found");const e=Object.keys(t.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(s=>{const r=t.att[s];if(Array.isArray(r))throw new Error(`Resource must be an object: ${s}`);if(typeof r!="object")throw new Error(`Resource must be an object: ${s}`);if(!Object.keys(r).length)throw new Error(`Resource object is empty: ${s}`);Object.keys(r).forEach(i=>{const n=r[i];if(!Array.isArray(n))throw new Error(`Ability limits ${i} must be an array of objects, found: ${n}`);if(!n.length)throw new Error(`Value of ${i} is empty array, must be an array with objects`);n.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${i}) must be an array of objects, found: ${o}`)})})})}function sh(t,e,s,r={}){return s?.sort((i,n)=>i.localeCompare(n)),{att:{[t]:rh(e,s,r)}}}function rh(t,e,s={}){e=e?.sort((i,n)=>i.localeCompare(n));const r=e.map(i=>({[`${t}/${i}`]:[s]}));return Object.assign({},...r)}function yc(t){return As(t),`urn:recap:${eh(t).replace(/=/g,"")}`}function Fr(t){const e=th(t.replace("urn:recap:",""));return As(e),e}function ih(t,e,s){const r=sh(t,e,s);return yc(r)}function nh(t){return t&&t.includes("urn:recap:")}function oh(t,e){const s=Fr(t),r=Fr(e),i=ah(s,r);return yc(i)}function ah(t,e){As(t),As(e);const s=Object.keys(t.att).concat(Object.keys(e.att)).sort((i,n)=>i.localeCompare(n)),r={att:{}};return s.forEach(i=>{var n,o;Object.keys(((n=t.att)==null?void 0:n[i])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[i])||{})).sort((a,c)=>a.localeCompare(c)).forEach(a=>{var c,l;r.att[i]=Xd(Yd({},r.att[i]),{[a]:((c=t.att[i])==null?void 0:c[a])||((l=e.att[i])==null?void 0:l[a])})})}),r}function ch(t="",e){As(e);const s="I further authorize the stated URI to perform the following actions on my behalf: ";if(t.includes(s))return t;const r=[];let i=0;Object.keys(e.att).forEach(a=>{const c=Object.keys(e.att[a]).map(h=>({ability:h.split("/")[0],action:h.split("/")[1]}));c.sort((h,g)=>h.action.localeCompare(g.action));const l={};c.forEach(h=>{l[h.ability]||(l[h.ability]=[]),l[h.ability].push(h.action)});const u=Object.keys(l).map(h=>(i++,`(${i}) '${h}': '${l[h].join("', '")}' for '${a}'.`));r.push(u.join(", ").replace(".,","."))});const n=r.join(" "),o=`${s}${n}`;return`${t?t+" ":""}${o}`}function Io(t){var e;const s=Fr(t);As(s);const r=(e=s.att)==null?void 0:e.eip155;return r?Object.keys(r).map(i=>i.split("/")[1]):[]}function No(t){const e=Fr(t);As(e);const s=[];return Object.values(e.att).forEach(r=>{Object.values(r).forEach(i=>{var n;(n=i?.[0])!=null&&n.chains&&s.push(i[0].chains)})}),[...new Set(s.flat())]}function ui(t){if(!t)return;const e=t?.[t.length-1];return nh(e)?e:void 0}function Li(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function bc(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ht(t,...e){if(!bc(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function Ao(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function lh(t,e){ht(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function So(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}const os=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),uh=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),dh=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!dh)throw new Error("Non little-endian hardware is not supported");function hh(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function gn(t){if(typeof t=="string")t=hh(t);else if(bc(t))t=fn(t);else throw new Error("Uint8Array expected, got "+typeof t);return t}function ph(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function gh(t,e){if(t.length!==e.length)return!1;let s=0;for(let r=0;r<t.length;r++)s|=t[r]^e[r];return s===0}const fh=(t,e)=>{function s(r,...i){if(ht(r),t.nonceLength!==void 0){const l=i[0];if(!l)throw new Error("nonce / iv required");t.varSizeNonce?ht(l):ht(l,t.nonceLength)}const n=t.tagLength;n&&i[1]!==void 0&&ht(i[1]);const o=e(r,...i),a=(l,u)=>{if(u!==void 0){if(l!==2)throw new Error("cipher output not supported");ht(u)}};let c=!1;return{encrypt(l,u){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,ht(l),a(o.encrypt.length,u),o.encrypt(l,u)},decrypt(l,u){if(ht(l),n&&l.length<n)throw new Error("invalid ciphertext length: smaller than tagLength="+n);return a(o.decrypt.length,u),o.decrypt(l,u)}}}return Object.assign(s,t),s};function _o(t,e,s=!0){if(e===void 0)return new Uint8Array(t);if(e.length!==t)throw new Error("invalid output length, expected "+t+", got: "+e.length);if(s&&!mh(e))throw new Error("invalid output, must be aligned");return e}function Po(t,e,s,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,r);const i=BigInt(32),n=BigInt(4294967295),o=Number(s>>i&n),a=Number(s&n);t.setUint32(e+4,o,r),t.setUint32(e+0,a,r)}function mh(t){return t.byteOffset%4===0}function fn(t){return Uint8Array.from(t)}function nr(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}const vc=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),wh=vc("expand 16-byte k"),yh=vc("expand 32-byte k"),bh=os(wh),vh=os(yh);function ue(t,e){return t<<e|t>>>32-e}function mn(t){return t.byteOffset%4===0}const ei=64,Eh=16,Ec=2**32-1,ko=new Uint32Array;function Ch(t,e,s,r,i,n,o,a){const c=i.length,l=new Uint8Array(ei),u=os(l),h=mn(i)&&mn(n),g=h?os(i):ko,w=h?os(n):ko;for(let m=0;m<c;o++){if(t(e,s,r,u,o,a),o>=Ec)throw new Error("arx: counter overflow");const y=Math.min(ei,c-m);if(h&&y===ei){const f=m/4;if(m%4!==0)throw new Error("arx: invalid block position");for(let v=0,b;v<Eh;v++)b=f+v,w[b]=g[b]^u[v];m+=ei;continue}for(let f=0,v;f<y;f++)v=m+f,n[v]=i[v]^l[f];m+=y}}function Ih(t,e){const{allowShortKeys:s,extendNonceFn:r,counterLength:i,counterRight:n,rounds:o}=ph({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return Li(i),Li(o),So(n),So(s),(a,c,l,u,h=0)=>{ht(a),ht(c),ht(l);const g=l.length;if(u===void 0&&(u=new Uint8Array(g)),ht(u),Li(h),h<0||h>=Ec)throw new Error("arx: counter overflow");if(u.length<g)throw new Error(`arx: output (${u.length}) is shorter than data (${g})`);const w=[];let m=a.length,y,f;if(m===32)w.push(y=fn(a)),f=vh;else if(m===16&&s)y=new Uint8Array(32),y.set(a),y.set(a,16),f=bh,w.push(y);else throw new Error(`arx: invalid 32-byte key, got length=${m}`);mn(c)||w.push(c=fn(c));const v=os(y);if(r){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");r(f,v,os(c.subarray(0,16)),v),c=c.subarray(16)}const b=16-i;if(b!==c.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){const x=new Uint8Array(12);x.set(c,n?0:12-c.length),c=x,w.push(c)}const A=os(c);return Ch(t,f,v,A,l,u,h,o),nr(...w),u}}const ze=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class Nh{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=gn(e),ht(e,32);const s=ze(e,0),r=ze(e,2),i=ze(e,4),n=ze(e,6),o=ze(e,8),a=ze(e,10),c=ze(e,12),l=ze(e,14);this.r[0]=s&8191,this.r[1]=(s>>>13|r<<3)&8191,this.r[2]=(r>>>10|i<<6)&7939,this.r[3]=(i>>>7|n<<9)&8191,this.r[4]=(n>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|l<<8)&8191,this.r[9]=l>>>5&127;for(let u=0;u<8;u++)this.pad[u]=ze(e,16+2*u)}process(e,s,r=!1){const i=r?0:2048,{h:n,r:o}=this,a=o[0],c=o[1],l=o[2],u=o[3],h=o[4],g=o[5],w=o[6],m=o[7],y=o[8],f=o[9],v=ze(e,s+0),b=ze(e,s+2),A=ze(e,s+4),x=ze(e,s+6),U=ze(e,s+8),S=ze(e,s+10),k=ze(e,s+12),D=ze(e,s+14);let E=n[0]+(v&8191),G=n[1]+((v>>>13|b<<3)&8191),B=n[2]+((b>>>10|A<<6)&8191),z=n[3]+((A>>>7|x<<9)&8191),Q=n[4]+((x>>>4|U<<12)&8191),I=n[5]+(U>>>1&8191),O=n[6]+((U>>>14|S<<2)&8191),T=n[7]+((S>>>11|k<<5)&8191),F=n[8]+((k>>>8|D<<8)&8191),M=n[9]+(D>>>5|i),_=0,Y=_+E*a+G*(5*f)+B*(5*y)+z*(5*m)+Q*(5*w);_=Y>>>13,Y&=8191,Y+=I*(5*g)+O*(5*h)+T*(5*u)+F*(5*l)+M*(5*c),_+=Y>>>13,Y&=8191;let te=_+E*c+G*a+B*(5*f)+z*(5*y)+Q*(5*m);_=te>>>13,te&=8191,te+=I*(5*w)+O*(5*g)+T*(5*h)+F*(5*u)+M*(5*l),_+=te>>>13,te&=8191;let ie=_+E*l+G*c+B*a+z*(5*f)+Q*(5*y);_=ie>>>13,ie&=8191,ie+=I*(5*m)+O*(5*w)+T*(5*g)+F*(5*h)+M*(5*u),_+=ie>>>13,ie&=8191;let Ce=_+E*u+G*l+B*c+z*a+Q*(5*f);_=Ce>>>13,Ce&=8191,Ce+=I*(5*y)+O*(5*m)+T*(5*w)+F*(5*g)+M*(5*h),_+=Ce>>>13,Ce&=8191;let ge=_+E*h+G*u+B*l+z*c+Q*a;_=ge>>>13,ge&=8191,ge+=I*(5*f)+O*(5*y)+T*(5*m)+F*(5*w)+M*(5*g),_+=ge>>>13,ge&=8191;let Te=_+E*g+G*h+B*u+z*l+Q*c;_=Te>>>13,Te&=8191,Te+=I*a+O*(5*f)+T*(5*y)+F*(5*m)+M*(5*w),_+=Te>>>13,Te&=8191;let Fe=_+E*w+G*g+B*h+z*u+Q*l;_=Fe>>>13,Fe&=8191,Fe+=I*c+O*a+T*(5*f)+F*(5*y)+M*(5*m),_+=Fe>>>13,Fe&=8191;let Je=_+E*m+G*w+B*g+z*h+Q*u;_=Je>>>13,Je&=8191,Je+=I*l+O*c+T*a+F*(5*f)+M*(5*y),_+=Je>>>13,Je&=8191;let Re=_+E*y+G*m+B*w+z*g+Q*h;_=Re>>>13,Re&=8191,Re+=I*u+O*l+T*c+F*a+M*(5*f),_+=Re>>>13,Re&=8191;let $e=_+E*f+G*y+B*m+z*w+Q*g;_=$e>>>13,$e&=8191,$e+=I*h+O*u+T*l+F*c+M*a,_+=$e>>>13,$e&=8191,_=(_<<2)+_|0,_=_+Y|0,Y=_&8191,_=_>>>13,te+=_,n[0]=Y,n[1]=te,n[2]=ie,n[3]=Ce,n[4]=ge,n[5]=Te,n[6]=Fe,n[7]=Je,n[8]=Re,n[9]=$e}finalize(){const{h:e,pad:s}=this,r=new Uint16Array(10);let i=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=i,i=e[a]>>>13,e[a]&=8191;e[0]+=i*5,i=e[0]>>>13,e[0]&=8191,e[1]+=i,i=e[1]>>>13,e[1]&=8191,e[2]+=i,r[0]=e[0]+5,i=r[0]>>>13,r[0]&=8191;for(let a=1;a<10;a++)r[a]=e[a]+i,i=r[a]>>>13,r[a]&=8191;r[9]-=8192;let n=(i^1)-1;for(let a=0;a<10;a++)r[a]&=n;n=~n;for(let a=0;a<10;a++)e[a]=e[a]&n|r[a];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+s[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+s[a]|0)+(o>>>16)|0,e[a]=o&65535;nr(r)}update(e){Ao(this);const{buffer:s,blockLen:r}=this;e=gn(e);const i=e.length;for(let n=0;n<i;){const o=Math.min(r-this.pos,i-n);if(o===r){for(;r<=i-n;n+=r)this.process(e,n);continue}s.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===r&&(this.process(s,0,!1),this.pos=0)}return this}destroy(){nr(this.h,this.r,this.buffer,this.pad)}digestInto(e){Ao(this),lh(e,this),this.finished=!0;const{buffer:s,h:r}=this;let{pos:i}=this;if(i){for(s[i++]=1;i<16;i++)s[i]=0;this.process(s,0,!0)}this.finalize();let n=0;for(let o=0;o<8;o++)e[n++]=r[o]>>>0,e[n++]=r[o]>>>8;return e}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const r=e.slice(0,s);return this.destroy(),r}}function Ah(t){const e=(r,i)=>t(i).update(gn(r)).digest(),s=t(new Uint8Array(32));return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=r=>t(r),e}const Sh=Ah(t=>new Nh(t));function _h(t,e,s,r,i,n=20){let o=t[0],a=t[1],c=t[2],l=t[3],u=e[0],h=e[1],g=e[2],w=e[3],m=e[4],y=e[5],f=e[6],v=e[7],b=i,A=s[0],x=s[1],U=s[2],S=o,k=a,D=c,E=l,G=u,B=h,z=g,Q=w,I=m,O=y,T=f,F=v,M=b,_=A,Y=x,te=U;for(let Ce=0;Ce<n;Ce+=2)S=S+G|0,M=ue(M^S,16),I=I+M|0,G=ue(G^I,12),S=S+G|0,M=ue(M^S,8),I=I+M|0,G=ue(G^I,7),k=k+B|0,_=ue(_^k,16),O=O+_|0,B=ue(B^O,12),k=k+B|0,_=ue(_^k,8),O=O+_|0,B=ue(B^O,7),D=D+z|0,Y=ue(Y^D,16),T=T+Y|0,z=ue(z^T,12),D=D+z|0,Y=ue(Y^D,8),T=T+Y|0,z=ue(z^T,7),E=E+Q|0,te=ue(te^E,16),F=F+te|0,Q=ue(Q^F,12),E=E+Q|0,te=ue(te^E,8),F=F+te|0,Q=ue(Q^F,7),S=S+B|0,te=ue(te^S,16),T=T+te|0,B=ue(B^T,12),S=S+B|0,te=ue(te^S,8),T=T+te|0,B=ue(B^T,7),k=k+z|0,M=ue(M^k,16),F=F+M|0,z=ue(z^F,12),k=k+z|0,M=ue(M^k,8),F=F+M|0,z=ue(z^F,7),D=D+Q|0,_=ue(_^D,16),I=I+_|0,Q=ue(Q^I,12),D=D+Q|0,_=ue(_^D,8),I=I+_|0,Q=ue(Q^I,7),E=E+G|0,Y=ue(Y^E,16),O=O+Y|0,G=ue(G^O,12),E=E+G|0,Y=ue(Y^E,8),O=O+Y|0,G=ue(G^O,7);let ie=0;r[ie++]=o+S|0,r[ie++]=a+k|0,r[ie++]=c+D|0,r[ie++]=l+E|0,r[ie++]=u+G|0,r[ie++]=h+B|0,r[ie++]=g+z|0,r[ie++]=w+Q|0,r[ie++]=m+I|0,r[ie++]=y+O|0,r[ie++]=f+T|0,r[ie++]=v+F|0,r[ie++]=b+M|0,r[ie++]=A+_|0,r[ie++]=x+Y|0,r[ie++]=U+te|0}const Ph=Ih(_h,{counterRight:!1,counterLength:4,allowShortKeys:!1}),kh=new Uint8Array(16),To=(t,e)=>{t.update(e);const s=e.length%16;s&&t.update(kh.subarray(s))},Th=new Uint8Array(32);function Oo(t,e,s,r,i){const n=t(e,s,Th),o=Sh.create(n);i&&To(o,i),To(o,r);const a=new Uint8Array(16),c=uh(a);Po(c,0,BigInt(i?i.length:0),!0),Po(c,8,BigInt(r.length),!0),o.update(a);const l=o.digest();return nr(n,a),l}const Oh=t=>(e,s,r)=>({encrypt(i,n){const o=i.length;n=_o(o+16,n,!1),n.set(i);const a=n.subarray(0,-16);t(e,s,a,a,1);const c=Oo(t,e,s,a,r);return n.set(c,o),nr(c),n},decrypt(i,n){n=_o(i.length-16,n,!1);const o=i.subarray(0,-16),a=i.subarray(-16),c=Oo(t,e,s,o,r);if(!gh(a,c))throw new Error("invalid tag");return n.set(i.subarray(0,-16)),t(e,s,n,n,1),nr(c),n}}),Cc=fh({blockSize:64,nonceLength:12,tagLength:16},Oh(Ph));let Ic=class extends qn{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,Mn(e);const r=ir(s);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,n=new Uint8Array(i);n.set(r.length>i?e.create().update(r).digest():r);for(let o=0;o<n.length;o++)n[o]^=54;this.iHash.update(n),this.oHash=e.create();for(let o=0;o<n.length;o++)n[o]^=106;this.oHash.update(n),n.fill(0)}update(e){return rr(this),this.iHash.update(e),this}digestInto(e){rr(this),zr(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:s,iHash:r,finished:i,destroyed:n,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=n,e.blockLen=o,e.outputLen=a,e.oHash=s._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const Ci=(t,e,s)=>new Ic(t,e).update(s).digest();Ci.create=(t,e)=>new Ic(t,e);function xh(t,e,s){return Mn(t),s===void 0&&(s=new Uint8Array(t.outputLen)),Ci(t,ir(s),ir(e))}const Fi=new Uint8Array([0]),xo=new Uint8Array;function Rh(t,e,s,r=32){if(Mn(t),Lr(r),r>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const i=Math.ceil(r/t.outputLen);s===void 0&&(s=xo);const n=new Uint8Array(i*t.outputLen),o=Ci.create(t,e),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let l=0;l<i;l++)Fi[0]=l+1,a.update(l===0?xo:c).update(s).update(Fi).digestInto(c),n.set(c,t.outputLen*l),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),Fi.fill(0),n.slice(0,r)}const $h=(t,e,s,r,i)=>Rh(t,xh(t,e,s),r,i);function Uh(t,e,s,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,s,r);const i=BigInt(32),n=BigInt(4294967295),o=Number(s>>i&n),a=Number(s&n),c=r?4:0,l=r?0:4;t.setUint32(e+c,o,r),t.setUint32(e+l,a,r)}function Dh(t,e,s){return t&e^~t&s}function Lh(t,e,s){return t&e^t&s^e&s}let Fh=class extends qn{constructor(e,s,r,i){super(),this.blockLen=e,this.outputLen=s,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Di(this.buffer)}update(e){rr(this);const{view:s,buffer:r,blockLen:i}=this;e=ir(e);const n=e.length;for(let o=0;o<n;){const a=Math.min(i-this.pos,n-o);if(a===i){const c=Di(e);for(;i<=n-o;o+=i)this.process(c,o);continue}r.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(s,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){rr(this),uc(e,this),this.finished=!0;const{buffer:s,view:r,blockLen:i,isLE:n}=this;let{pos:o}=this;s[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(r,0),o=0);for(let h=o;h<i;h++)s[h]=0;Uh(r,i-8,BigInt(this.length*8),n),this.process(r,0);const a=Di(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=c/4,u=this.get();if(l>u.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<l;h++)a.setUint32(4*h,u[h],n)}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const r=e.slice(0,s);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:s,buffer:r,length:i,finished:n,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=n,e.destroyed=o,i%s&&e.buffer.set(r),e}};const jh=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Xt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Zt=new Uint32Array(64);class Bh extends Fh{constructor(){super(64,32,8,!1),this.A=Xt[0]|0,this.B=Xt[1]|0,this.C=Xt[2]|0,this.D=Xt[3]|0,this.E=Xt[4]|0,this.F=Xt[5]|0,this.G=Xt[6]|0,this.H=Xt[7]|0}get(){const{A:e,B:s,C:r,D:i,E:n,F:o,G:a,H:c}=this;return[e,s,r,i,n,o,a,c]}set(e,s,r,i,n,o,a,c){this.A=e|0,this.B=s|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,s){for(let h=0;h<16;h++,s+=4)Zt[h]=e.getUint32(s,!1);for(let h=16;h<64;h++){const g=Zt[h-15],w=Zt[h-2],m=kt(g,7)^kt(g,18)^g>>>3,y=kt(w,17)^kt(w,19)^w>>>10;Zt[h]=y+Zt[h-7]+m+Zt[h-16]|0}let{A:r,B:i,C:n,D:o,E:a,F:c,G:l,H:u}=this;for(let h=0;h<64;h++){const g=kt(a,6)^kt(a,11)^kt(a,25),w=u+g+Dh(a,c,l)+jh[h]+Zt[h]|0,m=(kt(r,2)^kt(r,13)^kt(r,22))+Lh(r,i,n)|0;u=l,l=c,c=a,a=o+w|0,o=n,n=i,i=r,r=w+m|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,l=l+this.G|0,u=u+this.H|0,this.set(r,i,n,o,a,c,l,u)}roundClean(){Zt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Hr=dc(()=>new Bh);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ii=BigInt(0),Ni=BigInt(1),Mh=BigInt(2);function Ss(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Vr(t){if(!Ss(t))throw new Error("Uint8Array expected")}function or(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}const qh=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ar(t){Vr(t);let e="";for(let s=0;s<t.length;s++)e+=qh[t[s]];return e}function Ys(t){const e=t.toString(16);return e.length&1?"0"+e:e}function zn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Ii:BigInt("0x"+t)}const qt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ro(t){if(t>=qt._0&&t<=qt._9)return t-qt._0;if(t>=qt.A&&t<=qt.F)return t-(qt.A-10);if(t>=qt.a&&t<=qt.f)return t-(qt.a-10)}function cr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);const e=t.length,s=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(s);for(let i=0,n=0;i<s;i++,n+=2){const o=Ro(t.charCodeAt(n)),a=Ro(t.charCodeAt(n+1));if(o===void 0||a===void 0){const c=t[n]+t[n+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+n)}r[i]=o*16+a}return r}function Is(t){return zn(ar(t))}function jr(t){return Vr(t),zn(ar(Uint8Array.from(t).reverse()))}function lr(t,e){return cr(t.toString(16).padStart(e*2,"0"))}function Ai(t,e){return lr(t,e).reverse()}function Wh(t){return cr(Ys(t))}function dt(t,e,s){let r;if(typeof e=="string")try{r=cr(e)}catch(n){throw new Error(t+" must be hex string or Uint8Array, cause: "+n)}else if(Ss(e))r=Uint8Array.from(e);else throw new Error(t+" must be hex string or Uint8Array");const i=r.length;if(typeof s=="number"&&i!==s)throw new Error(t+" of length "+s+" expected, got "+i);return r}function Br(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];Vr(i),e+=i.length}const s=new Uint8Array(e);for(let r=0,i=0;r<t.length;r++){const n=t[r];s.set(n,i),i+=n.length}return s}function zh(t,e){if(t.length!==e.length)return!1;let s=0;for(let r=0;r<t.length;r++)s|=t[r]^e[r];return s===0}function Hh(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}const ji=t=>typeof t=="bigint"&&Ii<=t;function Si(t,e,s){return ji(t)&&ji(e)&&ji(s)&&e<=t&&t<s}function Vt(t,e,s,r){if(!Si(e,s,r))throw new Error("expected valid "+t+": "+s+" <= n < "+r+", got "+e)}function Nc(t){let e;for(e=0;t>Ii;t>>=Ni,e+=1);return e}function Vh(t,e){return t>>BigInt(e)&Ni}function Kh(t,e,s){return t|(s?Ni:Ii)<<BigInt(e)}const Hn=t=>(Mh<<BigInt(t-1))-Ni,Bi=t=>new Uint8Array(t),$o=t=>Uint8Array.from(t);function Ac(t,e,s){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof s!="function")throw new Error("hmacFn must be a function");let r=Bi(t),i=Bi(t),n=0;const o=()=>{r.fill(1),i.fill(0),n=0},a=(...u)=>s(i,r,...u),c=(u=Bi())=>{i=a($o([0]),u),r=a(),u.length!==0&&(i=a($o([1]),u),r=a())},l=()=>{if(n++>=1e3)throw new Error("drbg: tried 1000 values");let u=0;const h=[];for(;u<e;){r=a();const g=r.slice();h.push(g),u+=r.length}return Br(...h)};return(u,h)=>{o(),c(u);let g;for(;!(g=h(l()));)c();return o(),g}}const Gh={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Ss(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function gr(t,e,s={}){const r=(i,n,o)=>{const a=Gh[n];if(typeof a!="function")throw new Error("invalid validator function");const c=t[i];if(!(o&&c===void 0)&&!a(c,t))throw new Error("param "+String(i)+" is invalid. Expected "+n+", got "+c)};for(const[i,n]of Object.entries(e))r(i,n,!1);for(const[i,n]of Object.entries(s))r(i,n,!0);return t}const Jh=()=>{throw new Error("not implemented")};function wn(t){const e=new WeakMap;return(s,...r)=>{const i=e.get(s);if(i!==void 0)return i;const n=t(s,...r);return e.set(s,n),n}}var Yh=Object.freeze({__proto__:null,isBytes:Ss,abytes:Vr,abool:or,bytesToHex:ar,numberToHexUnpadded:Ys,hexToNumber:zn,hexToBytes:cr,bytesToNumberBE:Is,bytesToNumberLE:jr,numberToBytesBE:lr,numberToBytesLE:Ai,numberToVarBytesBE:Wh,ensureBytes:dt,concatBytes:Br,equalBytes:zh,utf8ToBytes:Hh,inRange:Si,aInRange:Vt,bitLen:Nc,bitGet:Vh,bitSet:Kh,bitMask:Hn,createHmacDrbg:Ac,validateObject:gr,notImplemented:Jh,memoized:wn});const We=BigInt(0),ke=BigInt(1),ys=BigInt(2),Xh=BigInt(3),yn=BigInt(4),Uo=BigInt(5),Do=BigInt(8);function ot(t,e){const s=t%e;return s>=We?s:e+s}function Sc(t,e,s){if(e<We)throw new Error("invalid exponent, negatives unsupported");if(s<=We)throw new Error("invalid modulus");if(s===ke)return We;let r=ke;for(;e>We;)e&ke&&(r=r*t%s),t=t*t%s,e>>=ke;return r}function St(t,e,s){let r=t;for(;e-- >We;)r*=r,r%=s;return r}function bn(t,e){if(t===We)throw new Error("invert: expected non-zero number");if(e<=We)throw new Error("invert: expected positive modulus, got "+e);let s=ot(t,e),r=e,i=We,n=ke;for(;s!==We;){const o=r/s,a=r%s,c=i-n*o;r=s,s=a,i=n,n=c}if(r!==ke)throw new Error("invert: does not exist");return ot(i,e)}function Zh(t){const e=(t-ke)/ys;let s,r,i;for(s=t-ke,r=0;s%ys===We;s/=ys,r++);for(i=ys;i<t&&Sc(i,e,t)!==t-ke;i++)if(i>1e3)throw new Error("Cannot find square root: likely non-prime P");if(r===1){const o=(t+ke)/yn;return function(a,c){const l=a.pow(c,o);if(!a.eql(a.sqr(l),c))throw new Error("Cannot find square root");return l}}const n=(s+ke)/ys;return function(o,a){if(o.pow(a,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let c=r,l=o.pow(o.mul(o.ONE,i),s),u=o.pow(a,n),h=o.pow(a,s);for(;!o.eql(h,o.ONE);){if(o.eql(h,o.ZERO))return o.ZERO;let g=1;for(let m=o.sqr(h);g<c&&!o.eql(m,o.ONE);g++)m=o.sqr(m);const w=o.pow(l,ke<<BigInt(c-g-1));l=o.sqr(w),u=o.mul(u,w),h=o.mul(h,l),c=g}return u}}function Qh(t){if(t%yn===Xh){const e=(t+ke)/yn;return function(s,r){const i=s.pow(r,e);if(!s.eql(s.sqr(i),r))throw new Error("Cannot find square root");return i}}if(t%Do===Uo){const e=(t-Uo)/Do;return function(s,r){const i=s.mul(r,ys),n=s.pow(i,e),o=s.mul(r,n),a=s.mul(s.mul(o,ys),n),c=s.mul(o,s.sub(a,s.ONE));if(!s.eql(s.sqr(c),r))throw new Error("Cannot find square root");return c}}return Zh(t)}const ep=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function tp(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},s=ep.reduce((r,i)=>(r[i]="function",r),e);return gr(t,s)}function sp(t,e,s){if(s<We)throw new Error("invalid exponent, negatives unsupported");if(s===We)return t.ONE;if(s===ke)return e;let r=t.ONE,i=e;for(;s>We;)s&ke&&(r=t.mul(r,i)),i=t.sqr(i),s>>=ke;return r}function rp(t,e){const s=new Array(e.length),r=e.reduce((n,o,a)=>t.is0(o)?n:(s[a]=n,t.mul(n,o)),t.ONE),i=t.inv(r);return e.reduceRight((n,o,a)=>t.is0(o)?n:(s[a]=t.mul(n,s[a]),t.mul(n,o)),i),s}function _c(t,e){const s=e!==void 0?e:t.toString(2).length,r=Math.ceil(s/8);return{nBitLength:s,nByteLength:r}}function Pc(t,e,s=!1,r={}){if(t<=We)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:i,nByteLength:n}=_c(t,e);if(n>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:t,isLE:s,BITS:i,BYTES:n,MASK:Hn(i),ZERO:We,ONE:ke,create:c=>ot(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return We<=c&&c<t},is0:c=>c===We,isOdd:c=>(c&ke)===ke,neg:c=>ot(-c,t),eql:(c,l)=>c===l,sqr:c=>ot(c*c,t),add:(c,l)=>ot(c+l,t),sub:(c,l)=>ot(c-l,t),mul:(c,l)=>ot(c*l,t),pow:(c,l)=>sp(a,c,l),div:(c,l)=>ot(c*bn(l,t),t),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>bn(c,t),sqrt:r.sqrt||(c=>(o||(o=Qh(t)),o(a,c))),invertBatch:c=>rp(a,c),cmov:(c,l,u)=>u?l:c,toBytes:c=>s?Ai(c,n):lr(c,n),fromBytes:c=>{if(c.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+c.length);return s?jr(c):Is(c)}});return Object.freeze(a)}function kc(t){if(typeof t!="bigint")throw new Error("field order must be bigint");const e=t.toString(2).length;return Math.ceil(e/8)}function Tc(t){const e=kc(t);return e+Math.ceil(e/2)}function ip(t,e,s=!1){const r=t.length,i=kc(e),n=Tc(e);if(r<16||r<n||r>1024)throw new Error("expected "+n+"-1024 bytes of input, got "+r);const o=s?jr(t):Is(t),a=ot(o,e-ke)+ke;return s?Ai(a,i):lr(a,i)}const Lo=BigInt(0),ti=BigInt(1);function Mi(t,e){const s=e.negate();return t?s:e}function Oc(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function qi(t,e){Oc(t,e);const s=Math.ceil(e/t)+1,r=2**(t-1);return{windows:s,windowSize:r}}function np(t,e){if(!Array.isArray(t))throw new Error("array expected");t.forEach((s,r)=>{if(!(s instanceof e))throw new Error("invalid point at index "+r)})}function op(t,e){if(!Array.isArray(t))throw new Error("array of scalars expected");t.forEach((s,r)=>{if(!e.isValid(s))throw new Error("invalid scalar at index "+r)})}const Wi=new WeakMap,xc=new WeakMap;function zi(t){return xc.get(t)||1}function ap(t,e){return{constTimeNegate:Mi,hasPrecomputes(s){return zi(s)!==1},unsafeLadder(s,r,i=t.ZERO){let n=s;for(;r>Lo;)r&ti&&(i=i.add(n)),n=n.double(),r>>=ti;return i},precomputeWindow(s,r){const{windows:i,windowSize:n}=qi(r,e),o=[];let a=s,c=a;for(let l=0;l<i;l++){c=a,o.push(c);for(let u=1;u<n;u++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(s,r,i){const{windows:n,windowSize:o}=qi(s,e);let a=t.ZERO,c=t.BASE;const l=BigInt(2**s-1),u=2**s,h=BigInt(s);for(let g=0;g<n;g++){const w=g*o;let m=Number(i&l);i>>=h,m>o&&(m-=u,i+=ti);const y=w,f=w+Math.abs(m)-1,v=g%2!==0,b=m<0;m===0?c=c.add(Mi(v,r[y])):a=a.add(Mi(b,r[f]))}return{p:a,f:c}},wNAFUnsafe(s,r,i,n=t.ZERO){const{windows:o,windowSize:a}=qi(s,e),c=BigInt(2**s-1),l=2**s,u=BigInt(s);for(let h=0;h<o;h++){const g=h*a;if(i===Lo)break;let w=Number(i&c);if(i>>=u,w>a&&(w-=l,i+=ti),w===0)continue;let m=r[g+Math.abs(w)-1];w<0&&(m=m.negate()),n=n.add(m)}return n},getPrecomputes(s,r,i){let n=Wi.get(r);return n||(n=this.precomputeWindow(r,s),s!==1&&Wi.set(r,i(n))),n},wNAFCached(s,r,i){const n=zi(s);return this.wNAF(n,this.getPrecomputes(n,s,i),r)},wNAFCachedUnsafe(s,r,i,n){const o=zi(s);return o===1?this.unsafeLadder(s,r,n):this.wNAFUnsafe(o,this.getPrecomputes(o,s,i),r,n)},setWindowSize(s,r){Oc(r,e),xc.set(s,r),Wi.delete(s)}}}function cp(t,e,s,r){if(np(s,t),op(r,e),s.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const i=t.ZERO,n=Nc(BigInt(s.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=new Array(a+1).fill(i),l=Math.floor((e.BITS-1)/o)*o;let u=i;for(let h=l;h>=0;h-=o){c.fill(i);for(let w=0;w<r.length;w++){const m=r[w],y=Number(m>>BigInt(h)&BigInt(a));c[y]=c[y].add(s[w])}let g=i;for(let w=c.length-1,m=i;w>0;w--)m=m.add(c[w]),g=g.add(m);if(u=u.add(g),h!==0)for(let w=0;w<o;w++)u=u.double()}return u}function Rc(t){return tp(t.Fp),gr(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({..._c(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);const Rs=BigInt(0),Hi=BigInt(1);function lp(t){return gr(t,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...t})}function up(t){const e=lp(t),{P:s}=e,r=b=>ot(b,s),i=e.montgomeryBits,n=Math.ceil(i/8),o=e.nByteLength,a=e.adjustScalarBytes||(b=>b),c=e.powPminus2||(b=>Sc(b,s-BigInt(2),s));function l(b,A,x){const U=r(b*(A-x));return A=r(A-U),x=r(x+U),[A,x]}const u=(e.a-BigInt(2))/BigInt(4);function h(b,A){Vt("u",b,Rs,s),Vt("scalar",A,Rs,s);const x=A,U=b;let S=Hi,k=Rs,D=b,E=Hi,G=Rs,B;for(let Q=BigInt(i-1);Q>=Rs;Q--){const I=x>>Q&Hi;G^=I,B=l(G,S,D),S=B[0],D=B[1],B=l(G,k,E),k=B[0],E=B[1],G=I;const O=S+k,T=r(O*O),F=S-k,M=r(F*F),_=T-M,Y=D+E,te=D-E,ie=r(te*O),Ce=r(Y*F),ge=ie+Ce,Te=ie-Ce;D=r(ge*ge),E=r(U*r(Te*Te)),S=r(T*M),k=r(_*(T+r(u*_)))}B=l(G,S,D),S=B[0],D=B[1],B=l(G,k,E),k=B[0],E=B[1];const z=c(k);return r(S*z)}function g(b){return Ai(r(b),n)}function w(b){const A=dt("u coordinate",b,n);return o===32&&(A[31]&=127),jr(A)}function m(b){const A=dt("scalar",b),x=A.length;if(x!==n&&x!==o){let U=""+n+" or "+o;throw new Error("invalid scalar, expected "+U+" bytes, got "+x)}return jr(a(A))}function y(b,A){const x=w(A),U=m(b),S=h(x,U);if(S===Rs)throw new Error("invalid private or public key received");return g(S)}const f=g(e.Gu);function v(b){return y(b,f)}return{scalarMult:y,scalarMultBase:v,getSharedSecret:(b,A)=>y(b,A),getPublicKey:b=>v(b),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:f}}const vn=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const dp=BigInt(1),Fo=BigInt(2),hp=BigInt(3),pp=BigInt(5);BigInt(8);function gp(t){const e=BigInt(10),s=BigInt(20),r=BigInt(40),i=BigInt(80),n=vn,o=t*t%n*t%n,a=St(o,Fo,n)*o%n,c=St(a,dp,n)*t%n,l=St(c,pp,n)*c%n,u=St(l,e,n)*l%n,h=St(u,s,n)*u%n,g=St(h,r,n)*h%n,w=St(g,i,n)*g%n,m=St(w,i,n)*g%n,y=St(m,e,n)*l%n;return{pow_p_5_8:St(y,Fo,n)*t%n,b2:o}}function fp(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const En=up({P:vn,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=vn,{pow_p_5_8:s,b2:r}=gp(t);return ot(St(s,hp,e)*r,e)},adjustScalarBytes:fp,randomBytes:pr});function jo(t){t.lowS!==void 0&&or("lowS",t.lowS),t.prehash!==void 0&&or("prehash",t.prehash)}function mp(t){const e=Rc(t);gr(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:s,Fp:r,a:i}=e;if(s){if(!r.eql(i,r.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof s!="object"||typeof s.beta!="bigint"||typeof s.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:wp,hexToBytes:yp}=Yh;class bp extends Error{constructor(e=""){super(e)}}const zt={Err:bp,_tlv:{encode:(t,e)=>{const{Err:s}=zt;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length&1)throw new s("tlv.encode: unpadded data");const r=e.length/2,i=Ys(r);if(i.length/2&128)throw new s("tlv.encode: long form length too big");const n=r>127?Ys(i.length/2|128):"";return Ys(t)+n+i+e},decode(t,e){const{Err:s}=zt;let r=0;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new s("tlv.decode: wrong tlv");const i=e[r++],n=!!(i&128);let o=0;if(!n)o=i;else{const c=i&127;if(!c)throw new s("tlv.decode(long): indefinite length not supported");if(c>4)throw new s("tlv.decode(long): byte length is too big");const l=e.subarray(r,r+c);if(l.length!==c)throw new s("tlv.decode: length bytes not complete");if(l[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(const u of l)o=o<<8|u;if(r+=c,o<128)throw new s("tlv.decode(long): not minimal encoding")}const a=e.subarray(r,r+o);if(a.length!==o)throw new s("tlv.decode: wrong value length");return{v:a,l:e.subarray(r+o)}}},_int:{encode(t){const{Err:e}=zt;if(t<Ht)throw new e("integer: negative integers are not allowed");let s=Ys(t);if(Number.parseInt(s[0],16)&8&&(s="00"+s),s.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return s},decode(t){const{Err:e}=zt;if(t[0]&128)throw new e("invalid signature integer: negative");if(t[0]===0&&!(t[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return wp(t)}},toSig(t){const{Err:e,_int:s,_tlv:r}=zt,i=typeof t=="string"?yp(t):t;Vr(i);const{v:n,l:o}=r.decode(48,i);if(o.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:c}=r.decode(2,n),{v:l,l:u}=r.decode(2,c);if(u.length)throw new e("invalid signature: left bytes after parsing");return{r:s.decode(a),s:s.decode(l)}},hexFromSig(t){const{_tlv:e,_int:s}=zt,r=e.encode(2,s.encode(t.r)),i=e.encode(2,s.encode(t.s)),n=r+i;return e.encode(48,n)}},Ht=BigInt(0),Me=BigInt(1);BigInt(2);const Bo=BigInt(3);BigInt(4);function vp(t){const e=mp(t),{Fp:s}=e,r=Pc(e.n,e.nBitLength),i=e.toBytes||((y,f,v)=>{const b=f.toAffine();return Br(Uint8Array.from([4]),s.toBytes(b.x),s.toBytes(b.y))}),n=e.fromBytes||(y=>{const f=y.subarray(1),v=s.fromBytes(f.subarray(0,s.BYTES)),b=s.fromBytes(f.subarray(s.BYTES,2*s.BYTES));return{x:v,y:b}});function o(y){const{a:f,b:v}=e,b=s.sqr(y),A=s.mul(b,y);return s.add(s.add(A,s.mul(y,f)),v)}if(!s.eql(s.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function a(y){return Si(y,Me,e.n)}function c(y){const{allowedPrivateKeyLengths:f,nByteLength:v,wrapPrivateKey:b,n:A}=e;if(f&&typeof y!="bigint"){if(Ss(y)&&(y=ar(y)),typeof y!="string"||!f.includes(y.length))throw new Error("invalid private key");y=y.padStart(v*2,"0")}let x;try{x=typeof y=="bigint"?y:Is(dt("private key",y,v))}catch{throw new Error("invalid private key, expected hex or "+v+" bytes, got "+typeof y)}return b&&(x=ot(x,A)),Vt("private key",x,Me,A),x}function l(y){if(!(y instanceof g))throw new Error("ProjectivePoint expected")}const u=wn((y,f)=>{const{px:v,py:b,pz:A}=y;if(s.eql(A,s.ONE))return{x:v,y:b};const x=y.is0();f==null&&(f=x?s.ONE:s.inv(A));const U=s.mul(v,f),S=s.mul(b,f),k=s.mul(A,f);if(x)return{x:s.ZERO,y:s.ZERO};if(!s.eql(k,s.ONE))throw new Error("invZ was invalid");return{x:U,y:S}}),h=wn(y=>{if(y.is0()){if(e.allowInfinityPoint&&!s.is0(y.py))return;throw new Error("bad point: ZERO")}const{x:f,y:v}=y.toAffine();if(!s.isValid(f)||!s.isValid(v))throw new Error("bad point: x or y not FE");const b=s.sqr(v),A=o(f);if(!s.eql(b,A))throw new Error("bad point: equation left != right");if(!y.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class g{constructor(f,v,b){if(this.px=f,this.py=v,this.pz=b,f==null||!s.isValid(f))throw new Error("x required");if(v==null||!s.isValid(v))throw new Error("y required");if(b==null||!s.isValid(b))throw new Error("z required");Object.freeze(this)}static fromAffine(f){const{x:v,y:b}=f||{};if(!f||!s.isValid(v)||!s.isValid(b))throw new Error("invalid affine point");if(f instanceof g)throw new Error("projective point not allowed");const A=x=>s.eql(x,s.ZERO);return A(v)&&A(b)?g.ZERO:new g(v,b,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(f){const v=s.invertBatch(f.map(b=>b.pz));return f.map((b,A)=>b.toAffine(v[A])).map(g.fromAffine)}static fromHex(f){const v=g.fromAffine(n(dt("pointHex",f)));return v.assertValidity(),v}static fromPrivateKey(f){return g.BASE.multiply(c(f))}static msm(f,v){return cp(g,r,f,v)}_setWindowSize(f){m.setWindowSize(this,f)}assertValidity(){h(this)}hasEvenY(){const{y:f}=this.toAffine();if(s.isOdd)return!s.isOdd(f);throw new Error("Field doesn't support isOdd")}equals(f){l(f);const{px:v,py:b,pz:A}=this,{px:x,py:U,pz:S}=f,k=s.eql(s.mul(v,S),s.mul(x,A)),D=s.eql(s.mul(b,S),s.mul(U,A));return k&&D}negate(){return new g(this.px,s.neg(this.py),this.pz)}double(){const{a:f,b:v}=e,b=s.mul(v,Bo),{px:A,py:x,pz:U}=this;let S=s.ZERO,k=s.ZERO,D=s.ZERO,E=s.mul(A,A),G=s.mul(x,x),B=s.mul(U,U),z=s.mul(A,x);return z=s.add(z,z),D=s.mul(A,U),D=s.add(D,D),S=s.mul(f,D),k=s.mul(b,B),k=s.add(S,k),S=s.sub(G,k),k=s.add(G,k),k=s.mul(S,k),S=s.mul(z,S),D=s.mul(b,D),B=s.mul(f,B),z=s.sub(E,B),z=s.mul(f,z),z=s.add(z,D),D=s.add(E,E),E=s.add(D,E),E=s.add(E,B),E=s.mul(E,z),k=s.add(k,E),B=s.mul(x,U),B=s.add(B,B),E=s.mul(B,z),S=s.sub(S,E),D=s.mul(B,G),D=s.add(D,D),D=s.add(D,D),new g(S,k,D)}add(f){l(f);const{px:v,py:b,pz:A}=this,{px:x,py:U,pz:S}=f;let k=s.ZERO,D=s.ZERO,E=s.ZERO;const G=e.a,B=s.mul(e.b,Bo);let z=s.mul(v,x),Q=s.mul(b,U),I=s.mul(A,S),O=s.add(v,b),T=s.add(x,U);O=s.mul(O,T),T=s.add(z,Q),O=s.sub(O,T),T=s.add(v,A);let F=s.add(x,S);return T=s.mul(T,F),F=s.add(z,I),T=s.sub(T,F),F=s.add(b,A),k=s.add(U,S),F=s.mul(F,k),k=s.add(Q,I),F=s.sub(F,k),E=s.mul(G,T),k=s.mul(B,I),E=s.add(k,E),k=s.sub(Q,E),E=s.add(Q,E),D=s.mul(k,E),Q=s.add(z,z),Q=s.add(Q,z),I=s.mul(G,I),T=s.mul(B,T),Q=s.add(Q,I),I=s.sub(z,I),I=s.mul(G,I),T=s.add(T,I),z=s.mul(Q,T),D=s.add(D,z),z=s.mul(F,T),k=s.mul(O,k),k=s.sub(k,z),z=s.mul(O,Q),E=s.mul(F,E),E=s.add(E,z),new g(k,D,E)}subtract(f){return this.add(f.negate())}is0(){return this.equals(g.ZERO)}wNAF(f){return m.wNAFCached(this,f,g.normalizeZ)}multiplyUnsafe(f){const{endo:v,n:b}=e;Vt("scalar",f,Ht,b);const A=g.ZERO;if(f===Ht)return A;if(this.is0()||f===Me)return this;if(!v||m.hasPrecomputes(this))return m.wNAFCachedUnsafe(this,f,g.normalizeZ);let{k1neg:x,k1:U,k2neg:S,k2:k}=v.splitScalar(f),D=A,E=A,G=this;for(;U>Ht||k>Ht;)U&Me&&(D=D.add(G)),k&Me&&(E=E.add(G)),G=G.double(),U>>=Me,k>>=Me;return x&&(D=D.negate()),S&&(E=E.negate()),E=new g(s.mul(E.px,v.beta),E.py,E.pz),D.add(E)}multiply(f){const{endo:v,n:b}=e;Vt("scalar",f,Me,b);let A,x;if(v){const{k1neg:U,k1:S,k2neg:k,k2:D}=v.splitScalar(f);let{p:E,f:G}=this.wNAF(S),{p:B,f:z}=this.wNAF(D);E=m.constTimeNegate(U,E),B=m.constTimeNegate(k,B),B=new g(s.mul(B.px,v.beta),B.py,B.pz),A=E.add(B),x=G.add(z)}else{const{p:U,f:S}=this.wNAF(f);A=U,x=S}return g.normalizeZ([A,x])[0]}multiplyAndAddUnsafe(f,v,b){const A=g.BASE,x=(S,k)=>k===Ht||k===Me||!S.equals(A)?S.multiplyUnsafe(k):S.multiply(k),U=x(this,v).add(x(f,b));return U.is0()?void 0:U}toAffine(f){return u(this,f)}isTorsionFree(){const{h:f,isTorsionFree:v}=e;if(f===Me)return!0;if(v)return v(g,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:f,clearCofactor:v}=e;return f===Me?this:v?v(g,this):this.multiplyUnsafe(e.h)}toRawBytes(f=!0){return or("isCompressed",f),this.assertValidity(),i(g,this,f)}toHex(f=!0){return or("isCompressed",f),ar(this.toRawBytes(f))}}g.BASE=new g(e.Gx,e.Gy,s.ONE),g.ZERO=new g(s.ZERO,s.ONE,s.ZERO);const w=e.nBitLength,m=ap(g,e.endo?Math.ceil(w/2):w);return{CURVE:e,ProjectivePoint:g,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function Ep(t){const e=Rc(t);return gr(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Cp(t){const e=Ep(t),{Fp:s,n:r}=e,i=s.BYTES+1,n=2*s.BYTES+1;function o(I){return ot(I,r)}function a(I){return bn(I,r)}const{ProjectivePoint:c,normPrivateKeyToScalar:l,weierstrassEquation:u,isWithinCurveOrder:h}=vp({...e,toBytes(I,O,T){const F=O.toAffine(),M=s.toBytes(F.x),_=Br;return or("isCompressed",T),T?_(Uint8Array.from([O.hasEvenY()?2:3]),M):_(Uint8Array.from([4]),M,s.toBytes(F.y))},fromBytes(I){const O=I.length,T=I[0],F=I.subarray(1);if(O===i&&(T===2||T===3)){const M=Is(F);if(!Si(M,Me,s.ORDER))throw new Error("Point is not on curve");const _=u(M);let Y;try{Y=s.sqrt(_)}catch(ie){const Ce=ie instanceof Error?": "+ie.message:"";throw new Error("Point is not on curve"+Ce)}const te=(Y&Me)===Me;return(T&1)===1!==te&&(Y=s.neg(Y)),{x:M,y:Y}}else if(O===n&&T===4){const M=s.fromBytes(F.subarray(0,s.BYTES)),_=s.fromBytes(F.subarray(s.BYTES,2*s.BYTES));return{x:M,y:_}}else{const M=i,_=n;throw new Error("invalid Point, expected length of "+M+", or uncompressed "+_+", got "+O)}}}),g=I=>ar(lr(I,e.nByteLength));function w(I){const O=r>>Me;return I>O}function m(I){return w(I)?o(-I):I}const y=(I,O,T)=>Is(I.slice(O,T));class f{constructor(O,T,F){this.r=O,this.s=T,this.recovery=F,this.assertValidity()}static fromCompact(O){const T=e.nByteLength;return O=dt("compactSignature",O,T*2),new f(y(O,0,T),y(O,T,2*T))}static fromDER(O){const{r:T,s:F}=zt.toSig(dt("DER",O));return new f(T,F)}assertValidity(){Vt("r",this.r,Me,r),Vt("s",this.s,Me,r)}addRecoveryBit(O){return new f(this.r,this.s,O)}recoverPublicKey(O){const{r:T,s:F,recovery:M}=this,_=S(dt("msgHash",O));if(M==null||![0,1,2,3].includes(M))throw new Error("recovery id invalid");const Y=M===2||M===3?T+e.n:T;if(Y>=s.ORDER)throw new Error("recovery id 2 or 3 invalid");const te=(M&1)===0?"02":"03",ie=c.fromHex(te+g(Y)),Ce=a(Y),ge=o(-_*Ce),Te=o(F*Ce),Fe=c.BASE.multiplyAndAddUnsafe(ie,ge,Te);if(!Fe)throw new Error("point at infinify");return Fe.assertValidity(),Fe}hasHighS(){return w(this.s)}normalizeS(){return this.hasHighS()?new f(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return cr(this.toDERHex())}toDERHex(){return zt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return cr(this.toCompactHex())}toCompactHex(){return g(this.r)+g(this.s)}}const v={isValidPrivateKey(I){try{return l(I),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const I=Tc(e.n);return ip(e.randomBytes(I),e.n)},precompute(I=8,O=c.BASE){return O._setWindowSize(I),O.multiply(BigInt(3)),O}};function b(I,O=!0){return c.fromPrivateKey(I).toRawBytes(O)}function A(I){const O=Ss(I),T=typeof I=="string",F=(O||T)&&I.length;return O?F===i||F===n:T?F===2*i||F===2*n:I instanceof c}function x(I,O,T=!0){if(A(I))throw new Error("first arg must be private key");if(!A(O))throw new Error("second arg must be public key");return c.fromHex(O).multiply(l(I)).toRawBytes(T)}const U=e.bits2int||function(I){if(I.length>8192)throw new Error("input is too large");const O=Is(I),T=I.length*8-e.nBitLength;return T>0?O>>BigInt(T):O},S=e.bits2int_modN||function(I){return o(U(I))},k=Hn(e.nBitLength);function D(I){return Vt("num < 2^"+e.nBitLength,I,Ht,k),lr(I,e.nByteLength)}function E(I,O,T=G){if(["recovered","canonical"].some(Re=>Re in T))throw new Error("sign() legacy options not supported");const{hash:F,randomBytes:M}=e;let{lowS:_,prehash:Y,extraEntropy:te}=T;_==null&&(_=!0),I=dt("msgHash",I),jo(T),Y&&(I=dt("prehashed msgHash",F(I)));const ie=S(I),Ce=l(O),ge=[D(Ce),D(ie)];if(te!=null&&te!==!1){const Re=te===!0?M(s.BYTES):te;ge.push(dt("extraEntropy",Re))}const Te=Br(...ge),Fe=ie;function Je(Re){const $e=U(Re);if(!h($e))return;const hs=a($e),Lt=c.BASE.multiply($e).toAffine(),Pt=o(Lt.x);if(Pt===Ht)return;const Ft=o(hs*o(Fe+Pt*Ce));if(Ft===Ht)return;let Ts=(Lt.x===Pt?0:2)|Number(Lt.y&Me),Xr=Ft;return _&&w(Ft)&&(Xr=m(Ft),Ts^=1),new f(Pt,Xr,Ts)}return{seed:Te,k2sig:Je}}const G={lowS:e.lowS,prehash:!1},B={lowS:e.lowS,prehash:!1};function z(I,O,T=G){const{seed:F,k2sig:M}=E(I,O,T),_=e;return Ac(_.hash.outputLen,_.nByteLength,_.hmac)(F,M)}c.BASE._setWindowSize(8);function Q(I,O,T,F=B){const M=I;O=dt("msgHash",O),T=dt("publicKey",T);const{lowS:_,prehash:Y,format:te}=F;if(jo(F),"strict"in F)throw new Error("options.strict was renamed to lowS");if(te!==void 0&&te!=="compact"&&te!=="der")throw new Error("format must be compact or der");const ie=typeof M=="string"||Ss(M),Ce=!ie&&!te&&typeof M=="object"&&M!==null&&typeof M.r=="bigint"&&typeof M.s=="bigint";if(!ie&&!Ce)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let ge,Te;try{if(Ce&&(ge=new f(M.r,M.s)),ie){try{te!=="compact"&&(ge=f.fromDER(M))}catch(Ft){if(!(Ft instanceof zt.Err))throw Ft}!ge&&te!=="der"&&(ge=f.fromCompact(M))}Te=c.fromHex(T)}catch{return!1}if(!ge||_&&ge.hasHighS())return!1;Y&&(O=e.hash(O));const{r:Fe,s:Je}=ge,Re=S(O),$e=a(Je),hs=o(Re*$e),Lt=o(Fe*$e),Pt=c.BASE.multiplyAndAddUnsafe(Te,hs,Lt)?.toAffine();return Pt?o(Pt.x)===Fe:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:x,sign:z,verify:Q,ProjectivePoint:c,Signature:f,utils:v}}function Ip(t){return{hash:t,hmac:(e,...s)=>Ci(t,e,_d(...s)),randomBytes:pr}}function Np(t,e){const s=r=>Cp({...t,...Ip(r)});return{...s(e),create:s}}const $c=Pc(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),Ap=$c.create(BigInt("-3")),Sp=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),_p=Np({a:Ap,b:Sp,Fp:$c,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},Hr),Uc="base10",Ze="base16",_t="base64pad",ss="base64url",Kr="utf8",Dc=0,Kt=1,Gr=2,Pp=0,Mo=1,Or=12,Vn=32;function kp(){const t=En.utils.randomPrivateKey(),e=En.getPublicKey(t);return{privateKey:d.toString(t,Ze),publicKey:d.toString(e,Ze)}}function Cn(){const t=pr(Vn);return d.toString(t,Ze)}function Tp(t,e){const s=En.getSharedSecret(d.fromString(t,Ze),d.fromString(e,Ze)),r=$h(Hr,s,void 0,void 0,Vn);return d.toString(r,Ze)}function di(t){const e=Hr(d.fromString(t,Ze));return d.toString(e,Ze)}function $t(t){const e=Hr(d.fromString(t,Kr));return d.toString(e,Ze)}function Lc(t){return d.fromString(`${t}`,Uc)}function _s(t){return Number(d.toString(t,Uc))}function Fc(t){return t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function jc(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),s=(4-e.length%4)%4;return e+"=".repeat(s)}function Op(t){const e=Lc(typeof t.type<"u"?t.type:Dc);if(_s(e)===Kt&&typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const s=typeof t.senderPublicKey<"u"?d.fromString(t.senderPublicKey,Ze):void 0,r=typeof t.iv<"u"?d.fromString(t.iv,Ze):pr(Or),i=d.fromString(t.symKey,Ze),n=Cc(i,r).encrypt(d.fromString(t.message,Kr)),o=Bc({type:e,sealed:n,iv:r,senderPublicKey:s});return t.encoding===ss?Fc(o):o}function xp(t){const e=d.fromString(t.symKey,Ze),{sealed:s,iv:r}=Mr({encoded:t.encoded,encoding:t.encoding}),i=Cc(e,r).decrypt(s);if(i===null)throw new Error("Failed to decrypt");return d.toString(i,Kr)}function Rp(t,e){const s=Lc(Gr),r=pr(Or),i=d.fromString(t,Kr),n=Bc({type:s,sealed:i,iv:r});return e===ss?Fc(n):n}function $p(t,e){const{sealed:s}=Mr({encoded:t,encoding:e});return d.toString(s,Kr)}function Bc(t){if(_s(t.type)===Gr)return d.toString(d.concat([t.type,t.sealed]),_t);if(_s(t.type)===Kt){if(typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return d.toString(d.concat([t.type,t.senderPublicKey,t.iv,t.sealed]),_t)}return d.toString(d.concat([t.type,t.iv,t.sealed]),_t)}function Mr(t){const e=(t.encoding||_t)===ss?jc(t.encoded):t.encoded,s=d.fromString(e,_t),r=s.slice(Pp,Mo),i=Mo;if(_s(r)===Kt){const c=i+Vn,l=c+Or,u=s.slice(i,c),h=s.slice(c,l),g=s.slice(l);return{type:r,sealed:g,iv:h,senderPublicKey:u}}if(_s(r)===Gr){const c=s.slice(i),l=pr(Or);return{type:r,sealed:c,iv:l}}const n=i+Or,o=s.slice(i,n),a=s.slice(n);return{type:r,sealed:a,iv:o}}function Up(t,e){const s=Mr({encoded:t,encoding:e?.encoding});return Mc({type:_s(s.type),senderPublicKey:typeof s.senderPublicKey<"u"?d.toString(s.senderPublicKey,Ze):void 0,receiverPublicKey:e?.receiverPublicKey})}function Mc(t){const e=t?.type||Dc;if(e===Kt){if(typeof t?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof t?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:t?.senderPublicKey,receiverPublicKey:t?.receiverPublicKey}}function qo(t){return t.type===Kt&&typeof t.senderPublicKey=="string"&&typeof t.receiverPublicKey=="string"}function Wo(t){return t.type===Gr}function Dp(t){const e=$.Buffer.from(t.x,"base64"),s=$.Buffer.from(t.y,"base64");return d.concat([new Uint8Array([4]),e,s])}function Lp(t,e){const[s,r,i]=t.split("."),n=$.Buffer.from(jc(i),"base64");if(n.length!==64)throw new Error("Invalid signature length");const o=n.slice(0,32),a=n.slice(32,64),c=`${s}.${r}`,l=Hr(c),u=Dp(e);if(!_p.verify(d.concat([o,a]),l,u))throw new Error("Invalid signature");return d.sn(t).payload}const Fp="irn";function wi(t){return t?.relay||{protocol:Fp}}function Ar(t){const e=d.C[t];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${t}`);return e}function jp(t,e="-"){const s={},r="relay"+e;return Object.keys(t).forEach(i=>{if(i.startsWith(r)){const n=i.replace(r,""),o=t[i];s[n]=o}}),s}function zo(t){if(!t.includes("wc:")){const l=lc(t);l!=null&&l.includes("wc:")&&(t=l)}t=t.includes("wc://")?t.replace("wc://",""):t,t=t.includes("wc:")?t.replace("wc:",""):t;const e=t.indexOf(":"),s=t.indexOf("?")!==-1?t.indexOf("?"):void 0,r=t.substring(0,e),i=t.substring(e+1,s).split("@"),n=typeof s<"u"?t.substring(s):"",o=new URLSearchParams(n),a={};o.forEach((l,u)=>{a[u]=l});const c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:r,topic:Bp(i[0]),version:parseInt(i[1],10),symKey:a.symKey,relay:jp(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function Bp(t){return t.startsWith("//")?t.substring(2):t}function Mp(t,e="-"){const s="relay",r={};return Object.keys(t).forEach(i=>{const n=i,o=s+e+n;t[n]&&(r[o]=t[n])}),r}function Ho(t){const e=new URLSearchParams,s=Mp(t.relay);Object.keys(s).sort().forEach(i=>{e.set(i,s[i])}),e.set("symKey",t.symKey),t.expiryTimestamp&&e.set("expiryTimestamp",t.expiryTimestamp.toString()),t.methods&&e.set("methods",t.methods.join(","));const r=e.toString();return`${t.protocol}:${t.topic}@${t.version}?${r}`}function si(t,e,s){return`${t}?wc_ev=${s}&topic=${e}`}var qp=Object.defineProperty,Wp=Object.defineProperties,zp=Object.getOwnPropertyDescriptors,Vo=Object.getOwnPropertySymbols,Hp=Object.prototype.hasOwnProperty,Vp=Object.prototype.propertyIsEnumerable,Ko=(t,e,s)=>e in t?qp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Kp=(t,e)=>{for(var s in e||(e={}))Hp.call(e,s)&&Ko(t,s,e[s]);if(Vo)for(var s of Vo(e))Vp.call(e,s)&&Ko(t,s,e[s]);return t},Gp=(t,e)=>Wp(t,zp(e));function fr(t){const e=[];return t.forEach(s=>{const[r,i]=s.split(":");e.push(`${r}:${i}`)}),e}function Jp(t){const e=[];return Object.values(t).forEach(s=>{e.push(...fr(s.accounts))}),e}function Yp(t,e){const s=[];return Object.values(t).forEach(r=>{fr(r.accounts).includes(e)&&s.push(...r.methods)}),s}function Xp(t,e){const s=[];return Object.values(t).forEach(r=>{fr(r.accounts).includes(e)&&s.push(...r.events)}),s}function _i(t){return t.includes(":")}function Xs(t){return _i(t)?t.split(":")[0]:t}function Go(t){var e,s,r;const i={};if(!cs(t))return i;for(const[n,o]of Object.entries(t)){const a=_i(n)?[n]:o.chains,c=o.methods||[],l=o.events||[],u=Xs(n);i[u]=Gp(Kp({},i[u]),{chains:Ut(a,(e=i[u])==null?void 0:e.chains),methods:Ut(c,(s=i[u])==null?void 0:s.methods),events:Ut(l,(r=i[u])==null?void 0:r.events)})}return i}function Zp(t){const e={};return t?.forEach(s=>{var r;const[i,n]=s.split(":");e[i]||(e[i]={accounts:[],chains:[],events:[],methods:[]}),e[i].accounts.push(s),(r=e[i].chains)==null||r.push(`${i}:${n}`)}),e}function Jo(t,e){e=e.map(r=>r.replace("did:pkh:",""));const s=Zp(e);for(const[r,i]of Object.entries(s))i.methods?i.methods=Ut(i.methods,t):i.methods=t,i.events=["chainChanged","accountsChanged"];return s}function Qp(t,e){var s,r,i,n,o,a;const c=Go(t),l=Go(e),u={},h=Object.keys(c).concat(Object.keys(l));for(const g of h)u[g]={chains:Ut((s=c[g])==null?void 0:s.chains,(r=l[g])==null?void 0:r.chains),methods:Ut((i=c[g])==null?void 0:i.methods,(n=l[g])==null?void 0:n.methods),events:Ut((o=c[g])==null?void 0:o.events,(a=l[g])==null?void 0:a.events)};return u}const eg={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},tg={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function R(t,e){const{message:s,code:r}=tg[t];return{message:e?`${s} ${e}`:s,code:r}}function ye(t,e){const{message:s,code:r}=eg[t];return{message:e?`${s} ${e}`:s,code:r}}function as(t,e){return!!Array.isArray(t)}function cs(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function Ke(t){return typeof t>"u"}function xe(t,e){return e&&Ke(t)?!0:typeof t=="string"&&!!t.trim().length}function Kn(t,e){return e&&Ke(t)?!0:typeof t=="number"&&!isNaN(t)}function sg(t,e){const{requiredNamespaces:s}=e,r=Object.keys(t.namespaces),i=Object.keys(s);let n=!0;return Cs(i,r)?(r.forEach(o=>{const{accounts:a,methods:c,events:l}=t.namespaces[o],u=fr(a),h=s[o];(!Cs(ic(o,h),u)||!Cs(h.methods,c)||!Cs(h.events,l))&&(n=!1)}),n):!1}function yi(t){return xe(t,!1)&&t.includes(":")?t.split(":").length===2:!1}function rg(t){if(xe(t,!1)&&t.includes(":")){const e=t.split(":");if(e.length===3){const s=e[0]+":"+e[1];return!!e[2]&&yi(s)}}return!1}function ig(t){function e(s){try{return typeof new URL(s)<"u"}catch{return!1}}try{if(xe(t,!1)){if(e(t))return!0;const s=lc(t);return e(s)}}catch{}return!1}function ng(t){var e;return(e=t?.proposer)==null?void 0:e.publicKey}function og(t){return t?.topic}function ag(t,e){let s=null;return xe(t?.publicKey,!1)||(s=R("MISSING_OR_INVALID",`${e} controller public key should be a string`)),s}function Yo(t){let e=!0;return as(t)?t.length&&(e=t.every(s=>xe(s,!1))):e=!1,e}function cg(t,e,s){let r=null;return as(e)&&e.length?e.forEach(i=>{r||yi(i)||(r=ye("UNSUPPORTED_CHAINS",`${s}, chain ${i} should be a string and conform to "namespace:chainId" format`))}):yi(t)||(r=ye("UNSUPPORTED_CHAINS",`${s}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),r}function lg(t,e,s){let r=null;return Object.entries(t).forEach(([i,n])=>{if(r)return;const o=cg(i,ic(i,n),`${e} ${s}`);o&&(r=o)}),r}function ug(t,e){let s=null;return as(t)?t.forEach(r=>{s||rg(r)||(s=ye("UNSUPPORTED_ACCOUNTS",`${e}, account ${r} should be a string and conform to "namespace:chainId:address" format`))}):s=ye("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),s}function dg(t,e){let s=null;return Object.values(t).forEach(r=>{if(s)return;const i=ug(r?.accounts,`${e} namespace`);i&&(s=i)}),s}function hg(t,e){let s=null;return Yo(t?.methods)?Yo(t?.events)||(s=ye("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):s=ye("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),s}function qc(t,e){let s=null;return Object.values(t).forEach(r=>{if(s)return;const i=hg(r,`${e}, namespace`);i&&(s=i)}),s}function pg(t,e,s){let r=null;if(t&&cs(t)){const i=qc(t,e);i&&(r=i);const n=lg(t,e,s);n&&(r=n)}else r=R("MISSING_OR_INVALID",`${e}, ${s} should be an object with data`);return r}function Vi(t,e){let s=null;if(t&&cs(t)){const r=qc(t,e);r&&(s=r);const i=dg(t,e);i&&(s=i)}else s=R("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return s}function Wc(t){return xe(t.protocol,!0)}function gg(t,e){let s=!1;return t?t&&as(t)&&t.length&&t.forEach(r=>{s=Wc(r)}):s=!0,s}function fg(t){return typeof t=="number"}function it(t){return typeof t<"u"&&typeof t!==null}function mg(t){return!(!t||typeof t!="object"||!t.code||!Kn(t.code,!1)||!t.message||!xe(t.message,!1))}function wg(t){return!(Ke(t)||!xe(t.method,!1))}function yg(t){return!(Ke(t)||Ke(t.result)&&Ke(t.error)||!Kn(t.id,!1)||!xe(t.jsonrpc,!1))}function bg(t){return!(Ke(t)||!xe(t.name,!1))}function Xo(t,e){return!(!yi(e)||!Jp(t).includes(e))}function vg(t,e,s){return xe(s,!1)?Yp(t,e).includes(s):!1}function Eg(t,e,s){return xe(s,!1)?Xp(t,e).includes(s):!1}function Zo(t,e,s){let r=null;const i=Cg(t),n=Ig(e),o=Object.keys(i),a=Object.keys(n),c=Qo(Object.keys(t)),l=Qo(Object.keys(e)),u=c.filter(h=>!l.includes(h));return u.length&&(r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces keys don't satisfy requiredNamespaces.
|
|
@@ -886,4 +886,4 @@ ${t.length}`,s=new TextEncoder().encode(e+t);return"0x"+$.Buffer.from(Fd(s)).toS
|
|
|
886
886
|
.wui-color-fg-350 {
|
|
887
887
|
background-color: var(--wui-color-fg-350);
|
|
888
888
|
}
|
|
889
|
-
`,_r={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603,DEFAULT_ALLOWED_ANCESTORS:["http://localhost:*","https://*.pages.dev","https://*.vercel.app","https://*.ngrok-free.app","https://secure-mobile.walletconnect.com","https://secure-mobile.walletconnect.org"]};function Yr(t){return{formatters:void 0,fees:void 0,serializers:void 0,...t}}const Wa=Yr({id:"5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",name:"Solana",network:"solana-mainnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!1,chainNamespace:"solana",caipNetworkId:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",deprecatedCaipNetworkId:"solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ"}),za=Yr({id:"EtWTRABZaYq6iMfeYKouRu166VU2xqa1",name:"Solana Devnet",network:"solana-devnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!0,chainNamespace:"solana",caipNetworkId:"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",deprecatedCaipNetworkId:"solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K"});Yr({id:"4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",name:"Solana Testnet",network:"solana-testnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!0,chainNamespace:"solana",caipNetworkId:"solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"});Yr({id:"000000000019d6689c085ae165831e93",caipNetworkId:"bip122:000000000019d6689c085ae165831e93",chainNamespace:"bip122",name:"Bitcoin",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}});Yr({id:"000000000933ea01ad0ee984209779ba",caipNetworkId:"bip122:000000000933ea01ad0ee984209779ba",chainNamespace:"bip122",name:"Bitcoin Testnet",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},testnet:!0});const Iv={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"]},gi={getMethodsByChainNamespace(t){return Iv[t]||[]},createDefaultNamespace(t){return{methods:this.getMethodsByChainNamespace(t),events:["accountsChanged","chainChanged"],chains:[],rpcMap:{}}},applyNamespaceOverrides(t,e){if(!e)return{...t};const s={...t},r=new Set;if(e.methods&&Object.keys(e.methods).forEach(i=>r.add(i)),e.chains&&Object.keys(e.chains).forEach(i=>r.add(i)),e.events&&Object.keys(e.events).forEach(i=>r.add(i)),e.rpcMap&&Object.keys(e.rpcMap).forEach(i=>{const[n]=i.split(":");n&&r.add(n)}),r.forEach(i=>{s[i]||(s[i]=this.createDefaultNamespace(i))}),e.methods&&Object.entries(e.methods).forEach(([i,n])=>{s[i]&&(s[i].methods=n)}),e.chains&&Object.entries(e.chains).forEach(([i,n])=>{s[i]&&(s[i].chains=n)}),e.events&&Object.entries(e.events).forEach(([i,n])=>{s[i]&&(s[i].events=n)}),e.rpcMap){const i=new Set;Object.entries(e.rpcMap).forEach(([n,o])=>{const[a,c]=n.split(":");!a||!c||!s[a]||(s[a].rpcMap||(s[a].rpcMap={}),i.has(a)||(s[a].rpcMap={},i.add(a)),s[a].rpcMap[c]=o)})}return s},createNamespaces(t,e){const s=t.reduce((r,i)=>{const{id:n,chainNamespace:o,rpcUrls:a}=i,c=a.default.http[0];r[o]||(r[o]=this.createDefaultNamespace(o));const l=`${o}:${n}`,u=r[o];switch(u.chains.push(l),l){case Wa.caipNetworkId:u.chains.push(Wa.deprecatedCaipNetworkId);break;case za.caipNetworkId:u.chains.push(za.deprecatedCaipNetworkId);break}return u?.rpcMap&&c&&(u.rpcMap[n]=c),r},{});return this.applyNamespaceOverrides(s,e)},resolveReownName:async t=>{const e=await Tr.resolveName(t);return(Object.values(e?.addresses)||[])[0]?.address||!1},getChainsFromNamespaces(t={}){return Object.values(t).flatMap(e=>{const s=e.chains||[],r=e.accounts.map(i=>{const[n,o]=i.split(":");return`${n}:${o}`});return Array.from(new Set([...s,...r]))})},isSessionEventData(t){return typeof t=="object"&&t!==null&&"id"in t&&"topic"in t&&"params"in t&&typeof t.params=="object"&&t.params!==null&&"chainId"in t.params&&"event"in t.params&&typeof t.params.event=="object"&&t.params.event!==null},isOriginAllowed(t,e,s){for(const r of[...e,...s])if(r.includes("*")){const n=`^${r.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&").replace(/\\\*/gu,".*")}$`;if(new RegExp(n,"u").test(t))return!0}else try{if(new URL(r).origin===t)return!0}catch{if(r===t)return!0}return!1}};class El{constructor({provider:e,namespace:s}){this.id=H.CONNECTOR_ID.WALLET_CONNECT,this.name=bi.ConnectorNamesMap[H.CONNECTOR_ID.WALLET_CONNECT],this.type="WALLET_CONNECT",this.imageId=bi.ConnectorImageIds[H.CONNECTOR_ID.WALLET_CONNECT],this.getCaipNetworks=p.getCaipNetworks.bind(p),this.caipNetworks=this.getCaipNetworks(),this.provider=e,this.chain=s}get chains(){return this.getCaipNetworks()}async connectWalletConnect(){if(!await this.authenticate()){const s=this.getCaipNetworks(),r=N.state.universalProviderConfigOverride,i=gi.createNamespaces(s,r);await this.provider.connect({optionalNamespaces:i})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){const e=this.chains.map(s=>s.caipNetworkId);return Qs.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:Nv})}}const Nv=["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 Av{constructor(e){this.availableConnectors=[],this.eventListeners=new Map,this.getCaipNetworks=s=>p.getCaipNetworks(s),e&&this.construct(e)}construct(e){this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get networks(){return this.getCaipNetworks(this.namespace)}setAuthProvider(e){this.addConnector({id:H.CONNECTOR_ID.AUTH,type:"AUTH",name:H.CONNECTOR_NAMES.AUTH,provider:e,imageId:bi.ConnectorImageIds[H.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}addConnector(...e){const s=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(r=>s.has(r.id)?!1:(s.add(r.id),!0)),this.emit("connectors",this.availableConnectors)}setStatus(e,s){W.setStatus(e,s)}on(e,s){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e)?.add(s)}off(e,s){const r=this.eventListeners.get(e);r&&r.delete(s)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,s){const r=this.eventListeners.get(e);r&&r.forEach(i=>i(s))}async connectWalletConnect(e){return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}async switchNetwork(e){const{caipNetwork:s,providerType:r}=e;if(!e.provider)return;const i="provider"in e.provider?e.provider.provider:e.provider;if(r==="WALLET_CONNECT"){i.setDefaultChain(s.caipNetworkId);return}if(i&&r==="AUTH"){const n=i,o=W.state.preferredAccountTypes?.[s.chainNamespace];await n.switchNetwork(s.caipNetworkId);const a=await n.getUser({chainId:s.caipNetworkId,preferredAccountType:o});this.emit("switchNetwork",a)}}getWalletConnectConnector(){const e=this.connectors.find(s=>s instanceof El);if(!e)throw new Error("WalletConnectConnector not found");return e}}class Sv extends Av{setUniversalProvider(e){this.addConnector(new El({provider:e,caipNetworks:this.getCaipNetworks(),namespace:this.namespace}))}async connect(e){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:Number(e.chainId),provider:this.provider,address:""})}async disconnect(){try{await this.getWalletConnectConnector().disconnect()}catch(e){console.warn("UniversalAdapter:disconnect - error",e)}}async getAccounts({namespace:e}){const r=this.provider?.session?.namespaces?.[e]?.accounts?.map(i=>{const[,,n]=i.split(":");return n}).filter((i,n,o)=>o.indexOf(i)===n)||[];return Promise.resolve({accounts:r.map(i=>Z.createAccount(e,i,e==="bip122"?"payment":"eoa"))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&be.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:"0.00",symbol:e.caipNetwork?.nativeCurrency.symbol||""};if(W.state.balanceLoading&&e.chainId===p.state.activeCaipNetwork?.id)return{balance:W.state.balance||"0.00",symbol:W.state.balanceSymbol||""};const i=(await W.fetchTokenBalance()).find(n=>n.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&n.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:i?.quantity.numeric||"0.00",symbol:i?.symbol||e.caipNetwork?.nativeCurrency.symbol||""}}async signMessage(e){const{provider:s,message:r,address:i}=e;if(!s)throw new Error("UniversalAdapter:signMessage - provider is undefined");let n="";return p.state.activeCaipNetwork?.chainNamespace===H.CHAIN.SOLANA?n=(await s.request({method:"solana_signMessage",params:{message:Fn.bs58.encode(new TextEncoder().encode(r)),pubkey:i}},p.state.activeCaipNetwork?.caipNetworkId)).signature:n=await s.request({method:"personal_sign",params:[r,i]},p.state.activeCaipNetwork?.caipNetworkId),{signature:n}}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:""})}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){const{caipNetwork:s}=e,r=this.getWalletConnectConnector();if(s.chainNamespace===H.CHAIN.EVM)try{await r.provider?.request({method:"wallet_switchEthereumChain",params:[{chainId:Es.toHex(s.id)}]})}catch(i){if(i.code===_r.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||i.code===_r.ERROR_INVALID_CHAIN_ID||i.code===_r.ERROR_CODE_DEFAULT||i?.data?.originalError?.code===_r.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await r.provider?.request({method:"wallet_addEthereumChain",params:[{chainId:Es.toHex(s.id),rpcUrls:[s?.rpcUrls.chainDefault?.http],chainName:s.name,nativeCurrency:s.nativeCurrency,blockExplorerUrls:[s.blockExplorers?.default.url]}]})}catch{throw new Error("Chain is not supported")}}r.provider.setDefaultChain(s.caipNetworkId)}getWalletConnectProvider(){return this.connectors.find(r=>r.type==="WALLET_CONNECT")?.provider}}const _v=["email","socials","swaps","onramp","activity","reownBranding"],li={email:{apiFeatureName:"social_login",localFeatureName:"email",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return!!t.isEnabled&&e.includes("email")},processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.email:!!t},socials:{apiFeatureName:"social_login",localFeatureName:"socials",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return t.isEnabled&&e.length>0?e.filter(s=>s!=="email"):!1},processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.socials:typeof t=="boolean"?t?be.DEFAULT_REMOTE_FEATURES.socials:!1:t},swaps:{apiFeatureName:"swap",localFeatureName:"swaps",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return t.isEnabled&&e.length>0?e:!1},processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.swaps:typeof t=="boolean"?t?be.DEFAULT_REMOTE_FEATURES.swaps:!1:t},onramp:{apiFeatureName:"onramp",localFeatureName:"onramp",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return t.isEnabled&&e.length>0?e:!1},processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.onramp:typeof t=="boolean"?t?be.DEFAULT_REMOTE_FEATURES.onramp:!1:t},activity:{apiFeatureName:"activity",localFeatureName:"history",returnType:!1,isLegacy:!0,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.activity:!!t},reownBranding:{apiFeatureName:"reown_branding",localFeatureName:"reownBranding",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.reownBranding:!!t}},Pv={localSettingsOverridden:new Set,getApiConfig(t,e){return e?.find(s=>s.id===t)},addWarning(t,e){if(t!==void 0){const s=li[e],r=s.isLegacy?`"features.${s.localFeatureName}" (now "${e}")`:`"features.${e}"`;this.localSettingsOverridden.add(r)}},processFeature(t,e,s,r,i){const n=li[t],o=e[n.localFeatureName];if(i&&!n.isAvailableOnBasic)return!1;if(r){const a=this.getApiConfig(n.apiFeatureName,s);return a?.config===null?this.processFallbackFeature(t,o):a?.config?(o!==void 0&&this.addWarning(o,t),this.processApiFeature(t,a)):!1}return this.processFallbackFeature(t,o)},processApiFeature(t,e){return li[t].processApi(e)},processFallbackFeature(t,e){return li[t].processFallback(e)},async fetchRemoteFeatures(t){const e=t.basic??!1,s=t.features||{};this.localSettingsOverridden.clear();let r=null,i=!1;try{r=await V.fetchProjectConfig(),i=r!=null}catch(o){console.warn("[Reown Config] Failed to fetch remote project configuration. Using local/default values.",o)}const n=i&&!e?be.DEFAULT_REMOTE_FEATURES:be.DEFAULT_REMOTE_FEATURES_DISABLED;try{for(const o of _v){const a=this.processFeature(o,s,r,i,e);Object.assign(n,{[o]:a})}}catch(o){return console.warn("[Reown Config] Failed to process the configuration from Cloud. Using default values.",o),be.DEFAULT_REMOTE_FEATURES}if(i&&this.localSettingsOverridden.size>0){const o=`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.`;ts.open({shortMessage:"Local configuration ignored",longMessage:`[Reown Config Notice] ${o}`},"warning")}return n}};class kv{constructor(e){this.chainNamespaces=[],this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(s,r)=>{if(s){const i=p.getNetworkData(s)?.requestedCaipNetworks?.find(a=>a.id===r);if(i)return i;const n=p.getNetworkData(s)?.caipNetwork;return n||p.getRequestedCaipNetworks(s).filter(a=>a.chainNamespace===s)?.[0]}return p.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{const s=this.getCaipNetwork();if(s)return s.id},this.getCaipNetworks=s=>p.getCaipNetworks(s),this.getActiveChainNamespace=()=>p.state.activeChain,this.setRequestedCaipNetworks=(s,r)=>{p.setRequestedCaipNetworks(s,r)},this.getApprovedCaipNetworkIds=()=>p.getAllApprovedCaipNetworkIds(),this.getCaipAddress=s=>p.state.activeChain===s||!s?p.state.activeCaipAddress:p.getAccountProp("caipAddress",s),this.setClientId=s=>{X.setClientId(s)},this.getProvider=s=>Pe.getProvider(s),this.getProviderType=s=>Pe.getProviderId(s),this.getPreferredAccountType=s=>W.state.preferredAccountTypes?.[s],this.setCaipAddress=(s,r)=>{W.setCaipAddress(s,r),s&&N.state.enableEmbedded&&this.close()},this.setBalance=(s,r,i)=>{W.setBalance(s,r,i)},this.setProfileName=(s,r)=>{W.setProfileName(s,r)},this.setProfileImage=(s,r)=>{W.setProfileImage(s,r)},this.setUser=(s,r)=>{W.setUser(s,r)},this.resetAccount=s=>{W.resetAccount(s)},this.setCaipNetwork=s=>{p.setActiveCaipNetwork(s)},this.setCaipNetworkOfNamespace=(s,r)=>{p.setChainNetworkData(r,{caipNetwork:s})},this.setAllAccounts=(s,r)=>{W.setAllAccounts(s,r),N.setHasMultipleAddresses(s?.length>1)},this.setStatus=(s,r)=>{W.setStatus(s,r),j.isConnected()?q.setConnectionStatus("connected"):q.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=s=>p.getAccountProp("address",s),this.setConnectors=s=>{const r=[...j.state.allConnectors,...s];j.setConnectors(r)},this.setConnections=(s,r)=>{J.setConnections(s,r)},this.fetchIdentity=s=>X.fetchIdentity(s),this.getReownName=s=>Tr.getNamesForAddress(s),this.getConnectors=()=>j.getConnectors(),this.getConnectorImage=s=>jn.getConnectorImage(s),this.setConnectedWalletInfo=(s,r)=>{const i=Pe.getProviderId(r),n=s?{...s,type:i}:void 0;W.setConnectedWalletInfo(n,r)},this.getIsConnectedState=()=>!!p.state.activeCaipAddress,this.addAddressLabel=(s,r,i)=>{W.addAddressLabel(s,r,i)},this.removeAddressLabel=(s,r)=>{W.removeAddressLabel(s,r)},this.getAddress=s=>p.state.activeChain===s||!s?W.state.address:p.getAccountProp("address",s),this.setApprovedCaipNetworksData=s=>p.setApprovedCaipNetworksData(s),this.resetNetwork=s=>{p.resetNetwork(s)},this.addConnector=s=>{j.addConnector(s)},this.resetWcConnection=()=>{J.resetWcConnection()},this.setAddressExplorerUrl=(s,r)=>{W.setAddressExplorerUrl(s,r)},this.setSmartAccountDeployed=(s,r)=>{W.setSmartAccountDeployed(s,r)},this.setSmartAccountEnabledNetworks=(s,r)=>{p.setSmartAccountEnabledNetworks(s,r)},this.setPreferredAccountType=(s,r)=>{W.setPreferredAccountType(s,r)},this.setEIP6963Enabled=s=>{N.setEIP6963Enabled(s)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect("ApproveTransaction")}else 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,s){const r=e?.map(n=>n.namespace).filter(n=>!!n);if(r?.length)return[...new Set(r)];const i=s?.map(n=>n.chainNamespace);return[...new Set(i)]}async initialize(e){this.initializeProjectSettings(e),this.initControllers(e),await this.initChainAdapters(),this.sendInitializeEvent(e),await this.syncExistingConnection(),this.remoteFeatures=await Pv.fetchRemoteFeatures(e),N.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&cn.setOnrampProviders(this.remoteFeatures.onramp),(N.state.remoteFeatures?.email||Array.isArray(N.state.remoteFeatures?.socials)&&N.state.remoteFeatures?.socials.length>0)&&await this.checkAllowedOrigins()}async checkAllowedOrigins(){const e=await V.fetchAllowedOrigins();if(e&&Z.isClient()){const s=window.location.origin;gi.isOriginAllowed(s,e,_r.DEFAULT_ALLOWED_ANCESTORS)||ts.open(Ks.ALERT_ERRORS.INVALID_APP_CONFIGURATION,"error")}else ts.open(Ks.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error")}sendInitializeEvent(e){const{...s}=e;delete s.adapters,delete s.universalProvider,_e.sendEvent({type:"track",event:"INITIALIZE",properties:{...s,networks:e.networks.map(r=>r.id),siweConfig:{options:e.siweConfig?.options||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initializeThemeController(e){e.themeMode&&nt.setThemeMode(e.themeMode),e.themeVariables&&nt.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw new Error("ConnectionControllerClient and NetworkControllerClient must be set");p.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});const s=this.getDefaultNetwork();s&&p.setActiveCaipNetwork(s)}initializeConnectionController(e){J.setWcBasic(e.basic??!1)}initializeConnectorController(){j.initialize(this.chainNamespaces)}initializeProjectSettings(e){N.setProjectId(e.projectId),N.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){N.setDebug(e.debug!==!1),N.setEnableWalletConnect(e.enableWalletConnect!==!1),N.setEnableWalletGuide(e.enableWalletGuide!==!1),N.setEnableWallets(e.enableWallets!==!1),N.setEIP6963Enabled(e.enableEIP6963!==!1),N.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),N.setEnableAuthLogger(e.enableAuthLogger!==!1),N.setCustomRpcUrls(e.customRpcUrls),N.setEnableEmbedded(e.enableEmbedded),N.setAllWallets(e.allWallets),N.setIncludeWalletIds(e.includeWalletIds),N.setExcludeWalletIds(e.excludeWalletIds),N.setFeaturedWalletIds(e.featuredWalletIds),N.setTokens(e.tokens),N.setTermsConditionsUrl(e.termsConditionsUrl),N.setPrivacyPolicyUrl(e.privacyPolicyUrl),N.setCustomWallets(e.customWallets),N.setFeatures(e.features),N.setAllowUnsupportedChain(e.allowUnsupportedChain),N.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),N.setPreferUniversalLinks(e.experimental_preferUniversalLinks),N.setDefaultAccountTypes(e.defaultAccountTypes);const s=q.getPreferredAccountTypes()||{},r={...N.state.defaultAccountTypes,...s};W.setPreferredAccountTypes(r);const i=this.getDefaultMetaData();if(!e.metadata&&i&&(e.metadata=i),N.setMetadata(e.metadata),N.setDisableAppend(e.disableAppend),N.setEnableEmbedded(e.enableEmbedded),N.setSIWX(e.siwx),!e.projectId){ts.open(Ks.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");return}if(e.adapters?.find(o=>o.namespace===H.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw new Error("Cannot set both `siweConfig` and `siwx` options");N.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return Z.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){const s=this.getActiveChainNamespace();if(s){const r=Js.getUnsupportedNetwork(`${s}:${e}`);p.setActiveCaipNetwork(r)}}getDefaultNetwork(){return Js.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,s){return Js.extendCaipNetwork(e,{customNetworkImageUrls:s.chainImages,projectId:s.projectId})}extendCaipNetworks(e){return Js.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){const s=e.networks.find(i=>i.id===e.defaultNetwork?.id);return s?Js.extendCaipNetwork(s,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectNamespace(e){try{const s=this.getAdapter(e),r=Pe.getProvider(e),i=Pe.getProviderId(e),{caipAddress:n}=p.getAccountData(e)||{};this.setLoading(!0,e),n&&s?.disconnect&&await s.disconnect({provider:r,providerType:i}),q.removeConnectedNamespace(e),Pe.resetChain(e),this.setUser(void 0,e),this.setStatus("disconnected",e),this.setConnectedWalletInfo(void 0,e),j.removeConnectorId(e),p.resetAccount(e),p.resetNetwork(e),this.setLoading(!1,e)}catch(s){throw this.setLoading(!1,e),new Error(`Failed to disconnect chain ${e}: ${s.message}`)}}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{const e=p.state.activeChain,s=this.getAdapter(e),r=this.getCaipNetwork(e)?.id;if(!s)throw new Error("Adapter not found");const i=await s.connectWalletConnect(r);this.close(),this.setClientId(i?.clientId||null),q.setConnectedNamespaces([...p.state.chains.keys()]),this.chainNamespaces.forEach(n=>{j.setConnectorId(Qt.CONNECTOR_TYPE_WALLET_CONNECT,n)}),await this.syncWalletConnectAccount()},connectExternal:async({id:e,info:s,type:r,provider:i,chain:n,caipNetwork:o,socialUri:a})=>{const c=p.state.activeChain,l=n||c,u=this.getAdapter(l);if(n&&n!==c&&!o){const y=this.getCaipNetworks().find(f=>f.chainNamespace===n);y&&this.setCaipNetwork(y)}if(!u)throw new Error("Adapter not found");const h=this.getCaipNetwork(l),g=await u.connect({id:e,info:s,type:r,provider:i,socialUri:a,chainId:o?.id||h?.id,rpcUrl:o?.rpcUrls?.default?.http?.[0]||h?.rpcUrls?.default?.http?.[0]});if(!g)return;q.addConnectedNamespace(l),this.syncProvider({...g,chainNamespace:l});const w=W.state.allAccounts,{accounts:m}=w?.length>0?{accounts:[...w]}:await u.getAccounts({namespace:l,id:e});this.setAllAccounts(m,l),this.setStatus("connected",l),this.syncConnectedWalletInfo(l)},reconnectExternal:async({id:e,info:s,type:r,provider:i})=>{const n=p.state.activeChain,o=this.getAdapter(n);o?.reconnect&&(await o?.reconnect({id:e,info:s,type:r,provider:i,chainId:this.getCaipNetwork()?.id}),q.addConnectedNamespace(n),this.syncConnectedWalletInfo(n))},disconnect:async e=>{const s=gv(e);try{const r=await Promise.allSettled(s.map(async([n])=>this.disconnectNamespace(n)));pe.resetSend(),J.resetWcConnection(),await Qs.clearSessions(),j.setFilterByNamespace(void 0);const i=r.filter(n=>n.status==="rejected");if(i.length>0)throw new Error(i.map(n=>n.reason.message).join(", "));q.deleteConnectedSocialProvider(),_e.sendEvent({type:"track",event:"DISCONNECT_SUCCESS",properties:{namespace:e||"all"}})}catch(r){throw new Error(`Failed to disconnect chains: ${r.message}`)}},checkInstalled:e=>e?e.some(s=>!!window.ethereum?.[String(s)]):!!window.ethereum,signMessage:async e=>(await this.getAdapter(p.state.activeChain)?.signMessage({message:e,address:W.state.address,provider:Pe.getProvider(p.state.activeChain)}))?.signature||"",sendTransaction:async e=>{const s=e.chainNamespace;if(be.SEND_SUPPORTED_NAMESPACES.includes(s)){const r=this.getAdapter(p.state.activeChain),i=Pe.getProvider(s);return(await r?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:i}))?.hash||""}return""},estimateGas:async e=>{if(e.chainNamespace===H.CHAIN.EVM){const s=this.getAdapter(p.state.activeChain),r=Pe.getProvider(p.state.activeChain),i=this.getCaipNetwork();if(!i)throw new Error("CaipNetwork is undefined");return(await s?.estimateGas({...e,provider:r,caipNetwork:i}))?.gas||0n}return 0n},getEnsAvatar:async()=>(await this.syncIdentity({address:W.state.address,chainId:Number(this.getCaipNetwork()?.id),chainNamespace:p.state.activeChain}),W.state.profileImage||!1),getEnsAddress:async e=>await gi.resolveReownName(e),writeContract:async e=>{const s=this.getAdapter(p.state.activeChain),r=this.getCaipNetwork(),i=this.getCaipAddress(),n=Pe.getProvider(p.state.activeChain);if(!r||!i)throw new Error("CaipNetwork or CaipAddress is undefined");return(await s?.writeContract({...e,caipNetwork:r,provider:n,caipAddress:i}))?.hash},parseUnits:(e,s)=>this.getAdapter(p.state.activeChain)?.parseUnits({value:e,decimals:s})??0n,formatUnits:(e,s)=>this.getAdapter(p.state.activeChain)?.formatUnits({value:e,decimals:s})??"0",getCapabilities:async e=>await this.getAdapter(p.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(p.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{const s=this.getAdapter(p.state.activeChain);return s?.revokePermissions?await s.revokePermissions(e):"0x"},walletGetAssets:async e=>await this.getAdapter(p.state.activeChain)?.walletGetAssets(e)??{},updateBalance:e=>{const s=this.getCaipNetwork(e);!s||!W.state.address||this.updateNativeBalance(W.state.address,s?.id,e)}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},J.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(Pe.getProviderId(p.state.activeChain)===Qt.CONNECTOR_TYPE_WALLET_CONNECT){const s=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name==="MetaMask Wallet",approvedCaipNetworkIds:this.getChainsFromNamespaces(s)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){if(!e)return;const s=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){const i=Pe.getProvider(s),n=Pe.getProviderId(s);if(e.chainNamespace===p.state.activeChain)await this.getAdapter(s)?.switchNetwork({caipNetwork:e,provider:i,providerType:n});else if(this.setCaipNetwork(e),n===Qt.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{const o=this.getAddressByChainNamespace(s);o&&this.syncAccount({address:o,chainId:e.id,chainNamespace:s})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(s=>{const r=s.chains||[],i=s.accounts.map(n=>{const{chainId:o,chainNamespace:a}=Gt.parseCaipAddress(n);return`${a}:${o}`});return Array.from(new Set([...r,...i]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((s,r)=>{const i=e?.find(n=>n.namespace===r);return i?(i.construct({namespace:r,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),s[r]=i):s[r]=new Sv({namespace:r,networks:this.getCaipNetworks()}),s},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e),await this.chainAdapters?.[e].syncConnectors(this.options,this),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)}))}onConnectors(e){this.getAdapter(e)?.on("connectors",this.setConnectors.bind(this))}listenAdapter(e){const s=this.getAdapter(e);if(!s)return;const r=q.getConnectionStatus();r==="connected"?this.setStatus("connecting",e):r==="disconnected"?(q.clearAddressCache(),this.setStatus(r,e)):this.setStatus(r,e),s.on("switchNetwork",({address:i,chainId:n})=>{const o=this.getCaipNetworks().find(l=>l.id===n||l.caipNetworkId===n),a=p.state.activeChain===e,c=p.getAccountProp("address",e);if(o){const l=a&&i?i:c;l&&this.syncAccount({address:l,chainId:o.id,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),s.on("disconnect",this.disconnect.bind(this,e)),s.on("connections",i=>{this.setConnections(i,e)}),s.on("pendingTransactions",()=>{const i=W.state.address,n=p.state.activeCaipNetwork;!i||!n?.id||this.updateNativeBalance(i,n.id,n.chainNamespace)}),s.on("accountChanged",({address:i,chainId:n})=>{const o=p.state.activeChain===e;o&&n?this.syncAccount({address:i,chainId:n,chainNamespace:e}):o&&p.state.activeCaipNetwork?.id?this.syncAccount({address:i,chainId:p.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(i,n,e),this.syncAllAccounts(e)})}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async syncNamespaceConnection(e){try{e===H.CHAIN.EVM&&Z.isSafeApp()&&j.setConnectorId(H.CONNECTOR_ID.SAFE,e);const s=j.getConnectorId(e);switch(this.setStatus("connecting",e),s){case H.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case H.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch(s){console.warn("AppKit couldn't sync existing connection",s),this.setStatus("disconnected",e)}}async syncAdapterConnection(e){const s=this.getAdapter(e),r=j.getConnectorId(e),i=this.getCaipNetwork(e),o=j.getConnectors(e).find(a=>a.id===r);try{if(!s||!o)throw new Error(`Adapter or connector not found for namespace ${e}`);if(!i?.id)throw new Error("CaipNetwork not found");const a=await s?.syncConnection({namespace:e,id:o.id,chainId:i.id,rpcUrl:i?.rpcUrls?.default?.http?.[0]});if(a){const c=await s?.getAccounts({namespace:e,id:o.id});c&&c.accounts.length>0?this.setAllAccounts(c.accounts,e):this.setAllAccounts([Z.createAccount(e,a.address,"eoa")],e),this.syncProvider({...a,chainNamespace:e}),await this.syncAccount({...a,chainNamespace:e}),this.setStatus("connected",e)}else this.setStatus("disconnected",e)}catch{this.setStatus("disconnected",e)}}async syncWalletConnectAccount(){const e=this.chainNamespaces.map(async s=>{const r=this.getAdapter(s),i=this.universalProvider?.session?.namespaces?.[s]?.accounts||[],n=p.state.activeCaipNetwork?.id,o=i.find(a=>{const{chainId:c}=Gt.parseCaipAddress(a);return c===n?.toString()})||i[0];if(o){const a=Gt.validateCaipAddress(o),{chainId:c,address:l}=Gt.parseCaipAddress(a);if(Pe.setProviderId(s,Qt.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&p.state.activeCaipNetwork&&r?.namespace!==H.CHAIN.EVM){const u=r?.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:p.state.activeCaipNetwork});Pe.setProvider(s,u)}else Pe.setProvider(s,this.universalProvider);j.setConnectorId(H.CONNECTOR_ID.WALLET_CONNECT,s),q.addConnectedNamespace(s),this.syncWalletConnectAccounts(s),await this.syncAccount({address:l,chainId:c,chainNamespace:s})}else this.setStatus("disconnected",s);this.syncConnectedWalletInfo(s),await p.setApprovedCaipNetworksData(s)});await Promise.all(e)}syncWalletConnectAccounts(e){const s=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(r=>{const{address:i}=Gt.parseCaipAddress(r);return i}).filter((r,i,n)=>n.indexOf(r)===i);s&&this.setAllAccounts(s.map(r=>Z.createAccount(e,r,e==="bip122"?"payment":"eoa")),e)}syncProvider({type:e,provider:s,id:r,chainNamespace:i}){Pe.setProviderId(i,e),Pe.setProvider(i,s),j.setConnectorId(r,i)}async syncAllAccounts(e){const s=j.getConnectorId(e);if(!s)return;const i=await this.getAdapter(e)?.getAccounts({namespace:e,id:s});i&&i.accounts.length>0&&this.setAllAccounts(i.accounts,e)}async syncAccount(e){const s=e.chainNamespace===p.state.activeChain,r=p.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:i,chainId:n,chainNamespace:o}=e,{chainId:a}=q.getActiveNetworkProps(),c=n||a,l=p.state.activeCaipNetwork?.name===H.UNSUPPORTED_NETWORK_NAME,u=p.getNetworkProp("supportsAllNetworks",o);if(this.setStatus("connected",o),!(l&&!u)&&c){let h=this.getCaipNetworks().find(m=>m.id.toString()===c.toString()),g=this.getCaipNetworks().find(m=>m.chainNamespace===o);if(!u&&!h&&!g){const m=this.getApprovedCaipNetworkIds()||[],y=m.find(v=>Gt.parseCaipNetworkId(v)?.chainId===c.toString()),f=m.find(v=>Gt.parseCaipNetworkId(v)?.chainNamespace===o);h=this.getCaipNetworks().find(v=>v.caipNetworkId===y),g=this.getCaipNetworks().find(v=>v.caipNetworkId===f||"deprecatedCaipNetworkId"in v&&v.deprecatedCaipNetworkId===f)}const w=h||g;w?.chainNamespace===p.state.activeChain?N.state.enableNetworkSwitch&&!N.state.allowUnsupportedChain&&p.state.activeCaipNetwork?.name===H.UNSUPPORTED_NETWORK_NAME?p.showUnsupportedChainUI():this.setCaipNetwork(w):s||r&&this.setCaipNetworkOfNamespace(r,o),this.syncConnectedWalletInfo(o),Zn.isLowerCaseMatch(i,W.state.address)||this.syncAccountInfo(i,w?.id,o),s?await this.syncBalance({address:i,chainId:w?.id,chainNamespace:o}):await this.syncBalance({address:i,chainId:r?.id,chainNamespace:o})}}async syncAccountInfo(e,s,r){const i=this.getCaipAddress(r),n=s||i?.split(":")[1];if(!n)return;const o=`${r}:${n}:${e}`;this.setCaipAddress(o,r),await this.syncIdentity({address:e,chainId:n,chainNamespace:r})}async syncReownName(e,s){try{const r=await this.getReownName(e);if(r[0]){const i=r[0];this.setProfileName(i.name,s)}else this.setProfileName(null,s)}catch{this.setProfileName(null,s)}}syncConnectedWalletInfo(e){const s=j.getConnectorId(e),r=Pe.getProviderId(e);if(r===Qt.CONNECTOR_TYPE_ANNOUNCED||r===Qt.CONNECTOR_TYPE_INJECTED){if(s){const i=this.getConnectors().find(n=>n.id===s);if(i){const{info:n,name:o,imageUrl:a}=i,c=a||this.getConnectorImage(i);this.setConnectedWalletInfo({name:o,icon:c,...n},e)}}}else if(r===Qt.CONNECTOR_TYPE_WALLET_CONNECT){const i=Pe.getProvider(e);i?.session&&this.setConnectedWalletInfo({...i.session.peer.metadata,name:i.session.peer.metadata.name,icon:i.session.peer.metadata.icons?.[0]},e)}else if(s&&s===H.CONNECTOR_ID.COINBASE){const i=this.getConnectors().find(n=>n.id===H.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:"Coinbase Wallet",icon:this.getConnectorImage(i)},e)}}async syncBalance(e){!Va.getNetworksByNamespace(this.getCaipNetworks(),e.chainNamespace).find(r=>r.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async ready(){await this.readyPromise}async updateNativeBalance(e,s,r){const i=this.getAdapter(r),n=p.getCaipNetworkByNamespace(r,s);if(i){const o=await i.getBalance({address:e,chainId:s,caipNetwork:n,tokens:this.options.tokens});return this.setBalance(o.balance,o.symbol,r),o}}async initializeUniversalAdapter(){const e=mv.createLogger((r,...i)=>{r&&this.handleAlertError(r),console.error(...i)}),s={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};N.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await Xn.init(s),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&(this.universalProvider.on("display_uri",e=>{J.setUri(e)}),this.universalProvider.on("connect",J.finalizeWcConnection),this.universalProvider.on("disconnect",()=>{this.chainNamespaces.forEach(e=>{this.resetAccount(e)}),J.resetWcConnection()}),this.universalProvider.on("chainChanged",e=>{const s=this.getCaipNetworks().find(i=>i.id==e),r=this.getCaipNetwork();if(!s){this.setUnsupportedNetwork(e);return}r?.id!==s?.id&&this.setCaipNetwork(s)}),this.universalProvider.on("session_event",e=>{if(gi.isSessionEventData(e)){const{name:s,data:r}=e.params.event;s==="accountsChanged"&&Array.isArray(r)&&Z.isCaipAddress(r[0])&&this.syncAccount(Gt.parseCaipAddress(r[0]))}}))}createUniversalProvider(){return!this.universalProviderInitPromise&&Z.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){_e.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}handleAlertError(e){const s=Object.entries(Ks.UniversalProviderErrors).find(([,{message:a}])=>e.message.includes(a)),[r,i]=s??[],{message:n,alertErrorKey:o}=i??{};if(r&&n&&!this.reportedAlertErrors[r]){const a=Ks.ALERT_ERRORS[o];a&&(ts.open(a,"error"),this.reportedAlertErrors[r]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;const s=e.namespace;if(!s)return;this.createClients();const r=e;r.namespace=s,r.construct({namespace:s,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),this.chainNamespaces.includes(s)||this.chainNamespaces.push(s),this.chainAdapters&&(this.chainAdapters[s]=r)}async open(e){if(await this.injectModalUi(),e?.uri&&J.setUri(e.uri),e?.arguments)switch(e?.view){case"Swap":return Le.open({...e,data:{swap:e.arguments}})}return Le.open(e)}async close(){await this.injectModalUi(),Le.close()}setLoading(e,s){Le.setLoading(e,s)}async disconnect(e){await J.disconnect(e)}getSIWX(){return N.state.siwx}getError(){return""}getChainId(){return p.state.activeCaipNetwork?.id}async switchNetwork(e){const s=this.getCaipNetworks().find(r=>r.id===e.id);if(!s){ts.open(Ks.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error");return}await p.switchActiveNetwork(s)}getWalletProvider(){return p.state.activeChain?Pe.state.providers[p.state.activeChain]:null}getWalletProviderType(){return Pe.getProviderId(p.state.activeChain)}subscribeProviders(e){return Pe.subscribeProviders(e)}getThemeMode(){return nt.state.themeMode}getThemeVariables(){return nt.state.themeVariables}setThemeMode(e){nt.setThemeMode(e),vl(nt.state.themeMode)}setTermsConditionsUrl(e){N.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){N.setPrivacyPolicyUrl(e)}setThemeVariables(e){nt.setThemeVariables(e),bv(nt.state.themeVariables)}subscribeTheme(e){return nt.subscribe(e)}getWalletInfo(){return W.state.connectedWalletInfo}getAccount(e){const s=j.getAuthConnector(e),r=p.getAccountData(e),i=p.state.activeChain,n=q.getConnectedConnectorId(e||i);if(r)return{allAccounts:r.allAccounts,caipAddress:r.caipAddress,address:Z.getPlainAddress(r.caipAddress),isConnected:!!r.caipAddress,status:r.status,embeddedWalletInfo:s&&n===H.CONNECTOR_ID.AUTH?{user:r.user?{...r.user,username:q.getConnectedSocialUsername()}:void 0,authProvider:r.socialProvider||"email",accountType:r.preferredAccountTypes?.[e||i],isSmartAccountDeployed:!!r.smartAccountDeployed}:void 0}}subscribeAccount(e,s){const r=()=>{const i=this.getAccount(s);i&&e(i)};s?p.subscribeChainProp("accountState",r,s):p.subscribe(r),j.subscribe(r)}subscribeNetwork(e){return p.subscribe(({activeCaipNetwork:s})=>{e({caipNetwork:s,chainId:s?.id,caipNetworkId:s?.caipNetworkId})})}subscribeWalletInfo(e){return W.subscribeKey("connectedWalletInfo",e)}subscribeShouldUpdateToAddress(e){W.subscribeKey("shouldUpdateToAddress",e)}subscribeCaipNetworkChange(e){p.subscribeKey("activeCaipNetwork",e)}getState(){return ns.state}subscribeState(e){return ns.subscribe(e)}showErrorMessage(e){Et.showError(e)}showSuccessMessage(e){Et.showSuccess(e)}getEvent(){return{..._e.state}}subscribeEvents(e){return _e.subscribe(e)}replace(e){ne.replace(e)}redirect(e){ne.push(e)}popTransactionStack(e){ne.popTransactionStack(e)}isOpen(){return Le.state.open}isTransactionStackEmpty(){return ne.state.transactionStack.length===0}static getInstance(){return this.instance}updateFeatures(e){N.setFeatures(e)}updateRemoteFeatures(e){N.setRemoteFeatures(e)}updateOptions(e){const r={...N.state||{},...e};N.setOptions(r)}setConnectMethodsOrder(e){N.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){N.setWalletFeaturesOrder(e)}setCollapseWallets(e){N.setCollapseWallets(e)}setSocialsOrder(e){N.setSocialsOrder(e)}getConnectMethodsOrder(){return Ei.getConnectOrderMethod(N.state.features,j.getConnectors())}addNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);const r=this.extendCaipNetwork(s,this.options);this.getCaipNetworks().find(i=>i.id===r.id)||p.addNetwork(r)}removeNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);this.getCaipNetworks().find(i=>i.id===s)&&p.removeNetwork(e,s)}}let Ha=!1;class Cl extends kv{async open(e){j.isConnected()||await super.open(e)}async close(){await super.close(),this.options.manualWCControl&&J.finalizeWcConnection()}async syncIdentity(e){return Promise.resolve()}async syncBalance(e){return Promise.resolve()}async injectModalUi(){if(!Ha&&Z.isClient()){if(await Promise.resolve().then(()=>require("./basic-BxzNlZH2.js")),await Promise.resolve().then(()=>require("./w3m-modal-B5PtkowQ.js")),!document.querySelector("w3m-modal")){const s=document.createElement("w3m-modal");!N.state.disableAppend&&!N.state.enableEmbedded&&document.body.insertAdjacentElement("beforeend",s)}Ha=!0}}}const Tv="1.7.8";function Ov(t){return new Cl({...t,basic:!0,sdkVersion:`html-core-${Tv}`})}const xv=Object.freeze(Object.defineProperty({__proto__:null,AppKit:Cl,createAppKit:Ov},Symbol.toStringTag,{value:"Module"}));exports.AccountController=W;exports.AlertController=ts;exports.ApiController=V;exports.AssetController=vt;exports.AssetUtil=jn;exports.ChainController=p;exports.ConnectionController=J;exports.ConnectorController=j;exports.ConnectorUtil=$r;exports.ConstantsUtil=H;exports.ConstantsUtil$1=be;exports.ConstantsUtil$2=bl;exports.CoreHelperUtil=Z;exports.EventsController=_e;exports.ModalController=Le;exports.OptionsController=N;exports.RouterController=ne;exports.SIWXUtil=Qs;exports.SnackController=Et;exports.StorageUtil=q;exports.ThemeController=nt;exports.WalletUtil=Ei;exports.colorStyles=Cv;exports.core=xv;exports.elementStyles=Ev;exports.initializeTheming=yv;exports.resetStyles=vv;exports.withErrorBoundary=at;
|
|
889
|
+
`,_r={ERROR_CODE_UNRECOGNIZED_CHAIN_ID:4902,ERROR_CODE_DEFAULT:5e3,ERROR_INVALID_CHAIN_ID:32603,DEFAULT_ALLOWED_ANCESTORS:["http://localhost:*","https://*.pages.dev","https://*.vercel.app","https://*.ngrok-free.app","https://secure-mobile.walletconnect.com","https://secure-mobile.walletconnect.org"]};function Yr(t){return{formatters:void 0,fees:void 0,serializers:void 0,...t}}const Wa=Yr({id:"5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",name:"Solana",network:"solana-mainnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!1,chainNamespace:"solana",caipNetworkId:"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",deprecatedCaipNetworkId:"solana:4sGjMW1sUnHzSxGspuhpqLDx6wiyjNtZ"}),za=Yr({id:"EtWTRABZaYq6iMfeYKouRu166VU2xqa1",name:"Solana Devnet",network:"solana-devnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!0,chainNamespace:"solana",caipNetworkId:"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1",deprecatedCaipNetworkId:"solana:8E9rvCKLFQia2Y35HXjjpWzj8weVo44K"});Yr({id:"4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",name:"Solana Testnet",network:"solana-testnet",nativeCurrency:{name:"Solana",symbol:"SOL",decimals:9},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},blockExplorers:{default:{name:"Solscan",url:"https://solscan.io"}},testnet:!0,chainNamespace:"solana",caipNetworkId:"solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"});Yr({id:"000000000019d6689c085ae165831e93",caipNetworkId:"bip122:000000000019d6689c085ae165831e93",chainNamespace:"bip122",name:"Bitcoin",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}});Yr({id:"000000000933ea01ad0ee984209779ba",caipNetworkId:"bip122:000000000933ea01ad0ee984209779ba",chainNamespace:"bip122",name:"Bitcoin Testnet",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}},testnet:!0});const Iv={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"]},gi={getMethodsByChainNamespace(t){return Iv[t]||[]},createDefaultNamespace(t){return{methods:this.getMethodsByChainNamespace(t),events:["accountsChanged","chainChanged"],chains:[],rpcMap:{}}},applyNamespaceOverrides(t,e){if(!e)return{...t};const s={...t},r=new Set;if(e.methods&&Object.keys(e.methods).forEach(i=>r.add(i)),e.chains&&Object.keys(e.chains).forEach(i=>r.add(i)),e.events&&Object.keys(e.events).forEach(i=>r.add(i)),e.rpcMap&&Object.keys(e.rpcMap).forEach(i=>{const[n]=i.split(":");n&&r.add(n)}),r.forEach(i=>{s[i]||(s[i]=this.createDefaultNamespace(i))}),e.methods&&Object.entries(e.methods).forEach(([i,n])=>{s[i]&&(s[i].methods=n)}),e.chains&&Object.entries(e.chains).forEach(([i,n])=>{s[i]&&(s[i].chains=n)}),e.events&&Object.entries(e.events).forEach(([i,n])=>{s[i]&&(s[i].events=n)}),e.rpcMap){const i=new Set;Object.entries(e.rpcMap).forEach(([n,o])=>{const[a,c]=n.split(":");!a||!c||!s[a]||(s[a].rpcMap||(s[a].rpcMap={}),i.has(a)||(s[a].rpcMap={},i.add(a)),s[a].rpcMap[c]=o)})}return s},createNamespaces(t,e){const s=t.reduce((r,i)=>{const{id:n,chainNamespace:o,rpcUrls:a}=i,c=a.default.http[0];r[o]||(r[o]=this.createDefaultNamespace(o));const l=`${o}:${n}`,u=r[o];switch(u.chains.push(l),l){case Wa.caipNetworkId:u.chains.push(Wa.deprecatedCaipNetworkId);break;case za.caipNetworkId:u.chains.push(za.deprecatedCaipNetworkId);break}return u?.rpcMap&&c&&(u.rpcMap[n]=c),r},{});return this.applyNamespaceOverrides(s,e)},resolveReownName:async t=>{const e=await Tr.resolveName(t);return(Object.values(e?.addresses)||[])[0]?.address||!1},getChainsFromNamespaces(t={}){return Object.values(t).flatMap(e=>{const s=e.chains||[],r=e.accounts.map(i=>{const[n,o]=i.split(":");return`${n}:${o}`});return Array.from(new Set([...s,...r]))})},isSessionEventData(t){return typeof t=="object"&&t!==null&&"id"in t&&"topic"in t&&"params"in t&&typeof t.params=="object"&&t.params!==null&&"chainId"in t.params&&"event"in t.params&&typeof t.params.event=="object"&&t.params.event!==null},isOriginAllowed(t,e,s){for(const r of[...e,...s])if(r.includes("*")){const n=`^${r.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&").replace(/\\\*/gu,".*")}$`;if(new RegExp(n,"u").test(t))return!0}else try{if(new URL(r).origin===t)return!0}catch{if(r===t)return!0}return!1}};class El{constructor({provider:e,namespace:s}){this.id=H.CONNECTOR_ID.WALLET_CONNECT,this.name=bi.ConnectorNamesMap[H.CONNECTOR_ID.WALLET_CONNECT],this.type="WALLET_CONNECT",this.imageId=bi.ConnectorImageIds[H.CONNECTOR_ID.WALLET_CONNECT],this.getCaipNetworks=p.getCaipNetworks.bind(p),this.caipNetworks=this.getCaipNetworks(),this.provider=e,this.chain=s}get chains(){return this.getCaipNetworks()}async connectWalletConnect(){if(!await this.authenticate()){const s=this.getCaipNetworks(),r=N.state.universalProviderConfigOverride,i=gi.createNamespaces(s,r);await this.provider.connect({optionalNamespaces:i})}return{clientId:await this.provider.client.core.crypto.getClientId(),session:this.provider.session}}async disconnect(){await this.provider.disconnect()}async authenticate(){const e=this.chains.map(s=>s.caipNetworkId);return Qs.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:Nv})}}const Nv=["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 Av{constructor(e){this.availableConnectors=[],this.eventListeners=new Map,this.getCaipNetworks=s=>p.getCaipNetworks(s),e&&this.construct(e)}construct(e){this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get networks(){return this.getCaipNetworks(this.namespace)}setAuthProvider(e){this.addConnector({id:H.CONNECTOR_ID.AUTH,type:"AUTH",name:H.CONNECTOR_NAMES.AUTH,provider:e,imageId:bi.ConnectorImageIds[H.CONNECTOR_ID.AUTH],chain:this.namespace,chains:[]})}addConnector(...e){const s=new Set;this.availableConnectors=[...e,...this.availableConnectors].filter(r=>s.has(r.id)?!1:(s.add(r.id),!0)),this.emit("connectors",this.availableConnectors)}setStatus(e,s){W.setStatus(e,s)}on(e,s){this.eventListeners.has(e)||this.eventListeners.set(e,new Set),this.eventListeners.get(e)?.add(s)}off(e,s){const r=this.eventListeners.get(e);r&&r.delete(s)}removeAllEventListeners(){this.eventListeners.forEach(e=>{e.clear()})}emit(e,s){const r=this.eventListeners.get(e);r&&r.forEach(i=>i(s))}async connectWalletConnect(e){return{clientId:(await this.getWalletConnectConnector().connectWalletConnect()).clientId}}async switchNetwork(e){const{caipNetwork:s,providerType:r}=e;if(!e.provider)return;const i="provider"in e.provider?e.provider.provider:e.provider;if(r==="WALLET_CONNECT"){i.setDefaultChain(s.caipNetworkId);return}if(i&&r==="AUTH"){const n=i,o=W.state.preferredAccountTypes?.[s.chainNamespace];await n.switchNetwork(s.caipNetworkId);const a=await n.getUser({chainId:s.caipNetworkId,preferredAccountType:o});this.emit("switchNetwork",a)}}getWalletConnectConnector(){const e=this.connectors.find(s=>s instanceof El);if(!e)throw new Error("WalletConnectConnector not found");return e}}class Sv extends Av{setUniversalProvider(e){this.addConnector(new El({provider:e,caipNetworks:this.getCaipNetworks(),namespace:this.namespace}))}async connect(e){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:Number(e.chainId),provider:this.provider,address:""})}async disconnect(){try{await this.getWalletConnectConnector().disconnect()}catch(e){console.warn("UniversalAdapter:disconnect - error",e)}}async getAccounts({namespace:e}){const r=this.provider?.session?.namespaces?.[e]?.accounts?.map(i=>{const[,,n]=i.split(":");return n}).filter((i,n,o)=>o.indexOf(i)===n)||[];return Promise.resolve({accounts:r.map(i=>Z.createAccount(e,i,e==="bip122"?"payment":"eoa"))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&be.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:"0.00",symbol:e.caipNetwork?.nativeCurrency.symbol||""};if(W.state.balanceLoading&&e.chainId===p.state.activeCaipNetwork?.id)return{balance:W.state.balance||"0.00",symbol:W.state.balanceSymbol||""};const i=(await W.fetchTokenBalance()).find(n=>n.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&n.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:i?.quantity.numeric||"0.00",symbol:i?.symbol||e.caipNetwork?.nativeCurrency.symbol||""}}async signMessage(e){const{provider:s,message:r,address:i}=e;if(!s)throw new Error("UniversalAdapter:signMessage - provider is undefined");let n="";return p.state.activeCaipNetwork?.chainNamespace===H.CHAIN.SOLANA?n=(await s.request({method:"solana_signMessage",params:{message:Fn.bs58.encode(new TextEncoder().encode(r)),pubkey:i}},p.state.activeCaipNetwork?.caipNetworkId)).signature:n=await s.request({method:"personal_sign",params:[r,i]},p.state.activeCaipNetwork?.caipNetworkId),{signature:n}}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:""})}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){const{caipNetwork:s}=e,r=this.getWalletConnectConnector();if(s.chainNamespace===H.CHAIN.EVM)try{await r.provider?.request({method:"wallet_switchEthereumChain",params:[{chainId:Es.toHex(s.id)}]})}catch(i){if(i.code===_r.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||i.code===_r.ERROR_INVALID_CHAIN_ID||i.code===_r.ERROR_CODE_DEFAULT||i?.data?.originalError?.code===_r.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await r.provider?.request({method:"wallet_addEthereumChain",params:[{chainId:Es.toHex(s.id),rpcUrls:[s?.rpcUrls.chainDefault?.http],chainName:s.name,nativeCurrency:s.nativeCurrency,blockExplorerUrls:[s.blockExplorers?.default.url]}]})}catch{throw new Error("Chain is not supported")}}r.provider.setDefaultChain(s.caipNetworkId)}getWalletConnectProvider(){return this.connectors.find(r=>r.type==="WALLET_CONNECT")?.provider}}const _v=["email","socials","swaps","onramp","activity","reownBranding"],li={email:{apiFeatureName:"social_login",localFeatureName:"email",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return!!t.isEnabled&&e.includes("email")},processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.email:!!t},socials:{apiFeatureName:"social_login",localFeatureName:"socials",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return t.isEnabled&&e.length>0?e.filter(s=>s!=="email"):!1},processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.socials:typeof t=="boolean"?t?be.DEFAULT_REMOTE_FEATURES.socials:!1:t},swaps:{apiFeatureName:"swap",localFeatureName:"swaps",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return t.isEnabled&&e.length>0?e:!1},processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.swaps:typeof t=="boolean"?t?be.DEFAULT_REMOTE_FEATURES.swaps:!1:t},onramp:{apiFeatureName:"onramp",localFeatureName:"onramp",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>{if(!t?.config)return!1;const e=t.config;return t.isEnabled&&e.length>0?e:!1},processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.onramp:typeof t=="boolean"?t?be.DEFAULT_REMOTE_FEATURES.onramp:!1:t},activity:{apiFeatureName:"activity",localFeatureName:"history",returnType:!1,isLegacy:!0,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.activity:!!t},reownBranding:{apiFeatureName:"reown_branding",localFeatureName:"reownBranding",returnType:!1,isLegacy:!1,isAvailableOnBasic:!1,processApi:t=>!!t.isEnabled,processFallback:t=>t===void 0?be.DEFAULT_REMOTE_FEATURES.reownBranding:!!t}},Pv={localSettingsOverridden:new Set,getApiConfig(t,e){return e?.find(s=>s.id===t)},addWarning(t,e){if(t!==void 0){const s=li[e],r=s.isLegacy?`"features.${s.localFeatureName}" (now "${e}")`:`"features.${e}"`;this.localSettingsOverridden.add(r)}},processFeature(t,e,s,r,i){const n=li[t],o=e[n.localFeatureName];if(i&&!n.isAvailableOnBasic)return!1;if(r){const a=this.getApiConfig(n.apiFeatureName,s);return a?.config===null?this.processFallbackFeature(t,o):a?.config?(o!==void 0&&this.addWarning(o,t),this.processApiFeature(t,a)):!1}return this.processFallbackFeature(t,o)},processApiFeature(t,e){return li[t].processApi(e)},processFallbackFeature(t,e){return li[t].processFallback(e)},async fetchRemoteFeatures(t){const e=t.basic??!1,s=t.features||{};this.localSettingsOverridden.clear();let r=null,i=!1;try{r=await V.fetchProjectConfig(),i=r!=null}catch(o){console.warn("[Reown Config] Failed to fetch remote project configuration. Using local/default values.",o)}const n=i&&!e?be.DEFAULT_REMOTE_FEATURES:be.DEFAULT_REMOTE_FEATURES_DISABLED;try{for(const o of _v){const a=this.processFeature(o,s,r,i,e);Object.assign(n,{[o]:a})}}catch(o){return console.warn("[Reown Config] Failed to process the configuration from Cloud. Using default values.",o),be.DEFAULT_REMOTE_FEATURES}if(i&&this.localSettingsOverridden.size>0){const o=`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.`;ts.open({shortMessage:"Local configuration ignored",longMessage:`[Reown Config Notice] ${o}`},"warning")}return n}};class kv{constructor(e){this.chainNamespaces=[],this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(s,r)=>{if(s){const i=p.getNetworkData(s)?.requestedCaipNetworks?.find(a=>a.id===r);if(i)return i;const n=p.getNetworkData(s)?.caipNetwork;return n||p.getRequestedCaipNetworks(s).filter(a=>a.chainNamespace===s)?.[0]}return p.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{const s=this.getCaipNetwork();if(s)return s.id},this.getCaipNetworks=s=>p.getCaipNetworks(s),this.getActiveChainNamespace=()=>p.state.activeChain,this.setRequestedCaipNetworks=(s,r)=>{p.setRequestedCaipNetworks(s,r)},this.getApprovedCaipNetworkIds=()=>p.getAllApprovedCaipNetworkIds(),this.getCaipAddress=s=>p.state.activeChain===s||!s?p.state.activeCaipAddress:p.getAccountProp("caipAddress",s),this.setClientId=s=>{X.setClientId(s)},this.getProvider=s=>Pe.getProvider(s),this.getProviderType=s=>Pe.getProviderId(s),this.getPreferredAccountType=s=>W.state.preferredAccountTypes?.[s],this.setCaipAddress=(s,r)=>{W.setCaipAddress(s,r),s&&N.state.enableEmbedded&&this.close()},this.setBalance=(s,r,i)=>{W.setBalance(s,r,i)},this.setProfileName=(s,r)=>{W.setProfileName(s,r)},this.setProfileImage=(s,r)=>{W.setProfileImage(s,r)},this.setUser=(s,r)=>{W.setUser(s,r)},this.resetAccount=s=>{W.resetAccount(s)},this.setCaipNetwork=s=>{p.setActiveCaipNetwork(s)},this.setCaipNetworkOfNamespace=(s,r)=>{p.setChainNetworkData(r,{caipNetwork:s})},this.setAllAccounts=(s,r)=>{W.setAllAccounts(s,r),N.setHasMultipleAddresses(s?.length>1)},this.setStatus=(s,r)=>{W.setStatus(s,r),j.isConnected()?q.setConnectionStatus("connected"):q.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=s=>p.getAccountProp("address",s),this.setConnectors=s=>{const r=[...j.state.allConnectors,...s];j.setConnectors(r)},this.setConnections=(s,r)=>{J.setConnections(s,r)},this.fetchIdentity=s=>X.fetchIdentity(s),this.getReownName=s=>Tr.getNamesForAddress(s),this.getConnectors=()=>j.getConnectors(),this.getConnectorImage=s=>jn.getConnectorImage(s),this.setConnectedWalletInfo=(s,r)=>{const i=Pe.getProviderId(r),n=s?{...s,type:i}:void 0;W.setConnectedWalletInfo(n,r)},this.getIsConnectedState=()=>!!p.state.activeCaipAddress,this.addAddressLabel=(s,r,i)=>{W.addAddressLabel(s,r,i)},this.removeAddressLabel=(s,r)=>{W.removeAddressLabel(s,r)},this.getAddress=s=>p.state.activeChain===s||!s?W.state.address:p.getAccountProp("address",s),this.setApprovedCaipNetworksData=s=>p.setApprovedCaipNetworksData(s),this.resetNetwork=s=>{p.resetNetwork(s)},this.addConnector=s=>{j.addConnector(s)},this.resetWcConnection=()=>{J.resetWcConnection()},this.setAddressExplorerUrl=(s,r)=>{W.setAddressExplorerUrl(s,r)},this.setSmartAccountDeployed=(s,r)=>{W.setSmartAccountDeployed(s,r)},this.setSmartAccountEnabledNetworks=(s,r)=>{p.setSmartAccountEnabledNetworks(s,r)},this.setPreferredAccountType=(s,r)=>{W.setPreferredAccountType(s,r)},this.setEIP6963Enabled=s=>{N.setEIP6963Enabled(s)},this.handleUnsafeRPCRequest=()=>{if(this.isOpen()){if(this.isTransactionStackEmpty())return;this.redirect("ApproveTransaction")}else 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,s){const r=e?.map(n=>n.namespace).filter(n=>!!n);if(r?.length)return[...new Set(r)];const i=s?.map(n=>n.chainNamespace);return[...new Set(i)]}async initialize(e){this.initializeProjectSettings(e),this.initControllers(e),await this.initChainAdapters(),this.sendInitializeEvent(e),await this.syncExistingConnection(),this.remoteFeatures=await Pv.fetchRemoteFeatures(e),N.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&cn.setOnrampProviders(this.remoteFeatures.onramp),(N.state.remoteFeatures?.email||Array.isArray(N.state.remoteFeatures?.socials)&&N.state.remoteFeatures?.socials.length>0)&&await this.checkAllowedOrigins()}async checkAllowedOrigins(){const e=await V.fetchAllowedOrigins();if(e&&Z.isClient()){const s=window.location.origin;gi.isOriginAllowed(s,e,_r.DEFAULT_ALLOWED_ANCESTORS)||ts.open(Ks.ALERT_ERRORS.INVALID_APP_CONFIGURATION,"error")}else ts.open(Ks.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error")}sendInitializeEvent(e){const{...s}=e;delete s.adapters,delete s.universalProvider,_e.sendEvent({type:"track",event:"INITIALIZE",properties:{...s,networks:e.networks.map(r=>r.id),siweConfig:{options:e.siweConfig?.options||{}}}})}initControllers(e){this.initializeOptionsController(e),this.initializeChainController(e),this.initializeThemeController(e),this.initializeConnectionController(e),this.initializeConnectorController()}initializeThemeController(e){e.themeMode&&nt.setThemeMode(e.themeMode),e.themeVariables&&nt.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw new Error("ConnectionControllerClient and NetworkControllerClient must be set");p.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});const s=this.getDefaultNetwork();s&&p.setActiveCaipNetwork(s)}initializeConnectionController(e){J.setWcBasic(e.basic??!1)}initializeConnectorController(){j.initialize(this.chainNamespaces)}initializeProjectSettings(e){N.setProjectId(e.projectId),N.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){N.setDebug(e.debug!==!1),N.setEnableWalletConnect(e.enableWalletConnect!==!1),N.setEnableWalletGuide(e.enableWalletGuide!==!1),N.setEnableWallets(e.enableWallets!==!1),N.setEIP6963Enabled(e.enableEIP6963!==!1),N.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),N.setEnableAuthLogger(e.enableAuthLogger!==!1),N.setCustomRpcUrls(e.customRpcUrls),N.setEnableEmbedded(e.enableEmbedded),N.setAllWallets(e.allWallets),N.setIncludeWalletIds(e.includeWalletIds),N.setExcludeWalletIds(e.excludeWalletIds),N.setFeaturedWalletIds(e.featuredWalletIds),N.setTokens(e.tokens),N.setTermsConditionsUrl(e.termsConditionsUrl),N.setPrivacyPolicyUrl(e.privacyPolicyUrl),N.setCustomWallets(e.customWallets),N.setFeatures(e.features),N.setAllowUnsupportedChain(e.allowUnsupportedChain),N.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),N.setPreferUniversalLinks(e.experimental_preferUniversalLinks),N.setDefaultAccountTypes(e.defaultAccountTypes);const s=q.getPreferredAccountTypes()||{},r={...N.state.defaultAccountTypes,...s};W.setPreferredAccountTypes(r);const i=this.getDefaultMetaData();if(!e.metadata&&i&&(e.metadata=i),N.setMetadata(e.metadata),N.setDisableAppend(e.disableAppend),N.setEnableEmbedded(e.enableEmbedded),N.setSIWX(e.siwx),!e.projectId){ts.open(Ks.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");return}if(e.adapters?.find(o=>o.namespace===H.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw new Error("Cannot set both `siweConfig` and `siwx` options");N.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return Z.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){const s=this.getActiveChainNamespace();if(s){const r=Js.getUnsupportedNetwork(`${s}:${e}`);p.setActiveCaipNetwork(r)}}getDefaultNetwork(){return Js.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,s){return Js.extendCaipNetwork(e,{customNetworkImageUrls:s.chainImages,projectId:s.projectId})}extendCaipNetworks(e){return Js.extendCaipNetworks(e.networks,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId})}extendDefaultCaipNetwork(e){const s=e.networks.find(i=>i.id===e.defaultNetwork?.id);return s?Js.extendCaipNetwork(s,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectNamespace(e){try{const s=this.getAdapter(e),r=Pe.getProvider(e),i=Pe.getProviderId(e),{caipAddress:n}=p.getAccountData(e)||{};this.setLoading(!0,e),n&&s?.disconnect&&await s.disconnect({provider:r,providerType:i}),q.removeConnectedNamespace(e),Pe.resetChain(e),this.setUser(void 0,e),this.setStatus("disconnected",e),this.setConnectedWalletInfo(void 0,e),j.removeConnectorId(e),p.resetAccount(e),p.resetNetwork(e),this.setLoading(!1,e)}catch(s){throw this.setLoading(!1,e),new Error(`Failed to disconnect chain ${e}: ${s.message}`)}}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{const e=p.state.activeChain,s=this.getAdapter(e),r=this.getCaipNetwork(e)?.id;if(!s)throw new Error("Adapter not found");const i=await s.connectWalletConnect(r);this.close(),this.setClientId(i?.clientId||null),q.setConnectedNamespaces([...p.state.chains.keys()]),this.chainNamespaces.forEach(n=>{j.setConnectorId(Qt.CONNECTOR_TYPE_WALLET_CONNECT,n)}),await this.syncWalletConnectAccount()},connectExternal:async({id:e,info:s,type:r,provider:i,chain:n,caipNetwork:o,socialUri:a})=>{const c=p.state.activeChain,l=n||c,u=this.getAdapter(l);if(n&&n!==c&&!o){const y=this.getCaipNetworks().find(f=>f.chainNamespace===n);y&&this.setCaipNetwork(y)}if(!u)throw new Error("Adapter not found");const h=this.getCaipNetwork(l),g=await u.connect({id:e,info:s,type:r,provider:i,socialUri:a,chainId:o?.id||h?.id,rpcUrl:o?.rpcUrls?.default?.http?.[0]||h?.rpcUrls?.default?.http?.[0]});if(!g)return;q.addConnectedNamespace(l),this.syncProvider({...g,chainNamespace:l});const w=W.state.allAccounts,{accounts:m}=w?.length>0?{accounts:[...w]}:await u.getAccounts({namespace:l,id:e});this.setAllAccounts(m,l),this.setStatus("connected",l),this.syncConnectedWalletInfo(l)},reconnectExternal:async({id:e,info:s,type:r,provider:i})=>{const n=p.state.activeChain,o=this.getAdapter(n);o?.reconnect&&(await o?.reconnect({id:e,info:s,type:r,provider:i,chainId:this.getCaipNetwork()?.id}),q.addConnectedNamespace(n),this.syncConnectedWalletInfo(n))},disconnect:async e=>{const s=gv(e);try{const r=await Promise.allSettled(s.map(async([n])=>this.disconnectNamespace(n)));pe.resetSend(),J.resetWcConnection(),await Qs.clearSessions(),j.setFilterByNamespace(void 0);const i=r.filter(n=>n.status==="rejected");if(i.length>0)throw new Error(i.map(n=>n.reason.message).join(", "));q.deleteConnectedSocialProvider(),_e.sendEvent({type:"track",event:"DISCONNECT_SUCCESS",properties:{namespace:e||"all"}})}catch(r){throw new Error(`Failed to disconnect chains: ${r.message}`)}},checkInstalled:e=>e?e.some(s=>!!window.ethereum?.[String(s)]):!!window.ethereum,signMessage:async e=>(await this.getAdapter(p.state.activeChain)?.signMessage({message:e,address:W.state.address,provider:Pe.getProvider(p.state.activeChain)}))?.signature||"",sendTransaction:async e=>{const s=e.chainNamespace;if(be.SEND_SUPPORTED_NAMESPACES.includes(s)){const r=this.getAdapter(p.state.activeChain),i=Pe.getProvider(s);return(await r?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:i}))?.hash||""}return""},estimateGas:async e=>{if(e.chainNamespace===H.CHAIN.EVM){const s=this.getAdapter(p.state.activeChain),r=Pe.getProvider(p.state.activeChain),i=this.getCaipNetwork();if(!i)throw new Error("CaipNetwork is undefined");return(await s?.estimateGas({...e,provider:r,caipNetwork:i}))?.gas||0n}return 0n},getEnsAvatar:async()=>(await this.syncIdentity({address:W.state.address,chainId:Number(this.getCaipNetwork()?.id),chainNamespace:p.state.activeChain}),W.state.profileImage||!1),getEnsAddress:async e=>await gi.resolveReownName(e),writeContract:async e=>{const s=this.getAdapter(p.state.activeChain),r=this.getCaipNetwork(),i=this.getCaipAddress(),n=Pe.getProvider(p.state.activeChain);if(!r||!i)throw new Error("CaipNetwork or CaipAddress is undefined");return(await s?.writeContract({...e,caipNetwork:r,provider:n,caipAddress:i}))?.hash},parseUnits:(e,s)=>this.getAdapter(p.state.activeChain)?.parseUnits({value:e,decimals:s})??0n,formatUnits:(e,s)=>this.getAdapter(p.state.activeChain)?.formatUnits({value:e,decimals:s})??"0",getCapabilities:async e=>await this.getAdapter(p.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(p.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{const s=this.getAdapter(p.state.activeChain);return s?.revokePermissions?await s.revokePermissions(e):"0x"},walletGetAssets:async e=>await this.getAdapter(p.state.activeChain)?.walletGetAssets(e)??{},updateBalance:e=>{const s=this.getCaipNetwork(e);!s||!W.state.address||this.updateNativeBalance(W.state.address,s?.id,e)}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},J.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(Pe.getProviderId(p.state.activeChain)===Qt.CONNECTOR_TYPE_WALLET_CONNECT){const s=this.universalProvider?.session?.namespaces;return{supportsAllNetworks:this.universalProvider?.session?.peer?.metadata.name==="MetaMask Wallet",approvedCaipNetworkIds:this.getChainsFromNamespaces(s)}}return{supportsAllNetworks:!0,approvedCaipNetworkIds:[]}}async switchCaipNetwork(e){if(!e)return;const s=e.chainNamespace;if(this.getAddressByChainNamespace(e.chainNamespace)){const i=Pe.getProvider(s),n=Pe.getProviderId(s);if(e.chainNamespace===p.state.activeChain)await this.getAdapter(s)?.switchNetwork({caipNetwork:e,provider:i,providerType:n});else if(this.setCaipNetwork(e),n===Qt.CONNECTOR_TYPE_WALLET_CONNECT)this.syncWalletConnectAccount();else{const o=this.getAddressByChainNamespace(s);o&&this.syncAccount({address:o,chainId:e.id,chainNamespace:s})}}else this.setCaipNetwork(e)}getChainsFromNamespaces(e={}){return Object.values(e).flatMap(s=>{const r=s.chains||[],i=s.accounts.map(n=>{const{chainId:o,chainNamespace:a}=Gt.parseCaipAddress(n);return`${a}:${o}`});return Array.from(new Set([...r,...i]))})}createAdapters(e){return this.createClients(),this.chainNamespaces.reduce((s,r)=>{const i=e?.find(n=>n.namespace===r);return i?(i.construct({namespace:r,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),s[r]=i):s[r]=new Sv({namespace:r,networks:this.getCaipNetworks()}),s},{})}async initChainAdapter(e){this.onConnectors(e),this.listenAdapter(e),await this.chainAdapters?.[e].syncConnectors(this.options,this),await this.createUniversalProviderForAdapter(e)}async initChainAdapters(){await Promise.all(this.chainNamespaces.map(async e=>{await this.initChainAdapter(e)}))}onConnectors(e){this.getAdapter(e)?.on("connectors",this.setConnectors.bind(this))}listenAdapter(e){const s=this.getAdapter(e);if(!s)return;const r=q.getConnectionStatus();r==="connected"?this.setStatus("connecting",e):r==="disconnected"?(q.clearAddressCache(),this.setStatus(r,e)):this.setStatus(r,e),s.on("switchNetwork",({address:i,chainId:n})=>{const o=this.getCaipNetworks().find(l=>l.id===n||l.caipNetworkId===n),a=p.state.activeChain===e,c=p.getAccountProp("address",e);if(o){const l=a&&i?i:c;l&&this.syncAccount({address:l,chainId:o.id,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),s.on("disconnect",this.disconnect.bind(this,e)),s.on("connections",i=>{this.setConnections(i,e)}),s.on("pendingTransactions",()=>{const i=W.state.address,n=p.state.activeCaipNetwork;!i||!n?.id||this.updateNativeBalance(i,n.id,n.chainNamespace)}),s.on("accountChanged",({address:i,chainId:n})=>{const o=p.state.activeChain===e;o&&n?this.syncAccount({address:i,chainId:n,chainNamespace:e}):o&&p.state.activeCaipNetwork?.id?this.syncAccount({address:i,chainId:p.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(i,n,e),this.syncAllAccounts(e)})}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async syncNamespaceConnection(e){try{e===H.CHAIN.EVM&&Z.isSafeApp()&&j.setConnectorId(H.CONNECTOR_ID.SAFE,e);const s=j.getConnectorId(e);switch(this.setStatus("connecting",e),s){case H.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case H.CONNECTOR_ID.AUTH:break;default:await this.syncAdapterConnection(e)}}catch(s){console.warn("AppKit couldn't sync existing connection",s),this.setStatus("disconnected",e)}}async syncAdapterConnection(e){const s=this.getAdapter(e),r=j.getConnectorId(e),i=this.getCaipNetwork(e),o=j.getConnectors(e).find(a=>a.id===r);try{if(!s||!o)throw new Error(`Adapter or connector not found for namespace ${e}`);if(!i?.id)throw new Error("CaipNetwork not found");const a=await s?.syncConnection({namespace:e,id:o.id,chainId:i.id,rpcUrl:i?.rpcUrls?.default?.http?.[0]});if(a){const c=await s?.getAccounts({namespace:e,id:o.id});c&&c.accounts.length>0?this.setAllAccounts(c.accounts,e):this.setAllAccounts([Z.createAccount(e,a.address,"eoa")],e),this.syncProvider({...a,chainNamespace:e}),await this.syncAccount({...a,chainNamespace:e}),this.setStatus("connected",e)}else this.setStatus("disconnected",e)}catch{this.setStatus("disconnected",e)}}async syncWalletConnectAccount(){const e=this.chainNamespaces.map(async s=>{const r=this.getAdapter(s),i=this.universalProvider?.session?.namespaces?.[s]?.accounts||[],n=p.state.activeCaipNetwork?.id,o=i.find(a=>{const{chainId:c}=Gt.parseCaipAddress(a);return c===n?.toString()})||i[0];if(o){const a=Gt.validateCaipAddress(o),{chainId:c,address:l}=Gt.parseCaipAddress(a);if(Pe.setProviderId(s,Qt.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&p.state.activeCaipNetwork&&r?.namespace!==H.CHAIN.EVM){const u=r?.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:p.state.activeCaipNetwork});Pe.setProvider(s,u)}else Pe.setProvider(s,this.universalProvider);j.setConnectorId(H.CONNECTOR_ID.WALLET_CONNECT,s),q.addConnectedNamespace(s),this.syncWalletConnectAccounts(s),await this.syncAccount({address:l,chainId:c,chainNamespace:s})}else this.setStatus("disconnected",s);this.syncConnectedWalletInfo(s),await p.setApprovedCaipNetworksData(s)});await Promise.all(e)}syncWalletConnectAccounts(e){const s=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(r=>{const{address:i}=Gt.parseCaipAddress(r);return i}).filter((r,i,n)=>n.indexOf(r)===i);s&&this.setAllAccounts(s.map(r=>Z.createAccount(e,r,e==="bip122"?"payment":"eoa")),e)}syncProvider({type:e,provider:s,id:r,chainNamespace:i}){Pe.setProviderId(i,e),Pe.setProvider(i,s),j.setConnectorId(r,i)}async syncAllAccounts(e){const s=j.getConnectorId(e);if(!s)return;const i=await this.getAdapter(e)?.getAccounts({namespace:e,id:s});i&&i.accounts.length>0&&this.setAllAccounts(i.accounts,e)}async syncAccount(e){const s=e.chainNamespace===p.state.activeChain,r=p.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:i,chainId:n,chainNamespace:o}=e,{chainId:a}=q.getActiveNetworkProps(),c=n||a,l=p.state.activeCaipNetwork?.name===H.UNSUPPORTED_NETWORK_NAME,u=p.getNetworkProp("supportsAllNetworks",o);if(this.setStatus("connected",o),!(l&&!u)&&c){let h=this.getCaipNetworks().find(m=>m.id.toString()===c.toString()),g=this.getCaipNetworks().find(m=>m.chainNamespace===o);if(!u&&!h&&!g){const m=this.getApprovedCaipNetworkIds()||[],y=m.find(v=>Gt.parseCaipNetworkId(v)?.chainId===c.toString()),f=m.find(v=>Gt.parseCaipNetworkId(v)?.chainNamespace===o);h=this.getCaipNetworks().find(v=>v.caipNetworkId===y),g=this.getCaipNetworks().find(v=>v.caipNetworkId===f||"deprecatedCaipNetworkId"in v&&v.deprecatedCaipNetworkId===f)}const w=h||g;w?.chainNamespace===p.state.activeChain?N.state.enableNetworkSwitch&&!N.state.allowUnsupportedChain&&p.state.activeCaipNetwork?.name===H.UNSUPPORTED_NETWORK_NAME?p.showUnsupportedChainUI():this.setCaipNetwork(w):s||r&&this.setCaipNetworkOfNamespace(r,o),this.syncConnectedWalletInfo(o),Zn.isLowerCaseMatch(i,W.state.address)||this.syncAccountInfo(i,w?.id,o),s?await this.syncBalance({address:i,chainId:w?.id,chainNamespace:o}):await this.syncBalance({address:i,chainId:r?.id,chainNamespace:o})}}async syncAccountInfo(e,s,r){const i=this.getCaipAddress(r),n=s||i?.split(":")[1];if(!n)return;const o=`${r}:${n}:${e}`;this.setCaipAddress(o,r),await this.syncIdentity({address:e,chainId:n,chainNamespace:r})}async syncReownName(e,s){try{const r=await this.getReownName(e);if(r[0]){const i=r[0];this.setProfileName(i.name,s)}else this.setProfileName(null,s)}catch{this.setProfileName(null,s)}}syncConnectedWalletInfo(e){const s=j.getConnectorId(e),r=Pe.getProviderId(e);if(r===Qt.CONNECTOR_TYPE_ANNOUNCED||r===Qt.CONNECTOR_TYPE_INJECTED){if(s){const i=this.getConnectors().find(n=>n.id===s);if(i){const{info:n,name:o,imageUrl:a}=i,c=a||this.getConnectorImage(i);this.setConnectedWalletInfo({name:o,icon:c,...n},e)}}}else if(r===Qt.CONNECTOR_TYPE_WALLET_CONNECT){const i=Pe.getProvider(e);i?.session&&this.setConnectedWalletInfo({...i.session.peer.metadata,name:i.session.peer.metadata.name,icon:i.session.peer.metadata.icons?.[0]},e)}else if(s&&s===H.CONNECTOR_ID.COINBASE){const i=this.getConnectors().find(n=>n.id===H.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:"Coinbase Wallet",icon:this.getConnectorImage(i)},e)}}async syncBalance(e){!Va.getNetworksByNamespace(this.getCaipNetworks(),e.chainNamespace).find(r=>r.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async ready(){await this.readyPromise}async updateNativeBalance(e,s,r){const i=this.getAdapter(r),n=p.getCaipNetworkByNamespace(r,s);if(i){const o=await i.getBalance({address:e,chainId:s,caipNetwork:n,tokens:this.options.tokens});return this.setBalance(o.balance,o.symbol,r),o}}async initializeUniversalAdapter(){const e=mv.createLogger((r,...i)=>{r&&this.handleAlertError(r),console.error(...i)}),s={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};N.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await Xn.init(s),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&(this.universalProvider.on("display_uri",e=>{J.setUri(e)}),this.universalProvider.on("connect",J.finalizeWcConnection),this.universalProvider.on("disconnect",()=>{this.chainNamespaces.forEach(e=>{this.resetAccount(e)}),J.resetWcConnection()}),this.universalProvider.on("chainChanged",e=>{const s=this.getCaipNetworks().find(i=>i.id==e),r=this.getCaipNetwork();if(!s){this.setUnsupportedNetwork(e);return}r?.id!==s?.id&&this.setCaipNetwork(s)}),this.universalProvider.on("session_event",e=>{if(gi.isSessionEventData(e)){const{name:s,data:r}=e.params.event;s==="accountsChanged"&&Array.isArray(r)&&Z.isCaipAddress(r[0])&&this.syncAccount(Gt.parseCaipAddress(r[0]))}}))}createUniversalProvider(){return!this.universalProviderInitPromise&&Z.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){_e.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}handleAlertError(e){const s=Object.entries(Ks.UniversalProviderErrors).find(([,{message:a}])=>e.message.includes(a)),[r,i]=s??[],{message:n,alertErrorKey:o}=i??{};if(r&&n&&!this.reportedAlertErrors[r]){const a=Ks.ALERT_ERRORS[o];a&&(ts.open(a,"error"),this.reportedAlertErrors[r]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;const s=e.namespace;if(!s)return;this.createClients();const r=e;r.namespace=s,r.construct({namespace:s,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),this.chainNamespaces.includes(s)||this.chainNamespaces.push(s),this.chainAdapters&&(this.chainAdapters[s]=r)}async open(e){if(await this.injectModalUi(),e?.uri&&J.setUri(e.uri),e?.arguments)switch(e?.view){case"Swap":return Le.open({...e,data:{swap:e.arguments}})}return Le.open(e)}async close(){await this.injectModalUi(),Le.close()}setLoading(e,s){Le.setLoading(e,s)}async disconnect(e){await J.disconnect(e)}getSIWX(){return N.state.siwx}getError(){return""}getChainId(){return p.state.activeCaipNetwork?.id}async switchNetwork(e){const s=this.getCaipNetworks().find(r=>r.id===e.id);if(!s){ts.open(Ks.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error");return}await p.switchActiveNetwork(s)}getWalletProvider(){return p.state.activeChain?Pe.state.providers[p.state.activeChain]:null}getWalletProviderType(){return Pe.getProviderId(p.state.activeChain)}subscribeProviders(e){return Pe.subscribeProviders(e)}getThemeMode(){return nt.state.themeMode}getThemeVariables(){return nt.state.themeVariables}setThemeMode(e){nt.setThemeMode(e),vl(nt.state.themeMode)}setTermsConditionsUrl(e){N.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){N.setPrivacyPolicyUrl(e)}setThemeVariables(e){nt.setThemeVariables(e),bv(nt.state.themeVariables)}subscribeTheme(e){return nt.subscribe(e)}getWalletInfo(){return W.state.connectedWalletInfo}getAccount(e){const s=j.getAuthConnector(e),r=p.getAccountData(e),i=p.state.activeChain,n=q.getConnectedConnectorId(e||i);if(r)return{allAccounts:r.allAccounts,caipAddress:r.caipAddress,address:Z.getPlainAddress(r.caipAddress),isConnected:!!r.caipAddress,status:r.status,embeddedWalletInfo:s&&n===H.CONNECTOR_ID.AUTH?{user:r.user?{...r.user,username:q.getConnectedSocialUsername()}:void 0,authProvider:r.socialProvider||"email",accountType:r.preferredAccountTypes?.[e||i],isSmartAccountDeployed:!!r.smartAccountDeployed}:void 0}}subscribeAccount(e,s){const r=()=>{const i=this.getAccount(s);i&&e(i)};s?p.subscribeChainProp("accountState",r,s):p.subscribe(r),j.subscribe(r)}subscribeNetwork(e){return p.subscribe(({activeCaipNetwork:s})=>{e({caipNetwork:s,chainId:s?.id,caipNetworkId:s?.caipNetworkId})})}subscribeWalletInfo(e){return W.subscribeKey("connectedWalletInfo",e)}subscribeShouldUpdateToAddress(e){W.subscribeKey("shouldUpdateToAddress",e)}subscribeCaipNetworkChange(e){p.subscribeKey("activeCaipNetwork",e)}getState(){return ns.state}subscribeState(e){return ns.subscribe(e)}showErrorMessage(e){Et.showError(e)}showSuccessMessage(e){Et.showSuccess(e)}getEvent(){return{..._e.state}}subscribeEvents(e){return _e.subscribe(e)}replace(e){ne.replace(e)}redirect(e){ne.push(e)}popTransactionStack(e){ne.popTransactionStack(e)}isOpen(){return Le.state.open}isTransactionStackEmpty(){return ne.state.transactionStack.length===0}static getInstance(){return this.instance}updateFeatures(e){N.setFeatures(e)}updateRemoteFeatures(e){N.setRemoteFeatures(e)}updateOptions(e){const r={...N.state||{},...e};N.setOptions(r)}setConnectMethodsOrder(e){N.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){N.setWalletFeaturesOrder(e)}setCollapseWallets(e){N.setCollapseWallets(e)}setSocialsOrder(e){N.setSocialsOrder(e)}getConnectMethodsOrder(){return Ei.getConnectOrderMethod(N.state.features,j.getConnectors())}addNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);const r=this.extendCaipNetwork(s,this.options);this.getCaipNetworks().find(i=>i.id===r.id)||p.addNetwork(r)}removeNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);this.getCaipNetworks().find(i=>i.id===s)&&p.removeNetwork(e,s)}}let Ha=!1;class Cl extends kv{async open(e){j.isConnected()||await super.open(e)}async close(){await super.close(),this.options.manualWCControl&&J.finalizeWcConnection()}async syncIdentity(e){return Promise.resolve()}async syncBalance(e){return Promise.resolve()}async injectModalUi(){if(!Ha&&Z.isClient()){if(await Promise.resolve().then(()=>require("./basic-DJXXfABO.js")),await Promise.resolve().then(()=>require("./w3m-modal-ByamyZny.js")),!document.querySelector("w3m-modal")){const s=document.createElement("w3m-modal");!N.state.disableAppend&&!N.state.enableEmbedded&&document.body.insertAdjacentElement("beforeend",s)}Ha=!0}}}const Tv="1.7.8";function Ov(t){return new Cl({...t,basic:!0,sdkVersion:`html-core-${Tv}`})}const xv=Object.freeze(Object.defineProperty({__proto__:null,AppKit:Cl,createAppKit:Ov},Symbol.toStringTag,{value:"Module"}));exports.AccountController=W;exports.AlertController=ts;exports.ApiController=V;exports.AssetController=vt;exports.AssetUtil=jn;exports.ChainController=p;exports.ConnectionController=J;exports.ConnectorController=j;exports.ConnectorUtil=$r;exports.ConstantsUtil=H;exports.ConstantsUtil$1=be;exports.ConstantsUtil$2=bl;exports.CoreHelperUtil=Z;exports.EventsController=_e;exports.ModalController=Le;exports.OptionsController=N;exports.RouterController=ne;exports.SIWXUtil=Qs;exports.SnackController=Et;exports.StorageUtil=q;exports.ThemeController=nt;exports.WalletUtil=Ei;exports.colorStyles=Cv;exports.core=xv;exports.elementStyles=Ev;exports.initializeTheming=yv;exports.resetStyles=vv;exports.withErrorBoundary=at;
|