@dcl/explorer-website 2.6.1-25865517797.commit-b7a7cba → 2.7.0

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.
Files changed (141) hide show
  1. package/assets/{ConstantsUtil-ByjAYmvC.js → ConstantsUtil-BYRHWuZV.js} +1 -1
  2. package/assets/{ExchangeController-Bp8ztJrX.js → ExchangeController-N42lbf3C.js} +1 -1
  3. package/assets/{HelpersUtil-Dp4e1zvd.js → HelpersUtil-DFmhrbIH.js} +1 -1
  4. package/assets/{NetworkUtil-DqGcuBfF.js → NetworkUtil-DM5H1DOt.js} +1 -1
  5. package/assets/{SwapController-DUCq2f7d.js → SwapController-SgAc8zJM.js} +1 -1
  6. package/assets/{W3MFrameProviderSingleton-9eitOT0j.js → W3MFrameProviderSingleton-dGwr0u32.js} +3 -3
  7. package/assets/{basic-C7tUDecp.js → basic-CDUVa7W3.js} +1 -1
  8. package/assets/{biconomy-plHCR2Qq.js → biconomy-Dj37CYYZ.js} +1 -1
  9. package/assets/{browser-VYI7gorG.js → browser-h4rN6CV4.js} +1 -1
  10. package/assets/browser-ponyfill-LG9Rjmfj.js +1 -0
  11. package/assets/{ccip-Bldffu31.js → ccip-Cv_5kGJ0.js} +1 -1
  12. package/assets/{ccip-CrAifiNa.js → ccip-TlIoUAte.js} +1 -1
  13. package/assets/{chains-DTVDhUwv.js → chains-CsuV2rnE.js} +1 -1
  14. package/assets/{common-BEf2T7Hi.js → common-C9wbti_7.js} +1 -1
  15. package/assets/{controller-B8Iy-6V9.js → controller-DpEeOSLx.js} +2 -2
  16. package/assets/{core-XFvzSI58.js → core-BGvtiIgG.js} +4 -4
  17. package/assets/{custom-cPmISGcH.js → custom-BbQhcg55.js} +1 -1
  18. package/assets/{data-capture-DnvAEYWK.js → data-capture-C5UoNnMk.js} +1 -1
  19. package/assets/decimals-DA8L6Gte.js +1 -0
  20. package/assets/{decimals-8g2-fBFa.js → decimals-mBEEumco.js} +1 -1
  21. package/assets/{detectExtension-yvI5WWZb.js → detectExtension-oDT7CrDk.js} +1 -1
  22. package/assets/{email-C8DRQjTT.js → email-CUatRSQC.js} +1 -1
  23. package/assets/{embedded-wallet-BxgtT1uV.js → embedded-wallet-DZAeJhJN.js} +1 -1
  24. package/assets/{engine-BERe87yT.js → engine-AXDB-0h6.js} +1 -1
  25. package/assets/{estimate-l1-fee-BTeKvFv5.js → estimate-l1-fee-Bxwscz8f.js} +1 -1
  26. package/assets/eth_estimateGas-DFXalA2X.js +1 -0
  27. package/assets/{eth_getStorageAt-SbVMAQY-.js → eth_getStorageAt-Dr4zmiJF.js} +1 -1
  28. package/assets/{eth_getTransactionCount-qv0oO1Md.js → eth_getTransactionCount-cZacEETx.js} +1 -1
  29. package/assets/{ethereum-BP59xYBe.js → ethereum-CIBzGnJl.js} +1 -1
  30. package/assets/{extractIPFS-BOFlZk7U.js → extractIPFS-Czsz8-sO.js} +1 -1
  31. package/assets/{features-DVWd8_kC.js → features-fx-atM_l.js} +1 -1
  32. package/assets/{fetchTokenMetadata-BaJXN6RH.js → fetchTokenMetadata-uG4nb_Kh.js} +2 -2
  33. package/assets/{fortmatic-DARkeYTE.js → fortmatic-boxtmFta.js} +1 -1
  34. package/assets/get-ecosystem-wallet-info-BI2Fd0Vd.js +1 -0
  35. package/assets/{getBalance-D6wpo61w.js → getBalance-CC2S0qtL.js} +2 -2
  36. package/assets/{getInstalledModules-Dkj379ys.js → getInstalledModules-53n5UYt2.js} +1 -1
  37. package/assets/{getNFT-HMkoXD7L.js → getNFT-C3FPakLN.js} +2 -2
  38. package/assets/{getNFT-Drn4rxrk.js → getNFT-CnaK4j2q.js} +1 -1
  39. package/assets/{hashTypedData-CMDSWYgs.js → hashTypedData-C4JiqOxU.js} +1 -1
  40. package/assets/{hashTypedData-B5shS-rs.js → hashTypedData-D1Ievn97.js} +1 -1
  41. package/assets/{in-app-wallet-calls-l9-2W_Em.js → in-app-wallet-calls-khLeeKNu.js} +1 -1
  42. package/assets/{index-BIPd_vR5.js → index-0P32tQWj.js} +1 -1
  43. package/assets/{index-DIlwNfpB.js → index-1quVm3wk.js} +1 -1
  44. package/assets/{index-DbAu4Peg.js → index-B2PoGJRP.js} +3 -3
  45. package/assets/{index-BaGjqMte.js → index-B5w_jZpc.js} +2 -2
  46. package/assets/{index-CE5G6IEJ.js → index-B6j-Tckn.js} +1 -1
  47. package/assets/{index-CjiwjbqL.js → index-BCiKer83.js} +1 -1
  48. package/assets/{index-C8NSq3HK.js → index-BCqrDgyR.js} +1 -1
  49. package/assets/{index-BXAxcybX.js → index-BE5nQY53.js} +1 -1
  50. package/assets/{index-C51HwlD0.js → index-BF9Yx_yV.js} +1 -1
  51. package/assets/{index-CWGeCZBJ.js → index-BJCYEGPg.js} +1 -1
  52. package/assets/{index-Cy1X3n_C.js → index-BT0xQ-Xd.js} +1 -1
  53. package/assets/{index-0ShVRzxt.js → index-BVi4iI8y.js} +1 -1
  54. package/assets/{index-BDgZ3gDE.js → index-BVvMg9ZB.js} +1 -1
  55. package/assets/{index-DFE6t65x.js → index-BpxeqYFx.js} +1 -1
  56. package/assets/{index-B5ECjSS9.js → index-Bv6LvzLS.js} +1 -1
  57. package/assets/{index-i4VBSYqA.js → index-BvCGPTHO.js} +1 -1
  58. package/assets/index-Bzi38pjx.css +1 -0
  59. package/assets/{index-CH0zI801.js → index-C5oPclal.js} +1 -1
  60. package/assets/{index-D2ZBQG8w.js → index-C6-AvlPm.js} +1 -1
  61. package/assets/{index-CWnFK_-0.js → index-C9EMW8qD.js} +1 -1
  62. package/assets/{index-C-uqursN.js → index-C9vcJp9T.js} +1 -1
  63. package/assets/{index-DK-ZMNLh.js → index-CO3lXLzl.js} +1 -1
  64. package/assets/{index-DS2Lm9tG.js → index-CYBDya_s.js} +1 -1
  65. package/assets/{index-okvlQSs2.js → index-Coj3uG35.js} +1 -1
  66. package/assets/{index-Cu4ZjLNb.js → index-CqbvjyBi.js} +5 -5
  67. package/assets/{index-wds8TuUm.js → index-CwfOYq8B.js} +1 -1
  68. package/assets/{index-aoxVkzFE.js → index-Cz0JdeQb.js} +1 -1
  69. package/assets/{index-C5ciuua_.js → index-D-YuFp2i.js} +1 -1
  70. package/assets/{index-I68folnJ.js → index-D4NLrlUn.js} +1 -1
  71. package/assets/{index-B7Jt3b4d.js → index-D8PaxcsI.js} +1 -1
  72. package/assets/{index-r_1z0VI_.js → index-D9ey6cqT.js} +1 -1
  73. package/assets/{index-B-vyBZw9.js → index-DRYOQXZX.js} +1 -1
  74. package/assets/{index-DOnRCLNP.js → index-DT1PkdGa.js} +2 -2
  75. package/assets/{index-DWRq2SN_.js → index-DXCSroqX.js} +1 -1
  76. package/assets/{index-mZa0UiRt.js → index-DXs78xw9.js} +1 -1
  77. package/assets/{index-kXKMGszW.js → index-DZ0punK7.js} +1 -1
  78. package/assets/{index-B9U0GcYk.js → index-D_m5AL3D.js} +1 -1
  79. package/assets/{index-BxdNwV86.js → index-Dc148hav.js} +1 -1
  80. package/assets/{index-DP1DuCnR.js → index-DgDxBH9m.js} +1 -1
  81. package/assets/{index-DfWsAOhN.js → index-Dm7tCcMc.js} +3 -3
  82. package/assets/{index-D0LvjNIX.js → index-DmIGOG39.js} +1 -1
  83. package/assets/{index-JfVynEph.js → index-DmK5ktNw.js} +1 -1
  84. package/assets/{index-Cp7mdTuR.js → index-Eyans5--.js} +1 -1
  85. package/assets/{index-DPxCDCvr.js → index-KK8ZylE4.js} +1 -1
  86. package/assets/{index-DvJmANzU.js → index-TUD0QlWP.js} +1 -1
  87. package/assets/{index-TBthDmkl.js → index-ak5cSl-l.js} +1 -1
  88. package/assets/{index-8M7OkBFm.js → index-bVr8-SEv.js} +1 -1
  89. package/assets/{index-BlykZ8Gp.js → index-prLj8b2x.js} +1 -1
  90. package/assets/{index-BKL7nv1p.js → index-vajj2FBo.js} +1 -1
  91. package/assets/{index.es-YpI01v2I.js → index.es-C85F8NOj.js} +1 -1
  92. package/assets/{index.es-CkxUaFYS.js → index.es-DYgSAVrd.js} +1 -1
  93. package/assets/{index.es-cEGj7JU0.js → index.es-XXBqJXMm.js} +4 -4
  94. package/assets/{localBatchGatewayRequest-CNIOIq-Z.js → localBatchGatewayRequest-DbQn1s0J.js} +1 -1
  95. package/assets/{networks-DJ72puSk.js → networks-DMqekeph.js} +1 -1
  96. package/assets/{onramp--l5ZLxWE.js → onramp-qvbxoSMm.js} +1 -1
  97. package/assets/{openzeppelin-CqtRqxtF.js → openzeppelin-B6Und3LJ.js} +1 -1
  98. package/assets/{ownerOf-cWkgEtd8.js → ownerOf-CUoSe2c5.js} +1 -1
  99. package/assets/{parseEventLogs-D1xiFnCH.js → parseEventLogs-BxtEI7tW.js} +3 -3
  100. package/assets/{parseNft-DH5KlHPI.js → parseNft-DB_pGzOu.js} +2 -2
  101. package/assets/{parseSignature-HAlgOHnm.js → parseSignature-Csyua1uA.js} +3 -3
  102. package/assets/{parseSignature-BYhcrVdX.js → parseSignature-O0fAqZoB.js} +1 -1
  103. package/assets/{pay-with-exchange-CiXPJJ6-.js → pay-with-exchange-1MlV9x6H.js} +1 -1
  104. package/assets/{qr-overlay-CmFgwJBd.js → qr-overlay-DA6htUdY.js} +3 -3
  105. package/assets/{receive-t2TxUItI.js → receive-JnpfZY7d.js} +1 -1
  106. package/assets/{resolveImplementation-iG9WRRnW.js → resolveImplementation-B8d2Q-Ro.js} +1 -1
  107. package/assets/{rpc-sIdV4wiJ.js → rpc-DkFFCBh9.js} +1 -1
  108. package/assets/{secp256k1-Rk5k9i7o.js → secp256k1-BCPsQ5nJ.js} +1 -1
  109. package/assets/{secp256k1-Co_Jve4c.js → secp256k1-BZmrY8e3.js} +1 -1
  110. package/assets/{secp256k1-Bg2aUJRs.js → secp256k1-TIizaas9.js} +1 -1
  111. package/assets/{send-ByB5fOtm.js → send-DsnDja5n.js} +1 -1
  112. package/assets/{send-batch-transaction-D79MC_wr.js → send-batch-transaction-jNcvidMH.js} +1 -1
  113. package/assets/{send-eip712-transaction-CB6qLgks.js → send-eip712-transaction-DDJVOUpU.js} +2 -2
  114. package/assets/{send-gasless-transaction-Dt1qtUR8.js → send-gasless-transaction-DXjarWmh.js} +2 -2
  115. package/assets/{session-proposal-CY0k9Jnm.js → session-proposal-xJguSOgr.js} +1 -1
  116. package/assets/{session-request-B_2glC9e.js → session-request-BhD4eDPG.js} +2 -2
  117. package/assets/{sha256-Dy8KQE_5.js → sha256-CbjS9vFa.js} +1 -1
  118. package/assets/{signing-gNn6SJWz.js → signing-tKzVzr3v.js} +5 -5
  119. package/assets/{socials-Dx84-PrV.js → socials-CER945jA.js} +1 -1
  120. package/assets/{swaps-CK9Sfcew.js → swaps-Dy4hNTFm.js} +1 -1
  121. package/assets/{thirdweb-Bx5V_C1s.js → thirdweb-CNCkvOQU.js} +3 -3
  122. package/assets/{totalSupply-O-VFDoRO.js → totalSupply-BQvZy7Uc.js} +1 -1
  123. package/assets/{transactionReceipt-BqEjx5q-.js → transactionReceipt-DA1xo-2g.js} +1 -1
  124. package/assets/{transactions-BLOC2qYE.js → transactions-CwEfhngY.js} +1 -1
  125. package/assets/{utils-h8VUSGPW.js → utils-BUWGRgBa.js} +1 -1
  126. package/assets/{verifyHash-CNJ6t8Wp.js → verifyHash-CX9Livyx.js} +1 -1
  127. package/assets/{w3m-modal-nzPxg0Fr.js → w3m-modal-B1spewtI.js} +1 -1
  128. package/assets/{w3m-modal-CCQuGDus.js → w3m-modal-B6M729n4.js} +1 -1
  129. package/assets/{wait-for-tx-receipt-5pSBMNe2.js → wait-for-tx-receipt-BLruoSfj.js} +1 -1
  130. package/assets/{wallets-Bz03-Btm.js → wallets-vCTTbbau.js} +6 -6
  131. package/assets/{web-connector-CAOe_uvv.js → web-connector-h9SB5qXs.js} +3 -3
  132. package/assets/{writeContract-CCar3Ocq.js → writeContract-C9KDDivM.js} +1 -1
  133. package/assets/{zora-sepolia-D6mjhB5j.js → zora-sepolia-pCyxGzqm.js} +1 -1
  134. package/assets/{zoraTestnet-WLSFziQl.js → zoraTestnet-ChmlUfs6.js} +1 -1
  135. package/index.html +4 -4
  136. package/package.json +3 -3
  137. package/assets/browser-ponyfill-BmgQyNz0.js +0 -1
  138. package/assets/decimals-DR6jraOc.js +0 -1
  139. package/assets/eth_estimateGas-DKKwG-Ue.js +0 -1
  140. package/assets/get-ecosystem-wallet-info-Cvjz8DFX.js +0 -1
  141. package/assets/index-829Uxa3Y.css +0 -1
@@ -1,8 +1,8 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secp256k1-Co_Jve4c.js","assets/index.es-cEGj7JU0.js","assets/index-Cu4ZjLNb.js","assets/index-829Uxa3Y.css","assets/index-B-vyBZw9.js","assets/index-DS2Lm9tG.js","assets/index-nibyPLVP.js","assets/index-CJdot1dH.js","assets/index.es-CkxUaFYS.js","assets/browser-ponyfill-BmgQyNz0.js","assets/basic-C7tUDecp.js","assets/lit-element-Cn7T8F1W.js","assets/class-map-mFRv1nW8.js","assets/index-C-uqursN.js","assets/async-directive-DJs0ey8-.js","assets/if-defined-DsPifBxM.js","assets/browser-VYI7gorG.js","assets/ref-CYZXcxoe.js","assets/NetworkUtil-DqGcuBfF.js","assets/sha2-D3ryOfi3.js","assets/W3MFrameProviderSingleton-9eitOT0j.js","assets/w3m-modal-nzPxg0Fr.js"])))=>i.map(i=>d[i]);
2
- import{b as mr,_ as Un,h as gd,B as Ye,e as Ws,N as yo}from"./index-Cu4ZjLNb.js";import{I as Pr,e as fd,g as U,h as ns,C as md,j as Dn,k as $c,m as wd,c as Us,r as kr,o as _t,n as yd,q as bo,t as vo,b as Ji,P as Uo,Q as bd,u as vd,s as Cd,a as Do,v as hr,f as Uc,w as Qt,x as Ft,y as os}from"./index-B-vyBZw9.js";import{k as Ed,h as At,i as lt,j as Yr,l as hi,A as Dc,E as tt,m as Id,y as yt,O as Co}from"./index.es-cEGj7JU0.js";import"./index-DS2Lm9tG.js";import{f as Dt}from"./index.es-CkxUaFYS.js";import{a3 as Nd,an as Lo}from"./NetworkUtil-DqGcuBfF.js";import{an as Dr,f as Mo,h as Ii}from"./W3MFrameProviderSingleton-9eitOT0j.js";import{r as Pt,a as wr}from"./lit-element-Cn7T8F1W.js";import"./browser-ponyfill-BmgQyNz0.js";var Bo={};const z={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 mr<"u"&&typeof Bo<"u"?Bo.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org"},Lc={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 z.CHAIN_NAME_MAP?.[r]||void 0}},Ad={bigNumber(t){return t?new Dr(t):new Dr(0)},multiply(t,e){if(t===void 0||e===void 0)return new Dr(0);const s=new Dr(t),r=new Dr(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,""))}},_d=[{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"}]}],Sd=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],Pd=[{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"}]}],kd={getERC20Abi:t=>z.USDT_CONTRACT_ADDRESSES.includes(t)?Pd:_d,getSwapAbi:()=>Sd},as={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}}},ee={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 nn(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const X={setItem(t,e){zr()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(zr())return localStorage.getItem(t)||void 0},removeItem(t){zr()&&localStorage.removeItem(t)},clear(){zr()&&localStorage.clear()}};function zr(){return typeof window<"u"&&typeof localStorage<"u"}function ms(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"}}const Td=Symbol(),qo=Object.getPrototypeOf,Ln=new WeakMap,Od=t=>t&&(Ln.has(t)?Ln.get(t):qo(t)===Object.prototype||qo(t)===Array.prototype),xd=t=>Od(t)&&t[Td]||null,jo=(t,e=!0)=>{Ln.set(t,e)},Fi={},on=t=>typeof t=="object"&&t!==null,ps=new WeakMap,Hr=new WeakSet,Rd=(t=Object.is,e=(l,d)=>new Proxy(l,d),s=l=>on(l)&&!Hr.has(l)&&(Array.isArray(l)||!(Symbol.iterator in l))&&!(l instanceof WeakMap)&&!(l instanceof WeakSet)&&!(l instanceof Error)&&!(l instanceof Number)&&!(l instanceof Date)&&!(l instanceof String)&&!(l instanceof RegExp)&&!(l instanceof ArrayBuffer),r=l=>{switch(l.status){case"fulfilled":return l.value;case"rejected":throw l.reason;default:throw l}},i=new WeakMap,n=(l,d,u=r)=>{const p=i.get(l);if(p?.[0]===d)return p[1];const f=Array.isArray(l)?[]:Object.create(Object.getPrototypeOf(l));return jo(f,!0),i.set(l,[d,f]),Reflect.ownKeys(l).forEach(m=>{if(Object.getOwnPropertyDescriptor(f,m))return;const w=Reflect.get(l,m),{enumerable:g}=Reflect.getOwnPropertyDescriptor(l,m),y={value:w,enumerable:g,configurable:!0};if(Hr.has(w))jo(w,!1);else if(w instanceof Promise)delete y.value,y.get=()=>u(w);else if(ps.has(w)){const[b,I]=ps.get(w);y.value=n(b,I(),u)}Object.defineProperty(f,m,y)}),Object.preventExtensions(f)},o=new WeakMap,a=[1,1],c=l=>{if(!on(l))throw new Error("object required");const d=o.get(l);if(d)return d;let u=a[0];const p=new Set,f=(v,x=++a[0])=>{u!==x&&(u=x,p.forEach(C=>C(v,x)))};let m=a[1];const w=(v=++a[1])=>(m!==v&&!p.size&&(m=v,y.forEach(([x])=>{const C=x[1](v);C>u&&(u=C)})),u),g=v=>(x,C)=>{const L=[...x];L[1]=[v,...L[1]],f(L,C)},y=new Map,b=(v,x)=>{if((Fi?"production":void 0)!=="production"&&y.has(v))throw new Error("prop listener already exists");if(p.size){const C=x[3](g(v));y.set(v,[x,C])}else y.set(v,[x])},I=v=>{var x;const C=y.get(v);C&&(y.delete(v),(x=C[1])==null||x.call(C))},O=v=>(p.add(v),p.size===1&&y.forEach(([C,L],H)=>{if((Fi?"production":void 0)!=="production"&&L)throw new Error("remove already exists");const E=C[3](g(H));y.set(H,[C,E])}),()=>{p.delete(v),p.size===0&&y.forEach(([C,L],H)=>{L&&(L(),y.set(H,[C]))})}),R=Array.isArray(l)?[]:Object.create(Object.getPrototypeOf(l)),_=e(R,{deleteProperty(v,x){const C=Reflect.get(v,x);I(x);const L=Reflect.deleteProperty(v,x);return L&&f(["delete",[x],C]),L},set(v,x,C,L){const H=Reflect.has(v,x),E=Reflect.get(v,x,L);if(H&&(t(E,C)||o.has(C)&&t(E,o.get(C))))return!0;I(x),on(C)&&(C=xd(C)||C);let k=C;if(C instanceof Promise)C.then(A=>{C.status="fulfilled",C.value=A,f(["resolve",[x],A])}).catch(A=>{C.status="rejected",C.reason=A,f(["reject",[x],A])});else{!ps.has(C)&&s(C)&&(k=c(C));const A=!Hr.has(k)&&ps.get(k);A&&b(x,A)}return Reflect.set(v,x,k,L),f(["set",[x],C,E]),!0}});o.set(l,_);const D=[R,w,n,O];return ps.set(_,D),Reflect.ownKeys(l).forEach(v=>{const x=Object.getOwnPropertyDescriptor(l,v);"value"in x&&(_[v]=l[v],delete x.value,delete x.writable),Object.defineProperty(R,v,x)}),_})=>[c,ps,Hr,t,e,s,r,i,n,o,a],[$d]=Rd();function Ae(t={}){return $d(t)}function Ze(t,e,s){const r=ps.get(t);(Fi?"production":void 0)!=="production"&&!r&&console.warn("Please use proxy object");let i;const n=[],o=r[3];let a=!1;const l=o(d=>{n.push(d),i||(i=Promise.resolve().then(()=>{i=void 0,a&&e(n.splice(0))}))});return a=!0,()=>{a=!1,l()}}function ni(t,e){const s=ps.get(t);(Fi?"production":void 0)!=="production"&&!s&&console.warn("Please use proxy object");const[r,i,n]=s;return n(r,i(),e)}function Ms(t){return Hr.add(t),t}function Xe(t,e,s,r){let i=t[e];return Ze(t,()=>{const n=t[e];Object.is(i,n)||s(i=n)})}function Ud(t){const e=Ae({data:Array.from([]),has(s){return this.data.some(r=>r[0]===s)},set(s,r){const i=this.data.find(n=>n[0]===s);return i?i[1]=r:this.data.push([s,r]),this},get(s){var r;return(r=this.data.find(i=>i[0]===s))==null?void 0:r[1]},delete(s){const r=this.data.findIndex(i=>i[0]===s);return r===-1?!1:(this.data.splice(r,1),!0)},clear(){this.data.splice(0)},get size(){return this.data.length},toJSON(){return new Map(this.data)},forEach(s){this.data.forEach(r=>{s(r[1],r[0],this)})},keys(){return this.data.map(s=>s[0]).values()},values(){return this.data.map(s=>s[1]).values()},entries(){return new Map(this.data).entries()},get[Symbol.toStringTag](){return"Map"},[Symbol.iterator](){return this.entries()}});return Object.defineProperties(e,{data:{enumerable:!1},size:{enumerable:!1},toJSON:{enumerable:!1}}),Object.seal(e),e}const Mc=[{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"]}],Dd="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"}},F={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5},isCacheExpired(t,e){return Date.now()-t>e},getActiveNetworkProps(){const t=F.getActiveNamespace(),e=F.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{X.setItem(ee.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=X.getItem(ee.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{X.removeItem(ee.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{X.setItem(ee.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{X.setItem(ee.ACTIVE_CAIP_NETWORK_ID,t),F.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return X.getItem(ee.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{X.removeItem(ee.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=nn(t);X.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=F.getRecentWallets();e.find(r=>r.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),X.setItem(ee.RECENT_WALLETS,JSON.stringify(e)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=X.getItem(ee.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},setConnectedConnectorId(t,e){try{const s=nn(t);X.setItem(s,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return X.getItem(ee.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=nn(t);return X.getItem(e)}catch{console.info("Unable to get connected connector id in namespace ",t)}},setConnectedSocialProvider(t){try{X.setItem(ee.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return X.getItem(ee.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{X.removeItem(ee.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return X.getItem(ee.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return X.getItem(ee.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(t){try{X.setItem(ee.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return X.getItem(ee.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=X.getItem(ee.CONNECTED_NAMESPACES);return t?.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));X.setItem(ee.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=F.getConnectedNamespaces();e.includes(t)||(e.push(t),F.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=F.getConnectedNamespaces(),s=e.indexOf(t);s>-1&&(e.splice(s,1),F.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return X.getItem(ee.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{X.setItem(ee.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{X.removeItem(ee.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=X.getItem(ee.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=F.getBalanceCache();X.setItem(ee.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const s=F.getBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.portfolio))return s.balance;F.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=F.getBalanceCache();e[t.caipAddress]=t,X.setItem(ee.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=X.getItem(ee.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=F.getBalanceCache();X.setItem(ee.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=F.getNativeBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.nativeBalance))return s;console.info("Discarding cache for address",t),F.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=F.getNativeBalanceCache();e[t.caipAddress]=t,X.setItem(ee.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=X.getItem(ee.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const s=F.getEnsCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.ens))return s.ens;F.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=F.getEnsCache();e[t.address]=t,X.setItem(ee.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=F.getEnsCache();X.setItem(ee.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=X.getItem(ee.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const s=F.getIdentityCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.identity))return s.identity;F.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=F.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},X.setItem(ee.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=F.getIdentityCache();X.setItem(ee.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},clearAddressCache(){try{X.removeItem(ee.PORTFOLIO_CACHE),X.removeItem(ee.NATIVE_BALANCE_CACHE),X.removeItem(ee.ENS_CACHE),X.removeItem(ee.IDENTITY_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{X.setItem(ee.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=X.getItem(ee.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const s={...F.getConnections(),[e]:t};X.setItem(ee.CONNECTIONS,JSON.stringify(s))}catch(s){console.error("Unable to sync connections to storage",s)}},getConnections(){try{const t=X.getItem(ee.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()?F.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 z.W3M_API_URL},getBlockchainApiUrl(){return z.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return z.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 z.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),d=c+s;return a+d+l}};async function Lr(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class pi{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 Lr(n,{method:"GET",headers:e,signal:s,cache:r})).json()}async getBlob({headers:e,signal:s,...r}){const i=this.createUrl(r);return(await Lr(i,{method:"GET",headers:e,signal:s})).blob()}async post({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await Lr(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 Lr(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 Lr(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 Ld={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=Ae({features:be.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:be.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{}}),S={state:K,subscribeKey(t,e){return Xe(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=Ld.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 ni(K)}},Md=Object.freeze({enabled:!0,events:[]}),Bd=new pi({baseUrl:Z.getAnalyticsUrl(),clientId:null}),qd=5,jd=60*1e3,cs=Ae({...Md}),Fd={state:cs,subscribeKey(t,e){return Xe(cs,t,e)},async sendError(t,e){if(!cs.enabled)return;const s=Date.now();if(cs.events.filter(n=>{const o=new Date(n.properties.timestamp||"").getTime();return s-o<jd}).length>=qd)return;const i={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};cs.events.push(i);try{if(typeof window>"u")return;const{projectId:n,sdkType:o,sdkVersion:a}=S.state;await Bd.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(){cs.enabled=!0},disable(){cs.enabled=!1},clearEvents(){cs.events=[]}};class vr extends Error{constructor(e,s,r){super(e),this.name="AppKitError",this.category=s,this.originalError=r,Object.setPrototypeOf(this,vr.prototype);let i=!1;if(r instanceof Error&&typeof r.stack=="string"&&r.stack){const n=r.stack,o=n.indexOf(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secp256k1-BZmrY8e3.js","assets/index.es-XXBqJXMm.js","assets/index-CqbvjyBi.js","assets/index-Bzi38pjx.css","assets/index-DRYOQXZX.js","assets/index-CYBDya_s.js","assets/index-nibyPLVP.js","assets/index-CJdot1dH.js","assets/index.es-DYgSAVrd.js","assets/browser-ponyfill-LG9Rjmfj.js","assets/basic-CDUVa7W3.js","assets/lit-element-Cn7T8F1W.js","assets/class-map-mFRv1nW8.js","assets/index-C9vcJp9T.js","assets/async-directive-DJs0ey8-.js","assets/if-defined-DsPifBxM.js","assets/browser-h4rN6CV4.js","assets/ref-CYZXcxoe.js","assets/NetworkUtil-DM5H1DOt.js","assets/sha2-D3ryOfi3.js","assets/W3MFrameProviderSingleton-dGwr0u32.js","assets/w3m-modal-B1spewtI.js"])))=>i.map(i=>d[i]);
2
+ import{b as mr,_ as Un,h as gd,B as Ye,e as Ws,N as yo}from"./index-CqbvjyBi.js";import{I as Pr,e as fd,g as U,h as ns,C as md,j as Dn,k as $c,m as wd,c as Us,r as kr,o as _t,n as yd,q as bo,t as vo,b as Ji,P as Uo,Q as bd,u as vd,s as Cd,a as Do,v as hr,f as Uc,w as Qt,x as Ft,y as os}from"./index-DRYOQXZX.js";import{k as Ed,h as At,i as lt,j as Yr,l as hi,A as Dc,E as tt,m as Id,y as yt,O as Co}from"./index.es-XXBqJXMm.js";import"./index-CYBDya_s.js";import{f as Dt}from"./index.es-DYgSAVrd.js";import{a3 as Nd,an as Lo}from"./NetworkUtil-DM5H1DOt.js";import{an as Dr,f as Mo,h as Ii}from"./W3MFrameProviderSingleton-dGwr0u32.js";import{r as Pt,a as wr}from"./lit-element-Cn7T8F1W.js";import"./browser-ponyfill-LG9Rjmfj.js";var Bo={};const z={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 mr<"u"&&typeof Bo<"u"?Bo.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org"},Lc={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 z.CHAIN_NAME_MAP?.[r]||void 0}},Ad={bigNumber(t){return t?new Dr(t):new Dr(0)},multiply(t,e){if(t===void 0||e===void 0)return new Dr(0);const s=new Dr(t),r=new Dr(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,""))}},_d=[{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"}]}],Sd=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],Pd=[{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"}]}],kd={getERC20Abi:t=>z.USDT_CONTRACT_ADDRESSES.includes(t)?Pd:_d,getSwapAbi:()=>Sd},as={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}}},ee={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 nn(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const X={setItem(t,e){zr()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(zr())return localStorage.getItem(t)||void 0},removeItem(t){zr()&&localStorage.removeItem(t)},clear(){zr()&&localStorage.clear()}};function zr(){return typeof window<"u"&&typeof localStorage<"u"}function ms(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"}}const Td=Symbol(),qo=Object.getPrototypeOf,Ln=new WeakMap,Od=t=>t&&(Ln.has(t)?Ln.get(t):qo(t)===Object.prototype||qo(t)===Array.prototype),xd=t=>Od(t)&&t[Td]||null,jo=(t,e=!0)=>{Ln.set(t,e)},Fi={},on=t=>typeof t=="object"&&t!==null,ps=new WeakMap,Hr=new WeakSet,Rd=(t=Object.is,e=(l,d)=>new Proxy(l,d),s=l=>on(l)&&!Hr.has(l)&&(Array.isArray(l)||!(Symbol.iterator in l))&&!(l instanceof WeakMap)&&!(l instanceof WeakSet)&&!(l instanceof Error)&&!(l instanceof Number)&&!(l instanceof Date)&&!(l instanceof String)&&!(l instanceof RegExp)&&!(l instanceof ArrayBuffer),r=l=>{switch(l.status){case"fulfilled":return l.value;case"rejected":throw l.reason;default:throw l}},i=new WeakMap,n=(l,d,u=r)=>{const p=i.get(l);if(p?.[0]===d)return p[1];const f=Array.isArray(l)?[]:Object.create(Object.getPrototypeOf(l));return jo(f,!0),i.set(l,[d,f]),Reflect.ownKeys(l).forEach(m=>{if(Object.getOwnPropertyDescriptor(f,m))return;const w=Reflect.get(l,m),{enumerable:g}=Reflect.getOwnPropertyDescriptor(l,m),y={value:w,enumerable:g,configurable:!0};if(Hr.has(w))jo(w,!1);else if(w instanceof Promise)delete y.value,y.get=()=>u(w);else if(ps.has(w)){const[b,I]=ps.get(w);y.value=n(b,I(),u)}Object.defineProperty(f,m,y)}),Object.preventExtensions(f)},o=new WeakMap,a=[1,1],c=l=>{if(!on(l))throw new Error("object required");const d=o.get(l);if(d)return d;let u=a[0];const p=new Set,f=(v,x=++a[0])=>{u!==x&&(u=x,p.forEach(C=>C(v,x)))};let m=a[1];const w=(v=++a[1])=>(m!==v&&!p.size&&(m=v,y.forEach(([x])=>{const C=x[1](v);C>u&&(u=C)})),u),g=v=>(x,C)=>{const L=[...x];L[1]=[v,...L[1]],f(L,C)},y=new Map,b=(v,x)=>{if((Fi?"production":void 0)!=="production"&&y.has(v))throw new Error("prop listener already exists");if(p.size){const C=x[3](g(v));y.set(v,[x,C])}else y.set(v,[x])},I=v=>{var x;const C=y.get(v);C&&(y.delete(v),(x=C[1])==null||x.call(C))},O=v=>(p.add(v),p.size===1&&y.forEach(([C,L],H)=>{if((Fi?"production":void 0)!=="production"&&L)throw new Error("remove already exists");const E=C[3](g(H));y.set(H,[C,E])}),()=>{p.delete(v),p.size===0&&y.forEach(([C,L],H)=>{L&&(L(),y.set(H,[C]))})}),R=Array.isArray(l)?[]:Object.create(Object.getPrototypeOf(l)),_=e(R,{deleteProperty(v,x){const C=Reflect.get(v,x);I(x);const L=Reflect.deleteProperty(v,x);return L&&f(["delete",[x],C]),L},set(v,x,C,L){const H=Reflect.has(v,x),E=Reflect.get(v,x,L);if(H&&(t(E,C)||o.has(C)&&t(E,o.get(C))))return!0;I(x),on(C)&&(C=xd(C)||C);let k=C;if(C instanceof Promise)C.then(A=>{C.status="fulfilled",C.value=A,f(["resolve",[x],A])}).catch(A=>{C.status="rejected",C.reason=A,f(["reject",[x],A])});else{!ps.has(C)&&s(C)&&(k=c(C));const A=!Hr.has(k)&&ps.get(k);A&&b(x,A)}return Reflect.set(v,x,k,L),f(["set",[x],C,E]),!0}});o.set(l,_);const D=[R,w,n,O];return ps.set(_,D),Reflect.ownKeys(l).forEach(v=>{const x=Object.getOwnPropertyDescriptor(l,v);"value"in x&&(_[v]=l[v],delete x.value,delete x.writable),Object.defineProperty(R,v,x)}),_})=>[c,ps,Hr,t,e,s,r,i,n,o,a],[$d]=Rd();function Ae(t={}){return $d(t)}function Ze(t,e,s){const r=ps.get(t);(Fi?"production":void 0)!=="production"&&!r&&console.warn("Please use proxy object");let i;const n=[],o=r[3];let a=!1;const l=o(d=>{n.push(d),i||(i=Promise.resolve().then(()=>{i=void 0,a&&e(n.splice(0))}))});return a=!0,()=>{a=!1,l()}}function ni(t,e){const s=ps.get(t);(Fi?"production":void 0)!=="production"&&!s&&console.warn("Please use proxy object");const[r,i,n]=s;return n(r,i(),e)}function Ms(t){return Hr.add(t),t}function Xe(t,e,s,r){let i=t[e];return Ze(t,()=>{const n=t[e];Object.is(i,n)||s(i=n)})}function Ud(t){const e=Ae({data:Array.from([]),has(s){return this.data.some(r=>r[0]===s)},set(s,r){const i=this.data.find(n=>n[0]===s);return i?i[1]=r:this.data.push([s,r]),this},get(s){var r;return(r=this.data.find(i=>i[0]===s))==null?void 0:r[1]},delete(s){const r=this.data.findIndex(i=>i[0]===s);return r===-1?!1:(this.data.splice(r,1),!0)},clear(){this.data.splice(0)},get size(){return this.data.length},toJSON(){return new Map(this.data)},forEach(s){this.data.forEach(r=>{s(r[1],r[0],this)})},keys(){return this.data.map(s=>s[0]).values()},values(){return this.data.map(s=>s[1]).values()},entries(){return new Map(this.data).entries()},get[Symbol.toStringTag](){return"Map"},[Symbol.iterator](){return this.entries()}});return Object.defineProperties(e,{data:{enumerable:!1},size:{enumerable:!1},toJSON:{enumerable:!1}}),Object.seal(e),e}const Mc=[{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"]}],Dd="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"}},F={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5},isCacheExpired(t,e){return Date.now()-t>e},getActiveNetworkProps(){const t=F.getActiveNamespace(),e=F.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{X.setItem(ee.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=X.getItem(ee.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{X.removeItem(ee.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{X.setItem(ee.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{X.setItem(ee.ACTIVE_CAIP_NETWORK_ID,t),F.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return X.getItem(ee.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{X.removeItem(ee.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=nn(t);X.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=F.getRecentWallets();e.find(r=>r.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),X.setItem(ee.RECENT_WALLETS,JSON.stringify(e)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=X.getItem(ee.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},setConnectedConnectorId(t,e){try{const s=nn(t);X.setItem(s,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return X.getItem(ee.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=nn(t);return X.getItem(e)}catch{console.info("Unable to get connected connector id in namespace ",t)}},setConnectedSocialProvider(t){try{X.setItem(ee.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return X.getItem(ee.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{X.removeItem(ee.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return X.getItem(ee.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return X.getItem(ee.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(t){try{X.setItem(ee.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return X.getItem(ee.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=X.getItem(ee.CONNECTED_NAMESPACES);return t?.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));X.setItem(ee.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=F.getConnectedNamespaces();e.includes(t)||(e.push(t),F.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=F.getConnectedNamespaces(),s=e.indexOf(t);s>-1&&(e.splice(s,1),F.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return X.getItem(ee.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{X.setItem(ee.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{X.removeItem(ee.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=X.getItem(ee.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=F.getBalanceCache();X.setItem(ee.PORTFOLIO_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove address from balance cache",t)}},getBalanceCacheForCaipAddress(t){try{const s=F.getBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.portfolio))return s.balance;F.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=F.getBalanceCache();e[t.caipAddress]=t,X.setItem(ee.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=X.getItem(ee.NATIVE_BALANCE_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromNativeBalanceCache(t){try{const e=F.getBalanceCache();X.setItem(ee.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=F.getNativeBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.nativeBalance))return s;console.info("Discarding cache for address",t),F.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=F.getNativeBalanceCache();e[t.caipAddress]=t,X.setItem(ee.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=X.getItem(ee.ENS_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get ens name cache")}return t},getEnsFromCacheForAddress(t){try{const s=F.getEnsCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.ens))return s.ens;F.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=F.getEnsCache();e[t.address]=t,X.setItem(ee.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=F.getEnsCache();X.setItem(ee.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=X.getItem(ee.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const s=F.getIdentityCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.identity))return s.identity;F.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=F.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},X.setItem(ee.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=F.getIdentityCache();X.setItem(ee.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},clearAddressCache(){try{X.removeItem(ee.PORTFOLIO_CACHE),X.removeItem(ee.NATIVE_BALANCE_CACHE),X.removeItem(ee.ENS_CACHE),X.removeItem(ee.IDENTITY_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{X.setItem(ee.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=X.getItem(ee.PREFERRED_ACCOUNT_TYPES);return t?JSON.parse(t):{}}catch{console.info("Unable to get preferred account types")}return{}},setConnections(t,e){try{const s={...F.getConnections(),[e]:t};X.setItem(ee.CONNECTIONS,JSON.stringify(s))}catch(s){console.error("Unable to sync connections to storage",s)}},getConnections(){try{const t=X.getItem(ee.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()?F.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 z.W3M_API_URL},getBlockchainApiUrl(){return z.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return z.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 z.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),d=c+s;return a+d+l}};async function Lr(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class pi{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 Lr(n,{method:"GET",headers:e,signal:s,cache:r})).json()}async getBlob({headers:e,signal:s,...r}){const i=this.createUrl(r);return(await Lr(i,{method:"GET",headers:e,signal:s})).blob()}async post({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await Lr(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 Lr(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 Lr(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 Ld={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=Ae({features:be.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:be.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{}}),S={state:K,subscribeKey(t,e){return Xe(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=Ld.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 ni(K)}},Md=Object.freeze({enabled:!0,events:[]}),Bd=new pi({baseUrl:Z.getAnalyticsUrl(),clientId:null}),qd=5,jd=60*1e3,cs=Ae({...Md}),Fd={state:cs,subscribeKey(t,e){return Xe(cs,t,e)},async sendError(t,e){if(!cs.enabled)return;const s=Date.now();if(cs.events.filter(n=>{const o=new Date(n.properties.timestamp||"").getTime();return s-o<jd}).length>=qd)return;const i={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};cs.events.push(i);try{if(typeof window>"u")return;const{projectId:n,sdkType:o,sdkVersion:a}=S.state;await Bd.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(){cs.enabled=!0},disable(){cs.enabled=!1},clearEvents(){cs.events=[]}};class vr extends Error{constructor(e,s,r){super(e),this.name="AppKitError",this.category=s,this.originalError=r,Object.setPrototypeOf(this,vr.prototype);let i=!1;if(r instanceof Error&&typeof r.stack=="string"&&r.stack){const n=r.stack,o=n.indexOf(`
3
3
  `);if(o>-1){const a=n.substring(o+1);this.stack=`${this.name}: ${this.message}
4
4
  ${a}`,i=!0}}i||(Error.captureStackTrace?Error.captureStackTrace(this,vr):this.stack||(this.stack=`${this.name}: ${this.message}`))}}function Fo(t,e){const s=t instanceof vr?t:new vr(t instanceof Error?t.message:String(t),e,t);throw Fd.sendError(s,s.category),s}function bt(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 Fo(a,e)}}:n=(...o)=>{try{return i(...o)}catch(a){return Fo(a,e)}},s[r]=n}else s[r]=i}),s}const Wt={PHANTOM:{id:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",url:"https://phantom.app"},SOLFLARE:{id:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",url:"https://solflare.com"},COINBASE:{id:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",url:"https://go.cb-w.com"}},Wd={handleMobileDeeplinkRedirect(t,e){const s=window.location.href,r=encodeURIComponent(s);if(t===Wt.PHANTOM.id&&!("phantom"in window)){const i=s.startsWith("https")?"https":"http",n=s.split("/")[2],o=encodeURIComponent(`${i}://${n}`);window.location.href=`${Wt.PHANTOM.url}/ul/browse/${r}?ref=${o}`}t===Wt.SOLFLARE.id&&!("solflare"in window)&&(window.location.href=`${Wt.SOLFLARE.url}/ul/v1/browse/${r}?ref=${r}`),e===z.CHAIN.SOLANA&&t===Wt.COINBASE.id&&!("coinbaseSolana"in window)&&(window.location.href=`${Wt.COINBASE.url}/dapp?cb_url=${r}`)}},dt=Ae({walletImages:{},networkImages:{},chainImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),zd={state:dt,subscribeNetworkImages(t){return Ze(dt.networkImages,()=>t(dt.networkImages))},subscribeKey(t,e){return Xe(dt,t,e)},subscribe(t){return Ze(dt,()=>t(dt))},setWalletImage(t,e){dt.walletImages[t]=e},setNetworkImage(t,e){dt.networkImages[t]=e},setChainImage(t,e){dt.chainImages[t]=e},setConnectorImage(t,e){dt.connectorImages={...dt.connectorImages,[t]:e}},setTokenImage(t,e){dt.tokenImages[t]=e},setCurrencyImage(t,e){dt.currencyImages[t]=e}},Rt=bt(zd),Hd={eip155:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",solana:"a1b58899-f671-4276-6a5e-56ca5bd59700",polkadot:"",bip122:"0b4838db-0161-4ffe-022d-532bf03dba00",cosmos:""},an=Ae({networkImagePromises:{}}),Bc={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||(an.networkImagePromises[t]||(an.networkImagePromises[t]=V._fetchNetworkImage(t)),await an.networkImagePromises[t],this.getNetworkImageById(t))},getWalletImageById(t){if(t)return Rt.state.walletImages[t]},getWalletImage(t){if(t?.image_url)return t?.image_url;if(t?.image_id)return Rt.state.walletImages[t.image_id]},getNetworkImage(t){if(t?.assets?.imageUrl)return t?.assets?.imageUrl;if(t?.assets?.imageId)return Rt.state.networkImages[t.assets.imageId]},getNetworkImageById(t){if(t)return Rt.state.networkImages[t]},getConnectorImage(t){if(t?.imageUrl)return t.imageUrl;if(t?.imageId)return Rt.state.connectorImages[t.imageId]},getChainImage(t){return Rt.state.networkImages[Hd[t]]}},ls=Ae({message:"",variant:"info",open:!1}),Vd={state:ls,subscribeKey(t,e){return Xe(ls,t,e)},open(t,e){const{debug:s}=S.state,{shortMessage:r,longMessage:i}=t;s&&(ls.message=r,ls.variant=e,ls.open=!0),i&&console.error(typeof i=="function"?i():i)},close(){ls.open=!1,ls.message="",ls.variant="info"}},Os=bt(Vd),Kd=Z.getAnalyticsUrl(),Gd=new pi({baseUrl:Kd,clientId:null}),Jd=["MODAL_CREATED"],Jt=Ae({timestamp:Date.now(),reportedErrors:{},data:{type:"track",event:"MODAL_CREATED"}}),Se={state:Jt,subscribe(t){return Ze(Jt,()=>t(Jt))},getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=S.state;return{projectId:t,st:e,sv:s||"html-wagmi-4.2.2"}},async _sendAnalyticsEvent(t){try{const e=W.state.address;if(Jd.includes(t.data.event)||typeof window>"u")return;await Gd.post({path:"/e",params:Se.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===z.HTTP_STATUS_CODES.FORBIDDEN&&!Jt.reportedErrors.FORBIDDEN&&(Os.open({shortMessage:"Invalid App Configuration",longMessage:`Origin ${zr()?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,S.state.features?.analytics&&Se._sendAnalyticsEvent(Jt)}},Yd=Z.getApiUrl(),st=new pi({baseUrl:Yd,clientId:null}),Zd=40,Wo=4,Xd=20,te=Ae({promises:{},page:1,count:0,featured:[],allFeatured:[],recommended:[],allRecommended:[],wallets:[],filteredWallets:[],search:[],isAnalyticsEnabled:!1,excludedWallets:[],isFetchingRecommendedWallets:!1}),V={state:te,subscribeKey(t,e){return Xe(te,t,e)},_getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=S.state;return{projectId:t,st:e||"appkit",sv:s||"html-wagmi-4.2.2"}},_filterOutExtensions(t){return S.state.isUniversalProvider?t.filter(e=>!!(e.mobile_link||e.desktop_link||e.webapp_link)):t},async _fetchWalletImage(t){const e=`${st.baseUrl}/getWalletImage/${t}`,s=await st.getBlob({path:e,params:V._getSdkProperties()});Rt.setWalletImage(t,URL.createObjectURL(s))},async _fetchNetworkImage(t){const e=`${st.baseUrl}/public/getAssetImage/${t}`,s=await st.getBlob({path:e,params:V._getSdkProperties()});Rt.setNetworkImage(t,URL.createObjectURL(s))},async _fetchConnectorImage(t){const e=`${st.baseUrl}/public/getAssetImage/${t}`,s=await st.getBlob({path:e,params:V._getSdkProperties()});Rt.setConnectorImage(t,URL.createObjectURL(s))},async _fetchCurrencyImage(t){const e=`${st.baseUrl}/public/getCurrencyImage/${t}`,s=await st.getBlob({path:e,params:V._getSdkProperties()});Rt.setCurrencyImage(t,URL.createObjectURL(s))},async _fetchTokenImage(t){const e=`${st.baseUrl}/public/getTokenImage/${t}`,s=await st.getBlob({path:e,params:V._getSdkProperties()});Rt.setTokenImage(t,URL.createObjectURL(s))},_filterWalletsByPlatform(t){return Z.isMobile()?t?.filter(s=>s.mobile_link||s.id===Wt.COINBASE.id?!0:h.state.activeChain==="solana"&&(s.id===Wt.SOLFLARE.id||s.id===Wt.PHANTOM.id)):t},async fetchProjectConfig(){return(await st.get({path:"/appkit/v1/config",params:V._getSdkProperties()})).features},async fetchAllowedOrigins(){try{const{allowedOrigins:t}=await st.get({path:"/projects/v1/origins",params:V._getSdkProperties()});return t}catch{return[]}},async fetchNetworkImages(){const e=h.getAllRequestedCaipNetworks()?.map(({assets:s})=>s?.imageId).filter(Boolean).filter(s=>!Bc.getNetworkImageById(s));e&&await Promise.allSettled(e.map(s=>V._fetchNetworkImage(s)))},async fetchConnectorImages(){const{connectors:t}=q.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(Wt).map(n=>n.id));const r=await st.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}=S.state;if(t?.length){const e={...V._getSdkProperties(),page:1,entries:t?.length??Wo,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))),te.featured=r,te.allFeatured=r}},async fetchRecommendedWallets(){try{te.isFetchingRecommendedWallets=!0;const{includeWalletIds:t,excludeWalletIds:e,featuredWalletIds:s}=S.state,r=[...e??[],...s??[]].filter(Boolean),i=h.getRequestedCaipNetworkIds().join(","),n={page:1,entries:Wo,include:t,exclude:r,chains:i},{data:o,count:a}=await V.fetchWallets(n),c=F.getRecentWallets(),l=o.map(u=>u.image_id).filter(Boolean),d=c.map(u=>u.image_id).filter(Boolean);await Promise.allSettled([...l,...d].map(u=>V._fetchWalletImage(u))),te.recommended=o,te.allRecommended=o,te.count=a??0}catch{}finally{te.isFetchingRecommendedWallets=!1}},async fetchWalletsByPage({page:t}){const{includeWalletIds:e,excludeWalletIds:s,featuredWalletIds:r}=S.state,i=h.getRequestedCaipNetworkIds().join(","),n=[...te.recommended.map(({id:d})=>d),...s??[],...r??[]].filter(Boolean),o={page:t,entries:Zd,include:e,exclude:n,chains:i},{data:a,count:c}=await V.fetchWallets(o),l=a.slice(0,Xd).map(d=>d.image_id).filter(Boolean);await Promise.allSettled(l.map(d=>V._fetchWalletImage(d))),te.wallets=Z.uniqueBy([...te.wallets,...V._filterOutExtensions(a)],"id").filter(d=>d.chains?.some(u=>i.includes(u))),te.count=c>te.count?c:te.count,te.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=>{te.excludedWallets.push({rdns:r.rdns,name:r.name})})},async searchWallet({search:t,badge:e}){const{includeWalletIds:s,excludeWalletIds:r}=S.state,i=h.getRequestedCaipNetworkIds().join(",");te.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);Se.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)]),te.search=V._filterOutExtensions(o)},initPromise(t,e){const s=te.promises[t];return s||(te.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(){S.state.features?.analytics&&V.fetchAnalyticsConfig()},async fetchAnalyticsConfig(){try{const{isAnalyticsEnabled:t}=await st.get({path:"/getAnalyticsConfig",params:V._getSdkProperties()});S.setFeatures({analytics:t})}catch{S.setFeatures({analytics:!1})}},filterByNamespaces(t){if(!t?.length){te.featured=te.allFeatured,te.recommended=te.allRecommended;return}const e=h.getRequestedCaipNetworkIds().join(",");te.featured=te.allFeatured.filter(s=>s.chains?.some(r=>e.includes(r))),te.recommended=te.allRecommended.filter(s=>s.chains?.some(r=>e.includes(r))),te.filteredWallets=te.wallets.filter(s=>s.chains?.some(r=>e.includes(r)))},clearFilterByNamespaces(){te.filteredWallets=[]},setFilterByNamespace(t){if(!t){te.featured=te.allFeatured,te.recommended=te.allRecommended;return}const e=h.getRequestedCaipNetworkIds().join(",");te.featured=te.allFeatured.filter(s=>s.chains?.some(r=>e.includes(r))),te.recommended=te.allRecommended.filter(s=>s.chains?.some(r=>e.includes(r))),te.filteredWallets=te.wallets.filter(s=>s.chains?.some(r=>e.includes(r)))}},fe=Ae({view:"Connect",history:["Connect"],transactionStack:[]}),Qd={state:fe,subscribeKey(t,e){return Xe(fe,t,e)},pushTransactionStack(t){fe.transactionStack.push(t)},popTransactionStack(t){const e=fe.transactionStack.pop();if(!e)return;const{onSuccess:s,onError:r,onCancel:i}=e;switch(t){case"success":s?.();break;case"error":r?.(),re.goBack();break;case"cancel":i?.(),re.goBack();break}},push(t,e){t!==fe.view&&(fe.view=t,fe.history.push(t),fe.data=e)},reset(t,e){fe.view=t,fe.history=[t],fe.data=e},replace(t,e){fe.history.at(-1)===t||(fe.view=t,fe.history[fe.history.length-1]=t,fe.data=e)},goBack(){const t=h.state.activeCaipAddress,e=re.state.view==="ConnectingFarcaster",s=!t&&e;if(fe.history.length>1){fe.history.pop();const[r]=fe.history.slice(-1);r&&(t&&r==="Connect"?fe.view="Account":fe.view=r)}else je.close();fe.data?.wallet&&(fe.data.wallet=void 0),setTimeout(()=>{if(s){W.setFarcasterUrl(void 0,h.state.activeChain);const r=q.getAuthConnector();r?.provider?.reload();const i=ni(S.state);r?.provider?.syncDappData?.({metadata:i.metadata,sdkVersion:i.sdkVersion,projectId:i.projectId,sdkType:i.sdkType})}},100)},goBackToIndex(t){if(fe.history.length>1){fe.history=fe.history.slice(0,t+1);const[e]=fe.history.slice(-1);e&&(fe.view=e)}},goBackOrCloseModal(){re.state.history.length>1?re.goBack():je.close()}},re=bt(Qd),Yt=Ae({themeMode:"dark",themeVariables:{},w3mThemeVariables:void 0}),Mn={state:Yt,subscribe(t){return Ze(Yt,()=>t(Yt))},setThemeMode(t){Yt.themeMode=t;try{const e=q.getAuthConnector();if(e){const s=Mn.getSnapshot().themeVariables;e.provider.syncTheme({themeMode:t,themeVariables:s,w3mThemeVariables:ms(s,t)})}}catch{console.info("Unable to sync theme to auth connector")}},setThemeVariables(t){Yt.themeVariables={...Yt.themeVariables,...t};try{const e=q.getAuthConnector();if(e){const s=Mn.getSnapshot().themeVariables;e.provider.syncTheme({themeVariables:s,w3mThemeVariables:ms(Yt.themeVariables,Yt.themeMode)})}}catch{console.info("Unable to sync theme to auth connector")}},getSnapshot(){return ni(Yt)}},pt=bt(Mn),qc={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0,cosmos:void 0},ae=Ae({allConnectors:[],connectors:[],activeConnector:void 0,filterByNamespace:void 0,activeConnectorIds:{...qc},filterByNamespaceMap:{eip155:!0,solana:!0,polkadot:!0,bip122:!0,cosmos:!0}}),eu={state:ae,subscribe(t){return Ze(ae,()=>{t(ae)})},subscribeKey(t,e){return Xe(ae,t,e)},initialize(t){t.forEach(e=>{const s=F.getConnectedConnectorId(e);s&&q.setConnectorId(s,e)})},setActiveConnector(t){t&&(ae.activeConnector=Ms(t))},setConnectors(t){t.filter(i=>!ae.allConnectors.some(n=>n.id===i.id&&q.getConnectorName(n.name)===q.getConnectorName(i.name)&&n.chain===i.chain)).forEach(i=>{i.type!=="MULTI_CHAIN"&&ae.allConnectors.push(Ms(i))});const s=q.getEnabledNamespaces(),r=q.getEnabledConnectors(s);ae.connectors=q.mergeMultiChainConnectors(r)},filterByNamespaces(t){Object.keys(ae.filterByNamespaceMap).forEach(e=>{ae.filterByNamespaceMap[e]=!1}),t.forEach(e=>{ae.filterByNamespaceMap[e]=!0}),q.updateConnectorsForEnabledNamespaces()},filterByNamespace(t,e){ae.filterByNamespaceMap[t]=e,q.updateConnectorsForEnabledNamespaces()},updateConnectorsForEnabledNamespaces(){const t=q.getEnabledNamespaces(),e=q.getEnabledConnectors(t),s=q.areAllNamespacesEnabled();ae.connectors=q.mergeMultiChainConnectors(e),s?V.clearFilterByNamespaces():V.filterByNamespaces(t)},getEnabledNamespaces(){return Object.entries(ae.filterByNamespaceMap).filter(([t,e])=>e).map(([t])=>t)},getEnabledConnectors(t){return ae.allConnectors.filter(e=>t.includes(e.chain))},areAllNamespacesEnabled(){return Object.values(ae.filterByNamespaceMap).every(t=>t)},mergeMultiChainConnectors(t){const e=q.generateConnectorMapByName(t),s=[];return e.forEach(r=>{const i=r[0],n=i?.id===z.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=q.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===z.CONNECTOR_ID.AUTH){const e=t,s=ni(S.state),r=pt.getSnapshot().themeMode,i=pt.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:ms(i,r)}),q.setConnectors([t])}else q.setConnectors([t])},getAuthConnector(t){const e=t||h.state.activeChain,s=ae.connectors.find(r=>r.id===z.CONNECTOR_ID.AUTH);if(s)return s?.connectors?.length?s.connectors.find(i=>i.chain===e):s},getAnnouncedConnectorRdns(){return ae.connectors.filter(t=>t.type==="ANNOUNCED").map(t=>t.info?.rdns)},getConnectorById(t){return ae.allConnectors.find(e=>e.id===t)},getConnector(t,e){return ae.allConnectors.filter(r=>r.chain===h.state.activeChain).find(r=>r.explorerId===t||r.info?.rdns===e)},syncIfAuthConnector(t){if(t.id!=="ID_AUTH")return;const e=t,s=ni(S.state),r=pt.getSnapshot().themeMode,i=pt.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:ms(i,r)})},getConnectorsByNamespace(t){const e=ae.allConnectors.filter(s=>s.chain===t);return q.mergeMultiChainConnectors(e)},selectWalletConnector(t){const e=q.getConnector(t.id,t.rdns),s=h.state.activeChain;Wd.handleMobileDeeplinkRedirect(e?.explorerId||t.id,s),e?re.push("ConnectingExternal",{connector:e}):re.push("ConnectingWalletConnect",{wallet:t})},getConnectors(t){return t?q.getConnectorsByNamespace(t):q.mergeMultiChainConnectors(ae.allConnectors)},setFilterByNamespace(t){ae.filterByNamespace=t,ae.connectors=q.getConnectors(t),V.setFilterByNamespace(t)},setConnectorId(t,e){t&&(ae.activeConnectorIds={...ae.activeConnectorIds,[e]:t},F.setConnectedConnectorId(e,t))},removeConnectorId(t){ae.activeConnectorIds={...ae.activeConnectorIds,[t]:void 0},F.deleteConnectedConnectorId(t)},getConnectorId(t){if(t)return ae.activeConnectorIds[t]},isConnected(t){return t?!!ae.activeConnectorIds[t]:Object.values(ae.activeConnectorIds).some(e=>!!e)},resetConnectorIds(){ae.activeConnectorIds={...qc}}},q=bt(eu),Zr={ACCOUNT_TYPES:{SMART_ACCOUNT:"smartAccount"}},ks=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),$e=Ae({...ks}),tu={state:$e,subscribeKey(t,e){return Xe($e,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(){$e.message=ks.message,$e.variant=ks.variant,$e.svg=ks.svg,$e.open=ks.open,$e.autoClose=ks.autoClose},_showMessage({message:t,svg:e,variant:s="success",autoClose:r=ks.autoClose}){$e.open?($e.open=!1,setTimeout(()=>{$e.message=t,$e.variant=s,$e.svg=e,$e.open=!0,$e.autoClose=r},150)):($e.message=t,$e.variant=s,$e.svg=e,$e.open=!0,$e.autoClose=r)}},$t=tu,Ce=Ae({transactions:[],coinbaseTransactions:{},transactionsByYear:{},lastNetworkInView:void 0,loading:!1,empty:!1,next:void 0}),su={state:Ce,subscribe(t){return Ze(Ce,()=>t(Ce))},setLastNetworkInView(t){Ce.lastNetworkInView=t},async fetchTransactions(t,e){if(!t)throw new Error("Transactions can't be fetched without an accountAddress");Ce.loading=!0;try{const s=await J.fetchTransactions({account:t,cursor:Ce.next,onramp:e,cache:e==="coinbase"?"no-cache":void 0,chainId:h.state.activeCaipNetwork?.caipNetworkId}),r=Vr.filterSpamTransactions(s.data),i=Vr.filterByConnectedChain(r),n=[...Ce.transactions,...i];Ce.loading=!1,e==="coinbase"?Ce.coinbaseTransactions=Vr.groupTransactionsByYearAndMonth(Ce.coinbaseTransactions,s.data):(Ce.transactions=n,Ce.transactionsByYear=Vr.groupTransactionsByYearAndMonth(Ce.transactionsByYear,i)),Ce.empty=n.length===0,Ce.next=s.next?s.next:void 0}catch{const r=h.state.activeChain;Se.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:t,projectId:S.state.projectId,cursor:Ce.next,isSmartAccount:W.state.preferredAccountTypes?.[r]===Zr.ACCOUNT_TYPES.SMART_ACCOUNT}}),$t.showError("Failed to fetch transactions"),Ce.loading=!1,Ce.empty=!0,Ce.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,d)=>new Date(d.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=h.state.activeCaipNetwork?.caipNetworkId;return t.filter(r=>r.metadata.chain===e)},clearCursor(){Ce.next=void 0},resetTransactions(){Ce.transactions=[],Ce.transactionsByYear={},Ce.lastNetworkInView=void 0,Ce.loading=!1,Ce.empty=!1,Ce.next=void 0}},Vr=bt(su,"API_ERROR"),Ie=Ae({connections:new Map,wcError:!1,buffering:!1,status:"disconnected"});let _s;const ru={state:Ie,subscribeKey(t,e){return Xe(Ie,t,e)},_getClient(){return Ie._client},setClient(t){Ie._client=Ms(t)},async connectWalletConnect(){if(Z.isTelegram()||Z.isSafari()&&Z.isIos()){if(_s){await _s,_s=void 0;return}if(!Z.isPairingExpired(Ie?.wcPairingExpiry)){const t=Ie.wcUri;Ie.wcUri=t;return}_s=Y._getClient()?.connectWalletConnect?.().catch(()=>{}),Y.state.status="connecting",await _s,_s=void 0,Ie.wcPairingExpiry=void 0,Y.state.status="connected"}else await Y._getClient()?.connectWalletConnect?.()},async connectExternal(t,e,s=!0){await Y._getClient()?.connectExternal?.(t),s&&h.setActiveNamespace(e)},async reconnectExternal(t){await Y._getClient()?.reconnectExternal?.(t);const e=t.chain||h.state.activeChain;e&&q.setConnectorId(t.id,e)},async setPreferredAccountType(t,e){je.setLoading(!0,h.state.activeChain);const s=q.getAuthConnector();s&&(W.setPreferredAccountType(t,e),await s.provider.setPreferredAccount(t),F.setPreferredAccountTypes(W.state.preferredAccountTypes??{[e]:t}),await Y.reconnectExternal(s),je.setLoading(!1,h.state.activeChain),Se.sendEvent({type:"track",event:"SET_PREFERRED_ACCOUNT_TYPE",properties:{accountType:t,network:h.state.activeCaipNetwork?.caipNetworkId||""}}))},async signMessage(t){return Y._getClient()?.signMessage(t)},parseUnits(t,e){return Y._getClient()?.parseUnits(t,e)},formatUnits(t,e){return Y._getClient()?.formatUnits(t,e)},async sendTransaction(t){return Y._getClient()?.sendTransaction(t)},async getCapabilities(t){return Y._getClient()?.getCapabilities(t)},async grantPermissions(t){return Y._getClient()?.grantPermissions(t)},async walletGetAssets(t){return Y._getClient()?.walletGetAssets(t)??{}},async estimateGas(t){return Y._getClient()?.estimateGas(t)},async writeContract(t){return Y._getClient()?.writeContract(t)},async getEnsAddress(t){return Y._getClient()?.getEnsAddress(t)},async getEnsAvatar(t){return Y._getClient()?.getEnsAvatar(t)},checkInstalled(t){return Y._getClient()?.checkInstalled?.(t)||!1},resetWcConnection(){Ie.wcUri=void 0,Ie.wcPairingExpiry=void 0,Ie.wcLinking=void 0,Ie.recentWallet=void 0,Ie.status="disconnected",Vr.resetTransactions(),F.deleteWalletConnectDeepLink()},resetUri(){Ie.wcUri=void 0,Ie.wcPairingExpiry=void 0,_s=void 0},finalizeWcConnection(){const{wcLinking:t,recentWallet:e}=Y.state;t&&F.setWalletConnectDeepLink(t),e&&F.setAppKitRecent(e),Se.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:t?"mobile":"qrcode",name:re.state.data?.wallet?.name||"Unknown"}})},setWcBasic(t){Ie.wcBasic=t},setUri(t){Ie.wcUri=t,Ie.wcPairingExpiry=Z.getPairingExpiry()},setWcLinking(t){Ie.wcLinking=t},setWcError(t){Ie.wcError=t,Ie.buffering=!1},setRecentWallet(t){Ie.recentWallet=t},setBuffering(t){Ie.buffering=t},setStatus(t){Ie.status=t},async disconnect(t){try{await Y._getClient()?.disconnect(t)}catch(e){throw new vr("Failed to disconnect","INTERNAL_SDK_ERROR",e)}},setConnections(t,e){Ie.connections.set(e,t)},switchAccount({connection:t,address:e,namespace:s}){if(q.state.activeConnectorIds[s]===t.connectorId){const n=h.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=q.getConnector(t.connectorId);n?Y.connectExternal(n,s):console.warn(`No connector found for namespace "${s}"`)}}},Y=bt(ru),Ks=Ae({loading:!1,open:!1,selectedNetworkId:void 0,activeChain:void 0,initialized:!1}),ys={state:Ks,subscribe(t){return Ze(Ks,()=>t(Ks))},subscribeOpen(t){return Xe(Ks,"open",t)},set(t){Object.assign(Ks,{...Ks,...t})}},cn={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 Nd(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"}},zo={async getMyTokensWithBalance(t){const e=W.state.address,s=h.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 J.getBalance(e,s.caipNetworkId,t);return this.filterLowQualityTokens(r.balances)},async getEIP155Balances(t,e){try{const s=cn.getChainIdHexFromCAIP2ChainId(e.caipNetworkId);if(!(await Y.getCapabilities(t))?.[s]?.assetDiscovery?.supported)return null;const i=await Y.walletGetAssets({account:t,chainFilter:[s]});return cn.isWalletGetAssetsResponse(i)?(i[s]||[]).map(o=>cn.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:h.getActiveNetworkTokenAddress(),decimals:parseInt(e.quantity.decimals,10),logoUri:e.iconUrl,eip2612:!1}))||[]}},ge=Ae({tokenBalances:[],loading:!1}),iu={state:ge,subscribe(t){return Ze(ge,()=>t(ge))},subscribeKey(t,e){return Xe(ge,t,e)},setToken(t){t&&(ge.token=Ms(t))},setTokenAmount(t){ge.sendTokenAmount=t},setReceiverAddress(t){ge.receiverAddress=t},setReceiverProfileImageUrl(t){ge.receiverProfileImageUrl=t},setReceiverProfileName(t){ge.receiverProfileName=t},setNetworkBalanceInUsd(t){ge.networkBalanceInUSD=t},setLoading(t){ge.loading=t},async sendToken(){try{switch(ue.setLoading(!0),h.state.activeCaipNetwork?.chainNamespace){case"eip155":await ue.sendEvmToken();return;case"solana":await ue.sendSolanaToken();return;default:throw new Error("Unsupported chain")}}finally{ue.setLoading(!1)}},async sendEvmToken(){const t=h.state.activeChain,e=W.state.preferredAccountTypes?.[t];if(!ue.state.sendTokenAmount||!ue.state.receiverAddress)throw new Error("An amount and receiver address are required");if(!ue.state.token)throw new Error("A token is required");ue.state.token?.address?(Se.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===Zr.ACCOUNT_TYPES.SMART_ACCOUNT,token:ue.state.token.address,amount:ue.state.sendTokenAmount,network:h.state.activeCaipNetwork?.caipNetworkId||""}}),await ue.sendERC20Token({receiverAddress:ue.state.receiverAddress,tokenAddress:ue.state.token.address,sendTokenAmount:ue.state.sendTokenAmount,decimals:ue.state.token.quantity.decimals})):(Se.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===Zr.ACCOUNT_TYPES.SMART_ACCOUNT,token:ue.state.token.symbol||"",amount:ue.state.sendTokenAmount,network:h.state.activeCaipNetwork?.caipNetworkId||""}}),await ue.sendNativeToken({receiverAddress:ue.state.receiverAddress,sendTokenAmount:ue.state.sendTokenAmount,decimals:ue.state.token.quantity.decimals}))},async fetchTokenBalance(t){ge.loading=!0;const e=h.state.activeCaipNetwork?.caipNetworkId,s=h.state.activeCaipNetwork?.chainNamespace,r=h.state.activeCaipAddress,i=r?Z.getPlainAddress(r):void 0;if(ge.lastRetry&&!Z.isAllowedRetry(ge.lastRetry,30*be.ONE_SEC_MS))return ge.loading=!1,[];try{if(i&&e&&s){const n=await zo.getMyTokensWithBalance();return ge.tokenBalances=n,ge.lastRetry=void 0,n}}catch(n){ge.lastRetry=Date.now(),t?.(n),$t.showError("Token Balance Unavailable")}finally{ge.loading=!1}return[]},fetchNetworkBalance(){if(ge.tokenBalances.length===0)return;const t=zo.mapBalancesToSwapTokens(ge.tokenBalances);if(!t)return;const e=t.find(s=>s.address===h.getActiveNetworkTokenAddress());e&&(ge.networkBalanceInUSD=e?Ad.multiply(e.quantity.numeric,e.price).toString():"0")},async sendNativeToken(t){re.pushTransactionStack({});const e=t.receiverAddress,s=W.state.address,r=Y.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals));await Y.sendTransaction({chainNamespace:"eip155",to:e,address:s,data:"0x",value:r??BigInt(0)}),Se.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:W.state.preferredAccountTypes?.eip155===Zr.ACCOUNT_TYPES.SMART_ACCOUNT,token:ue.state.token?.symbol||"",amount:t.sendTokenAmount,network:h.state.activeCaipNetwork?.caipNetworkId||""}}),Y._getClient()?.updateBalance("eip155"),ue.resetSend()},async sendERC20Token(t){re.pushTransactionStack({onSuccess(){re.replace("Account")}});const e=Y.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals));if(W.state.address&&t.sendTokenAmount&&t.receiverAddress&&t.tokenAddress){const s=Z.getPlainAddress(t.tokenAddress);await Y.writeContract({fromAddress:W.state.address,tokenAddress:s,args:[t.receiverAddress,e??BigInt(0)],method:"transfer",abi:kd.getERC20Abi(s),chainNamespace:"eip155"}),ue.resetSend()}},async sendSolanaToken(){if(!ue.state.sendTokenAmount||!ue.state.receiverAddress)throw new Error("An amount and receiver address are required");re.pushTransactionStack({onSuccess(){re.replace("Account")}}),await Y.sendTransaction({chainNamespace:"solana",to:ue.state.receiverAddress,value:ue.state.sendTokenAmount}),Y._getClient()?.updateBalance("solana"),ue.resetSend()},resetSend(){ge.token=void 0,ge.sendTokenAmount=void 0,ge.receiverAddress=void 0,ge.receiverProfileImageUrl=void 0,ge.receiverProfileName=void 0,ge.loading=!1,ge.tokenBalances=[]}},ue=bt(iu),ln={currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[],user:void 0},Ni={caipNetwork:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]},M=Ae({chains:Ud(),activeCaipAddress:void 0,activeChain:void 0,activeCaipNetwork:void 0,noAdapters:!1,universalAdapter:{networkControllerClient:void 0,connectionControllerClient:void 0},isSwitchingNamespace:!1}),nu={state:M,subscribe(t){return Ze(M,()=>{t(M)})},subscribeKey(t,e){return Xe(M,t,e)},subscribeChainProp(t,e,s){let r;return Ze(M.chains,()=>{const i=s||M.activeChain;if(i){const n=M.chains.get(i)?.[t];r!==n&&(r=n,e(n))}})},initialize(t,e,s){const{chainId:r,namespace:i}=F.getActiveNetworkProps(),n=e?.find(d=>d.id.toString()===r?.toString()),a=t.find(d=>d?.namespace===i)||t?.[0],c=t.map(d=>d.namespace).filter(d=>d!==void 0),l=S.state.enableEmbedded?new Set([...c]):new Set([...e?.map(d=>d.chainNamespace)??[]]);(t?.length===0||!a)&&(M.noAdapters=!0),M.noAdapters||(M.activeChain=a?.namespace,M.activeCaipNetwork=n,h.setChainNetworkData(a?.namespace,{caipNetwork:n}),M.activeChain&&ys.set({activeChain:a?.namespace})),l.forEach(d=>{const u=e?.filter(p=>p.chainNamespace===d);h.state.chains.set(d,{namespace:d,networkState:Ae({...Ni,caipNetwork:u?.[0]}),accountState:Ae(ln),caipNetworks:u??[],...s}),h.setRequestedCaipNetworks(u??[],d)})},removeAdapter(t){if(M.activeChain===t){const e=Array.from(M.chains.entries()).find(([s])=>s!==t);if(e){const s=e[1]?.caipNetworks?.[0];s&&h.setActiveCaipNetwork(s)}}M.chains.delete(t)},addAdapter(t,{networkControllerClient:e,connectionControllerClient:s},r){M.chains.set(t.namespace,{namespace:t.namespace,networkState:{...Ni,caipNetwork:r[0]},accountState:ln,caipNetworks:r,connectionControllerClient:s,networkControllerClient:e}),h.setRequestedCaipNetworks(r?.filter(i=>i.chainNamespace===t.namespace)??[],t.namespace)},addNetwork(t){const e=M.chains.get(t.chainNamespace);if(e){const s=[...e.caipNetworks||[]];e.caipNetworks?.find(r=>r.id===t.id)||s.push(t),M.chains.set(t.chainNamespace,{...e,caipNetworks:s}),h.setRequestedCaipNetworks(s,t.chainNamespace),q.filterByNamespace(t.chainNamespace,!0)}},removeNetwork(t,e){const s=M.chains.get(t);if(s){const r=M.activeCaipNetwork?.id===e,i=[...s.caipNetworks?.filter(n=>n.id!==e)||[]];r&&s?.caipNetworks?.[0]&&h.setActiveCaipNetwork(s.caipNetworks[0]),M.chains.set(t,{...s,caipNetworks:i}),h.setRequestedCaipNetworks(i||[],t),i.length===0&&q.filterByNamespace(t,!1)}},setAdapterNetworkState(t,e){const s=M.chains.get(t);s&&(s.networkState={...s.networkState||Ni,...e},M.chains.set(t,s))},setChainAccountData(t,e,s=!0){if(!t)throw new Error("Chain is required to update chain account data");const r=M.chains.get(t);if(r){const i={...r.accountState||ln,...e};M.chains.set(t,{...r,accountState:i}),(M.chains.size===1||M.activeChain===t)&&(e.caipAddress&&(M.activeCaipAddress=e.caipAddress),W.replaceState(i))}},setChainNetworkData(t,e){if(!t)return;const s=M.chains.get(t);if(s){const r={...s.networkState||Ni,...e};M.chains.set(t,{...s,networkState:r})}},setAccountProp(t,e,s,r=!0){h.setChainAccountData(s,{[t]:e},r),t==="status"&&e==="disconnected"&&s&&q.removeConnectorId(s)},setActiveNamespace(t){M.activeChain=t;const e=t?M.chains.get(t):void 0,s=e?.networkState?.caipNetwork;s?.id&&t&&(M.activeCaipAddress=e?.accountState?.caipAddress,M.activeCaipNetwork=s,h.setChainNetworkData(t,{caipNetwork:s}),F.setActiveCaipNetworkId(s?.caipNetworkId),ys.set({activeChain:t,selectedNetworkId:s?.caipNetworkId}))},setActiveCaipNetwork(t){if(!t)return;M.activeChain!==t.chainNamespace&&h.setIsSwitchingNamespace(!0);const e=M.chains.get(t.chainNamespace);M.activeChain=t.chainNamespace,M.activeCaipNetwork=t,h.setChainNetworkData(t.chainNamespace,{caipNetwork:t}),e?.accountState?.address?M.activeCaipAddress=`${t.chainNamespace}:${t.id}:${e?.accountState?.address}`:M.activeCaipAddress=void 0,h.setAccountProp("caipAddress",M.activeCaipAddress,t.chainNamespace),e&&W.replaceState(e.accountState),ue.resetSend(),ys.set({activeChain:M.activeChain,selectedNetworkId:M.activeCaipNetwork?.caipNetworkId}),F.setActiveCaipNetworkId(t.caipNetworkId),!h.checkIfSupportedNetwork(t.chainNamespace)&&S.state.enableNetworkSwitch&&!S.state.allowUnsupportedChain&&!Y.state.wcBasic&&h.showUnsupportedChainUI()},addCaipNetwork(t){if(!t)return;const e=M.chains.get(t.chainNamespace);e&&e?.caipNetworks?.push(t)},async switchActiveNamespace(t){if(!t)return;const e=t!==h.state.activeChain,s=h.getNetworkData(t)?.caipNetwork,r=h.getCaipNetworkByNamespace(t,s?.id);e&&r&&await h.switchActiveNetwork(r)},async switchActiveNetwork(t){const s=!h.state.chains.get(h.state.activeChain)?.caipNetworks?.some(i=>i.id===M.activeCaipNetwork?.id),r=h.getNetworkControllerClient(t.chainNamespace);if(r){try{await r.switchCaipNetwork(t),s&&je.close()}catch{re.goBack()}Se.sendEvent({type:"track",event:"SWITCH_NETWORK",properties:{network:t.caipNetworkId}})}},getNetworkControllerClient(t){const e=t||M.activeChain,s=M.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||M.activeChain;if(!e)throw new Error("Chain is required to get connection controller client");const s=M.chains.get(e);if(!s?.connectionControllerClient)throw new Error("ConnectionController client not set");return s.connectionControllerClient},getAccountProp(t,e){let s=M.activeChain;if(e&&(s=e),!s)return;const r=M.chains.get(s)?.accountState;if(r)return r[t]},getNetworkProp(t,e){const s=M.chains.get(e)?.networkState;if(s)return s[t]},getRequestedCaipNetworks(t){const e=M.chains.get(t),{approvedCaipNetworkIds:s=[],requestedCaipNetworks:r=[]}=e?.networkState||{};return Z.sortRequestedNetworks(s,r)},getAllRequestedCaipNetworks(){const t=[];return M.chains.forEach(e=>{const s=h.getRequestedCaipNetworks(e.namespace);t.push(...s)}),t},setRequestedCaipNetworks(t,e){h.setAdapterNetworkState(e,{requestedCaipNetworks:t});const r=h.getAllRequestedCaipNetworks().map(n=>n.chainNamespace),i=Array.from(new Set(r));q.filterByNamespaces(i)},getAllApprovedCaipNetworkIds(){const t=[];return M.chains.forEach(e=>{const s=h.getApprovedCaipNetworkIds(e.namespace);t.push(...s)}),t},getActiveCaipNetwork(){return M.activeCaipNetwork},getActiveCaipAddress(){return M.activeCaipAddress},getApprovedCaipNetworkIds(t){return M.chains.get(t)?.networkState?.approvedCaipNetworkIds||[]},async setApprovedCaipNetworksData(t){const s=await h.getNetworkControllerClient()?.getApprovedCaipNetworksData();h.setAdapterNetworkState(t,{approvedCaipNetworkIds:s?.approvedCaipNetworkIds,supportsAllNetworks:s?.supportsAllNetworks})},checkIfSupportedNetwork(t,e){const s=e||M.activeCaipNetwork,r=h.getRequestedCaipNetworks(t);return r.length?r?.some(i=>i.id===s?.id):!0},checkIfSupportedChainId(t){return M.activeChain?h.getRequestedCaipNetworks(M.activeChain)?.some(s=>s.id===t):!0},setSmartAccountEnabledNetworks(t,e){h.setAdapterNetworkState(e,{smartAccountEnabledNetworks:t})},checkIfSmartAccountEnabled(){const t=Lc.caipNetworkIdToNumber(M.activeCaipNetwork?.caipNetworkId),e=M.activeChain;return!e||!t?!1:!!h.getNetworkProp("smartAccountEnabledNetworks",e)?.includes(Number(t))},getActiveNetworkTokenAddress(){const t=M.activeCaipNetwork?.chainNamespace||"eip155",e=M.activeCaipNetwork?.id||1,s=be.NATIVE_TOKEN_ADDRESS[t];return`${t}:${e}:${s}`},showUnsupportedChainUI(){je.open({view:"UnsupportedChain"})},checkIfNamesSupported(){const t=M.activeCaipNetwork;return!!(t?.chainNamespace&&be.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(t.chainNamespace))},resetNetwork(t){h.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");M.activeCaipAddress=void 0,h.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"}),q.removeConnectorId(e)},setIsSwitchingNamespace(t){M.isSwitchingNamespace=t},getFirstCaipNetworkSupportsAuthConnector(){const t=[];let e;if(M.chains.forEach(s=>{z.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?M.chains.get(s)?.caipNetworks?.[0]:void 0,e}},getAccountData(t){return t?h.state.chains.get(t)?.accountState:W.state},getNetworkData(t){const e=t||M.activeChain;if(e)return h.state.chains.get(e)?.networkState},getCaipNetworkByNamespace(t,e){if(!t)return;const s=h.state.chains.get(t),r=s?.caipNetworks?.find(i=>i.id===e);return r||s?.networkState?.caipNetwork||s?.caipNetworks?.[0]},getRequestedCaipNetworkIds(){const t=q.state.filterByNamespace;return(t?[M.chains.get(t)]:Array.from(M.chains.values())).flatMap(s=>s?.caipNetworks||[]).map(s=>s.caipNetworkId)},getCaipNetworks(t){return t?h.getRequestedCaipNetworks(t):h.getAllRequestedCaipNetworks()}},h=bt(nu),ou={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"}]}]},jc=Z.getBlockchainApiUrl(),rt=Ae({clientId:null,api:new pi({baseUrl:jc,clientId:null}),supportedChains:{http:[],ws:[]}}),J={state:rt,async get(t){const{st:e,sv:s}=J.getSdkProperties(),r=S.state.projectId,i={...t.params||{},st:e,sv:s,projectId:r};return rt.api.get({...t,params:i})},getSdkProperties(){const{sdkType:t,sdkVersion:e}=S.state;return{st:t||"unknown",sv:e||"unknown"}},async isNetworkSupported(t){if(!t)return!1;try{rt.supportedChains.http.length||await J.getSupportedNetworks()}catch{return!1}return rt.supportedChains.http.includes(t)},async getSupportedNetworks(){try{const t=await J.get({path:"v1/supported-chains"});return rt.supportedChains=t,t}catch{return rt.supportedChains}},async fetchIdentity({address:t,caipNetworkId:e}){if(!await J.isNetworkSupported(e))return{avatar:"",name:""};const r=F.getIdentityFromCacheForAddress(t);if(r)return r;const i=await J.get({path:`/v1/identity/${t}`,params:{sender:h.state.activeCaipAddress?Z.getPlainAddress(h.state.activeCaipAddress):void 0}});return F.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 J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?J.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 J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?J.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 J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?J.get({path:"/v1/convert/tokens",params:{chainId:t}}):{tokens:[]}},async fetchTokenPrice({addresses:t}){return await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?rt.api.post({path:"/v1/fungible/price",body:{currency:"usd",addresses:t,projectId:S.state.projectId},headers:{"Content-Type":"application/json"}}):{fungibles:[]}},async fetchSwapAllowance({tokenAddress:t,userAddress:e}){return await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?J.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}=J.getSdkProperties();if(!await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Gas Price");return J.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 J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return rt.api.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:t,eip155:{slippage:be.CONVERT_SLIPPAGE_TOLERANCE},projectId:S.state.projectId,from:e,to:s,userAddress:r,disableEstimate:i}})},async generateApproveCalldata({from:t,to:e,userAddress:s}){const{st:r,sv:i}=J.getSdkProperties();if(!await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return J.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}=J.getSdkProperties();if(!await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId))return $t.showError("Token Balance Unavailable"),{balances:[]};const o=`${e}:${t}`,a=F.getBalanceCacheForCaipAddress(o);if(a)return a;const c=await J.get({path:`/v1/account/${t}/balance`,params:{currency:"usd",chainId:e,forceUpdate:s,st:r,sv:i}});return F.updateBalanceCache({caipAddress:o,balance:c,timestamp:Date.now()}),c},async lookupEnsName(t){return await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/profile/account/${t}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:t}){return await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/profile/reverse/${t}`,params:{sender:W.state.address,apiVersion:"2"}}):[]},async getEnsNameSuggestions(t){return await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/profile/suggestions/${t}`,params:{zone:"reown.id"}}):{suggestions:[]}},async registerEnsName({coinType:t,address:e,message:s,signature:r}){return await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?rt.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 J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?(await rt.api.post({path:"/v1/generators/onrampurl",params:{projectId:S.state.projectId},body:{destinationWallets:t,defaultNetwork:s,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:r,presetFiatAmount:i}})).url:""},async getOnrampOptions(){if(!await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await J.get({path:"/v1/onramp/options"})}catch{return ou}},async getOnrampQuote({purchaseCurrency:t,paymentCurrency:e,amount:s,network:r}){try{return await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?await rt.api.post({path:"/v1/onramp/quote",params:{projectId:S.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 J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/sessions/${t}`}):[]},async revokeSmartSession(t,e,s){return await J.isNetworkSupported(h.state.activeCaipNetwork?.caipNetworkId)?rt.api.post({path:`/v1/sessions/${t}/revoke`,params:{projectId:S.state.projectId},body:{pci:e,signature:s}}):{success:!1}},setClientId(t){rt.clientId=t,rt.api=new pi({baseUrl:jc,clientId:t})}},vt=Ae({currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[]}),au={state:vt,replaceState(t){t&&Object.assign(vt,Ms(t))},subscribe(t){return h.subscribeChainProp("accountState",e=>{if(e)return t(e)})},subscribeKey(t,e,s){let r;return h.subscribeChainProp("accountState",i=>{if(i){const n=i[t];r!==n&&(r=n,e(n))}},s)},setStatus(t,e){h.setAccountProp("status",t,e)},getCaipAddress(t){return h.getAccountProp("caipAddress",t)},setCaipAddress(t,e){const s=t?Z.getPlainAddress(t):void 0;e===h.state.activeChain&&(h.state.activeCaipAddress=t),h.setAccountProp("caipAddress",t,e),h.setAccountProp("address",s,e)},setBalance(t,e,s){h.setAccountProp("balance",t,s),h.setAccountProp("balanceSymbol",e,s)},setProfileName(t,e){h.setAccountProp("profileName",t,e)},setProfileImage(t,e){h.setAccountProp("profileImage",t,e)},setUser(t,e){h.setAccountProp("user",t,e)},setAddressExplorerUrl(t,e){h.setAccountProp("addressExplorerUrl",t,e)},setSmartAccountDeployed(t,e){h.setAccountProp("smartAccountDeployed",t,e)},setCurrentTab(t){h.setAccountProp("currentTab",t,h.state.activeChain)},setTokenBalance(t,e){t&&h.setAccountProp("tokenBalance",t,e)},setShouldUpdateToAddress(t,e){h.setAccountProp("shouldUpdateToAddress",t,e)},setAllAccounts(t,e){h.setAccountProp("allAccounts",t,e)},addAddressLabel(t,e,s){const r=h.getAccountProp("addressLabels",s)||new Map;r.set(t,e),h.setAccountProp("addressLabels",r,s)},removeAddressLabel(t,e){const s=h.getAccountProp("addressLabels",e)||new Map;s.delete(t),h.setAccountProp("addressLabels",s,e)},setConnectedWalletInfo(t,e){h.setAccountProp("connectedWalletInfo",t,e,!1)},setPreferredAccountType(t,e){h.setAccountProp("preferredAccountTypes",{...vt.preferredAccountTypes,[e]:t},e)},setPreferredAccountTypes(t){vt.preferredAccountTypes=t},setSocialProvider(t,e){t&&h.setAccountProp("socialProvider",t,e)},setSocialWindow(t,e){h.setAccountProp("socialWindow",t?Ms(t):void 0,e)},setFarcasterUrl(t,e){h.setAccountProp("farcasterUrl",t,e)},async fetchTokenBalance(t){vt.balanceLoading=!0;const e=h.state.activeCaipNetwork?.caipNetworkId,s=h.state.activeCaipNetwork?.chainNamespace,r=h.state.activeCaipAddress,i=r?Z.getPlainAddress(r):void 0;if(vt.lastRetry&&!Z.isAllowedRetry(vt.lastRetry,30*be.ONE_SEC_MS))return vt.balanceLoading=!1,[];try{if(i&&e&&s){const o=(await J.getBalance(i,e)).balances.filter(a=>a.quantity.decimals!=="0");return W.setTokenBalance(o,s),vt.lastRetry=void 0,vt.balanceLoading=!1,o}}catch(n){vt.lastRetry=Date.now(),t?.(n),$t.showError("Token Balance Unavailable")}finally{vt.balanceLoading=!1}return[]},resetAccount(t){h.resetAccount(t)}},W=bt(au),cu={onSwitchNetwork({network:t,ignoreSwitchConfirmation:e=!1}){const s=h.state.activeCaipNetwork,r=re.state.data;if(t.id===s?.id)return;const n=W.getCaipAddress(h.state.activeChain),o=t.chainNamespace!==h.state.activeChain,a=W.getCaipAddress(t.chainNamespace),l=q.getConnectorId(h.state.activeChain)===z.CONNECTOR_ID.AUTH,d=z.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(u=>u===t.chainNamespace);e||l&&d?re.push("SwitchNetwork",{...r,network:t}):n&&o&&!a?re.push("SwitchActiveChain",{switchToChain:t.chainNamespace,navigateTo:"Connect",navigateWithReplace:!0,network:t}):re.push("SwitchNetwork",{...r,network:t})}},it=Ae({loading:!1,loadingNamespaceMap:new Map,open:!1,shake:!1,namespace:void 0}),lu={state:it,subscribe(t){return Ze(it,()=>t(it))},subscribeKey(t,e){return Xe(it,t,e)},async open(t){const e=W.state.status==="connected",s=t?.namespace,r=h.state.activeChain,i=s&&s!==r,n=h.getAccountData(t?.namespace)?.caipAddress;if(Y.state.wcBasic?V.prefetch({fetchNetworkImages:!1,fetchConnectorImages:!1}):await V.prefetch({fetchConnectorImages:!e,fetchFeaturedWallets:!e,fetchRecommendedWallets:!e}),q.setFilterByNamespace(t?.namespace),je.setLoading(!0,s),s&&i){const o=h.getNetworkData(s)?.caipNetwork||h.getRequestedCaipNetworks(s)[0];o&&cu.onSwitchNetwork({network:o,ignoreSwitchConfirmation:!0})}else{const o=h.state.noAdapters;S.state.manualWCControl||o&&!n?Z.isMobile()?re.reset("AllWallets"):re.reset("ConnectingWalletConnectBasic"):t?.view?re.reset(t.view,t.data):n?re.reset("Account"):re.reset("Connect")}it.open=!0,ys.set({open:!0}),Se.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!!n}})},close(){const t=S.state.enableEmbedded,e=!!h.state.activeCaipAddress;it.open&&Se.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:e}}),it.open=!1,re.reset("Connect"),je.clearLoading(),t?e?re.replace("Account"):re.push("Connect"):ys.set({open:!1}),Y.resetUri()},setLoading(t,e){e&&it.loadingNamespaceMap.set(e,t),it.loading=t,ys.set({loading:t})},clearLoading(){it.loadingNamespaceMap.clear(),it.loading=!1},shake(){it.shake||(it.shake=!0,setTimeout(()=>{it.shake=!1},500))}},je=bt(lu),Xr={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"}]},Bn={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},du={providers:Mc,selectedProvider:null,error:null,purchaseCurrency:Xr,paymentCurrency:Bn,purchaseCurrencies:[Xr],paymentCurrencies:[],quotesLoading:!1},oe=Ae(du),uu={state:oe,subscribe(t){return Ze(oe,()=>t(oe))},subscribeKey(t,e){return Xe(oe,t,e)},setSelectedProvider(t){if(t&&t.name==="meld"){const e=h.state.activeChain===z.CHAIN.SOLANA?"SOL":"USDC",s=W.state.address??"",r=new URL(t.url);r.searchParams.append("publicKey",Dd),r.searchParams.append("destinationCurrencyCode",e),r.searchParams.append("walletAddress",s),r.searchParams.append("externalCustomerId",S.state.projectId),oe.selectedProvider={...t,url:r.toString()}}else oe.selectedProvider=t},setOnrampProviders(t){if(Array.isArray(t)&&t.every(e=>typeof e=="string")){const e=t,s=Mc.filter(r=>e.includes(r.name));oe.providers=s}else oe.providers=[]},setPurchaseCurrency(t){oe.purchaseCurrency=t},setPaymentCurrency(t){oe.paymentCurrency=t},setPurchaseAmount(t){qn.state.purchaseAmount=t},setPaymentAmount(t){qn.state.paymentAmount=t},async getAvailableCurrencies(){const t=await J.getOnrampOptions();oe.purchaseCurrencies=t.purchaseCurrencies,oe.paymentCurrencies=t.paymentCurrencies,oe.paymentCurrency=t.paymentCurrencies[0]||Bn,oe.purchaseCurrency=t.purchaseCurrencies[0]||Xr,await V.fetchCurrencyImages(t.paymentCurrencies.map(e=>e.id)),await V.fetchTokenImages(t.purchaseCurrencies.map(e=>e.symbol))},async getQuote(){oe.quotesLoading=!0;try{const t=await J.getOnrampQuote({purchaseCurrency:oe.purchaseCurrency,paymentCurrency:oe.paymentCurrency,amount:oe.paymentAmount?.toString()||"0",network:oe.purchaseCurrency?.symbol});return oe.quotesLoading=!1,oe.purchaseAmount=Number(t?.purchaseAmount.amount),t}catch(t){return oe.error=t.message,oe.quotesLoading=!1,null}finally{oe.quotesLoading=!1}},resetState(){oe.selectedProvider=null,oe.error=null,oe.purchaseCurrency=Xr,oe.paymentCurrency=Bn,oe.purchaseCurrencies=[Xr],oe.paymentCurrencies=[],oe.paymentAmount=void 0,oe.purchaseAmount=void 0,oe.quotesLoading=!1}},qn=bt(uu),Ho=2147483648,hu={convertEVMChainIdToCoinType(t){if(t>=Ho)throw new Error("Invalid chainId");return(Ho|t)>>>0}},Ct=Ae({suggestions:[],loading:!1}),pu={state:Ct,subscribe(t){return Ze(Ct,()=>t(Ct))},subscribeKey(t,e){return Xe(Ct,t,e)},async resolveName(t){try{return await J.lookupEnsName(t)}catch(e){const s=e;throw new Error(s?.reasons?.[0]?.description||"Error resolving name")}},async isNameRegistered(t){try{return await J.lookupEnsName(t),!0}catch{return!1}},async getSuggestions(t){try{Ct.loading=!0,Ct.suggestions=[];const e=await J.getEnsNameSuggestions(t);return Ct.suggestions=e.suggestions.map(s=>({...s,name:s.name}))||[],Ct.suggestions}catch(e){const s=Qr.parseEnsApiError(e,"Error fetching name suggestions");throw new Error(s)}finally{Ct.loading=!1}},async getNamesForAddress(t){try{if(!h.state.activeCaipNetwork)return[];const s=F.getEnsFromCacheForAddress(t);if(s)return s;const r=await J.reverseLookupEnsName({address:t});return F.updateEnsCache({address:t,ens:r,timestamp:Date.now()}),r}catch(e){const s=Qr.parseEnsApiError(e,"Error fetching names for address");throw new Error(s)}},async registerName(t){const e=h.state.activeCaipNetwork;if(!e)throw new Error("Network not found");const s=W.state.address,r=q.getAuthConnector();if(!s||!r)throw new Error("Address or auth connector not found");Ct.loading=!0;try{const i=JSON.stringify({name:t,attributes:{},timestamp:Math.floor(Date.now()/1e3)});re.pushTransactionStack({onCancel(){re.replace("RegisterAccountName")}});const n=await Y.signMessage(i);Ct.loading=!1;const o=e.id;if(!o)throw new Error("Network not found");const a=hu.convertEVMChainIdToCoinType(Number(o));await J.registerEnsName({coinType:a,address:s,signature:n,message:i}),W.setProfileName(t,e.chainNamespace),re.replace("RegisterAccountNameSuccess")}catch(i){const n=Qr.parseEnsApiError(i,`Error registering name ${t}`);throw re.replace("RegisterAccountName"),new Error(n)}finally{Ct.loading=!1}},validateName(t){return/^[a-zA-Z0-9-]{4,}$/u.test(t)},parseEnsApiError(t,e){return t?.reasons?.[0]?.description||e}},Qr=bt(pu),ei={getSIWX(){return S.state.siwx},async initializeIfEnabled(){const t=S.state.siwx,e=h.getActiveCaipAddress();if(!(t&&e))return;const[s,r,i]=e.split(":");if(h.checkIfSupportedNetwork(s))try{if((await t.getSessions(`${s}:${r}`,i)).length)return;await je.open({view:"SIWXSignMessage"})}catch(n){console.error("SIWXUtil:initializeIfEnabled",n),Se.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties()}),await Y._getClient()?.disconnect().catch(console.error),re.reset("Connect"),$t.showError("A problem occurred while trying initialize authentication")}},async requestSignMessage(){const t=S.state.siwx,e=Z.getPlainAddress(h.getActiveCaipAddress()),s=h.getActiveCaipNetwork(),r=Y._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();q.getConnectorId(s.chainNamespace)===z.CONNECTOR_ID.AUTH&&re.pushTransactionStack({});const a=await r.signMessage(n);await t.addSession({data:i,message:n,signature:a}),je.close(),Se.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:this.getSIWXEventProperties()})}catch(i){const n=this.getSIWXEventProperties();(!je.state.open||re.state.view==="ApproveTransaction")&&await je.open({view:"SIWXSignMessage"}),n.isSmartAccount?$t.showError("This application might not support Smart Accounts"):$t.showError("Signature declined"),Se.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:n}),console.error("SWIXUtil:requestSignMessage",i)}},async cancelSignMessage(){try{this.getSIWX()?.getRequired?.()?await Y.disconnect():je.close(),re.reset("Connect"),Se.sendEvent({event:"CLICK_CANCEL_SIWX",type:"track",properties:this.getSIWXEventProperties()})}catch(t){console.error("SIWXUtil:cancelSignMessage",t)}},async getSessions(){const t=S.state.siwx,e=Z.getPlainAddress(h.getActiveCaipAddress()),s=h.getActiveCaipNetwork();return t&&e&&s?t.getSessions(s.caipNetworkId,e):[]},async isSIWXCloseDisabled(){const t=this.getSIWX();if(t){const e=re.state.view==="ApproveTransaction",s=re.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=ei.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:h.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($t.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),Se.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:ei.getSIWXEventProperties()})}catch(c){throw console.error("SIWX:universalProviderAuth - failed to set sessions",c),Se.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:ei.getSIWXEventProperties()}),await t.disconnect().catch(console.error),c}finally{$t.hide()}}return!0},getSIWXEventProperties(){const t=h.state.activeChain;return{network:h.state.activeCaipNetwork?.caipNetworkId||"",isSmartAccount:W.state.preferredAccountTypes?.[t]===Zr.ACCOUNT_TYPES.SMART_ACCOUNT}},async clearSessions(){const t=this.getSIWX();t&&await t.setSessions([])}};var gu=Object.defineProperty,fu=(t,e,s)=>e in t?gu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Vo=(t,e,s)=>fu(t,typeof e!="symbol"?e+"":e,s);let mu=class extends Pr{constructor(e){super(),this.opts=e,Vo(this,"protocol","wc"),Vo(this,"version",2)}};var wu=Object.defineProperty,yu=(t,e,s)=>e in t?wu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,bu=(t,e,s)=>yu(t,e+"",s);let vu=class extends Pr{constructor(e,s){super(),this.core=e,this.logger=s,bu(this,"records",new Map)}},Cu=class{constructor(e,s){this.logger=e,this.core=s}};class Eu extends Pr{constructor(e,s){super(),this.relayer=e,this.logger=s}}let Iu=class extends Pr{constructor(e){super()}},Nu=class{constructor(e,s,r,i){this.core=e,this.logger=s,this.name=r}},Au=class extends Pr{constructor(e,s){super(),this.relayer=e,this.logger=s}},_u=class extends Pr{constructor(e,s){super(),this.core=e,this.logger=s}},Su=class{constructor(e,s,r){this.core=e,this.logger=s,this.store=r}},Pu=class{constructor(e,s){this.projectId=e,this.logger=s}},ku=class{constructor(e,s,r){this.core=e,this.logger=s,this.telemetryEnabled=r}};var Tu=Object.defineProperty,Ou=(t,e,s)=>e in t?Tu(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ko=(t,e,s)=>Ou(t,typeof e!="symbol"?e+"":e,s);let xu=class{constructor(e){this.opts=e,Ko(this,"protocol","wc"),Ko(this,"version",2)}},Ru=class{constructor(e){this.client=e}};function oi(t,{strict:e=!0}={}){return!t||typeof t!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(t):t.startsWith("0x")}function Go(t){return oi(t,{strict:!1})?Math.ceil((t.length-2)/2):t.length}const Fc="2.23.2";let dn={getDocsUrl:({docsBaseUrl:t,docsPath:e="",docsSlug:s})=>e?`${t??"https://viem.sh"}${e}${s?`#${s}`:""}`:void 0,version:`viem@${Fc}`};class Bs extends Error{constructor(e,s={}){const r=s.cause instanceof Bs?s.cause.details:s.cause?.message?s.cause.message:s.details,i=s.cause instanceof Bs&&s.cause.docsPath||s.docsPath,n=dn.getDocsUrl?.({...s,docsPath:i}),o=[e||"An error occurred.","",...s.metaMessages?[...s.metaMessages,""]:[],...n?[`Docs: ${n}`]:[],...r?[`Details: ${r}`]:[],...dn.version?[`Version: ${dn.version}`]:[]].join(`
5
- `);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=Fc}walk(e){return Wc(this,e)}}function Wc(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?Wc(t.cause,e):e?null:t}class zc extends Bs{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 Tr(t,{dir:e,size:s=32}={}){return typeof t=="string"?$u(t,{dir:e,size:s}):Uu(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 zc({size:Math.ceil(r.length/2),targetSize:s,type:"hex"});return`0x${r[e==="right"?"padEnd":"padStart"](s*2,"0")}`}function Uu(t,{dir:e,size:s=32}={}){if(s===null)return t;if(t.length>s)throw new zc({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 Du extends Bs{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 Lu extends Bs{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed ${s} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function Or(t,{size:e}){if(Go(t)>e)throw new Lu({givenSize:Go(t),maxSize:e})}function jn(t,e={}){const{signed:s}=e;e.size&&Or(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 Mu(t,e={}){return Number(jn(t,e))}const Bu=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Fn(t,e={}){return typeof t=="number"||typeof t=="bigint"?Vc(t,e):typeof t=="string"?Fu(t,e):typeof t=="boolean"?qu(t,e):Hc(t,e)}function qu(t,e={}){const s=`0x${Number(t)}`;return typeof e.size=="number"?(Or(s,{size:e.size}),Tr(s,{size:e.size})):s}function Hc(t,e={}){let s="";for(let i=0;i<t.length;i++)s+=Bu[t[i]];const r=`0x${s}`;return typeof e.size=="number"?(Or(r,{size:e.size}),Tr(r,{dir:"right",size:e.size})):r}function Vc(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 Du({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?Tr(a,{size:r}):a}const ju=new TextEncoder;function Fu(t,e={}){const s=ju.encode(t);return Hc(s,e)}const Wu=new TextEncoder;function zu(t,e={}){return typeof t=="number"||typeof t=="bigint"?Vu(t,e):typeof t=="boolean"?Hu(t,e):oi(t)?Kc(t,e):Gc(t,e)}function Hu(t,e={}){const s=new Uint8Array(1);return s[0]=Number(t),typeof e.size=="number"?(Or(s,{size:e.size}),Tr(s,{size:e.size})):s}const Zt={zero:48,nine:57,A:65,F:70,a:97,f:102};function Jo(t){if(t>=Zt.zero&&t<=Zt.nine)return t-Zt.zero;if(t>=Zt.A&&t<=Zt.F)return t-(Zt.A-10);if(t>=Zt.a&&t<=Zt.f)return t-(Zt.a-10)}function Kc(t,e={}){let s=t;e.size&&(Or(s,{size:e.size}),s=Tr(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=Jo(r.charCodeAt(a++)),l=Jo(r.charCodeAt(a++));if(c===void 0||l===void 0)throw new Bs(`Invalid byte sequence ("${r[a-2]}${r[a-1]}" in "${r}").`);n[o]=c*16+l}return n}function Vu(t,e){const s=Vc(t,e);return Kc(s)}function Gc(t,e={}){const s=Wu.encode(t);return typeof e.size=="number"?(Or(s,{size:e.size}),Tr(s,{dir:"right",size:e.size})):s}function Jc(t,e){const s=e||"hex",r=Ed(oi(t,{strict:!1})?zu(t):t);return s==="bytes"?r:Fn(r)}class Ku 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 un=new Ku(8192);function Gu(t,e){if(un.has(`${t}.${e}`))return un.get(`${t}.${e}`);const s=t.substring(2).toLowerCase(),r=Jc(Gc(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 un.set(`${t}.${e}`,n),n}function Ju(t){const e=Jc(`0x${t.substring(4)}`).substring(26);return Gu(`0x${e}`)}async function Yu({hash:t,signature:e}){const s=oi(t)?t:Fn(t),{secp256k1:r}=await Un(async()=>{const{secp256k1:o}=await import("./secp256k1-Co_Jve4c.js");return{secp256k1:o}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:l,s:d,v:u,yParity:p}=e,f=Number(p??u),m=Yo(f);return new r.Signature(jn(l),jn(d)).addRecoveryBit(m)}const o=oi(e)?e:Fn(e),a=Mu(`0x${o.slice(130)}`),c=Yo(a);return r.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(s.substring(2)).toHex(!1)}`}function Yo(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 Ju(await Yu({hash:t,signature:e}))}var Xu={};const Qu=":";function yr(t){const[e,s]=t.split(Qu);return{namespace:e,reference:s}}function Yc(t,e){return t.includes(":")?[t]:e.chains||[]}var eh=Object.defineProperty,th=Object.defineProperties,sh=Object.getOwnPropertyDescriptors,Zo=Object.getOwnPropertySymbols,rh=Object.prototype.hasOwnProperty,ih=Object.prototype.propertyIsEnumerable,Xo=(t,e,s)=>e in t?eh(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Qo=(t,e)=>{for(var s in e||(e={}))rh.call(e,s)&&Xo(t,s,e[s]);if(Zo)for(var s of Zo(e))ih.call(e,s)&&Xo(t,s,e[s]);return t},nh=(t,e)=>th(t,sh(e));const oh="ReactNative",mt={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},ah="js";function Wi(){return typeof mr<"u"&&typeof mr.versions<"u"&&typeof mr.versions.node<"u"}function Ns(){return!ns.getDocument()&&!!ns.getNavigator()&&navigator.product===oh}function ch(){return Ns()&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"&&globalThis?.Platform.OS==="android"}function lh(){return Ns()&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"&&globalThis?.Platform.OS==="ios"}function xr(){return!Wi()&&!!ns.getNavigator()&&!!ns.getDocument()}function gi(){return Ns()?mt.reactNative:Wi()?mt.node:xr()?mt.browser:mt.unknown}function ea(){var t;try{return Ns()&&typeof globalThis<"u"&&typeof globalThis?.Application<"u"?(t=globalThis.Application)==null?void 0:t.applicationId:void 0}catch{return}}function dh(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 uh(t){var e,s;const r=Zc();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!=="")),nh(Qo(Qo({},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 Zc(){return fd.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function hh(){if(gi()===mt.reactNative&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"){const{OS:s,Version:r}=globalThis.Platform;return[s,r].join("-")}const t=gd();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 ph(){var t;const e=gi();return e===mt.browser?[e,((t=ns.getLocation())==null?void 0:t.host)||"unknown"].join(":"):e}function Xc(t,e,s){const r=hh(),i=ph();return[[t,e].join("-"),[ah,s].join("-"),r,i].join("/")}function gh({protocol:t,version:e,relayUrl:s,sdkVersion:r,auth:i,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=s.split("?"),d=Xc(t,e,r),u={auth:i,ua:d,projectId:n,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},p=dh(l[1]||"",u);return l[0]+"?"+p}function Ds(t,e){return t.filter(s=>e.includes(s)).length===t.length}function Wn(t){return Object.fromEntries(t.entries())}function zn(t){return new Map(Object.entries(t))}function Ts(t=U.FIVE_MINUTES,e){const s=U.toMiliseconds(t||U.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 ws(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 Qc(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 fh(t){return Qc("topic",t)}function mh(t){return Qc("id",t)}function el(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 Ue(t,e){return U.fromMiliseconds(Date.now()+U.toMiliseconds(t))}function gs(t){return Date.now()>=U.toMiliseconds(t)}function pe(t,e){return`${t}${e?`:${e}`:""}`}function Ht(t=[],e=[]){return[...new Set([...t,...e])]}async function wh({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=yh(n,t,e),a=gi();if(a===mt.browser){if(!((r=ns.getDocument())!=null&&r.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}bh(o)}else a===mt.reactNative&&typeof globalThis?.Linking<"u"&&await globalThis.Linking.openURL(o)}catch(i){console.error(i)}}function yh(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}${Ih(r,!0)}`}else i=`${i}/wc?${r}`;return i}function bh(t){let e="_self";Eh()?e="_top":(Ch()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function vh(t,e){let s="";try{if(xr()&&(s=localStorage.getItem(e),s))return s;s=await t.getItem(e)}catch(r){console.error(r)}return s}function ta(t,e){if(!t.includes(e))return null;const s=t.split(/([&,?,=])/),r=s.indexOf(e);return s[r+2]}function sa(){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 Eo(){return typeof mr<"u"&&Xu.IS_VITEST==="true"}function Ch(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Eh(){try{return window.self!==window.top}catch{return!1}}function Ih(t,e=!1){const s=Ye.from(t).toString("base64");return e?s.replace(/[=]/g,""):s}function tl(t){return Ye.from(t,"base64").toString("utf-8")}function Nh(t){return new Promise(e=>setTimeout(e,t))}function ai(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Ah(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function fi(t,...e){if(!Ah(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 Io(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ai(t.outputLen),ai(t.blockLen)}function Cr(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 sl(t,e){fi(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}const Ai=BigInt(2**32-1),ra=BigInt(32);function _h(t,e=!1){return e?{h:Number(t&Ai),l:Number(t>>ra&Ai)}:{h:Number(t>>ra&Ai)|0,l:Number(t&Ai)|0}}function Sh(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}=_h(t[i],e);[s[i],r[i]]=[n,o]}return[s,r]}const Ph=(t,e,s)=>t<<s|e>>>32-s,kh=(t,e,s)=>e<<s|t>>>32-s,Th=(t,e,s)=>e<<s-32|t>>>64-s,Oh=(t,e,s)=>t<<s-32|e>>>64-s,Gs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function xh(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function hn(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Mt(t,e){return t<<32-e|t>>>e}const ia=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Rh(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function na(t){for(let e=0;e<t.length;e++)t[e]=Rh(t[e])}function $h(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function Er(t){return typeof t=="string"&&(t=$h(t)),fi(t),t}function Uh(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];fi(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 No=class{clone(){return this._cloneInto()}};function rl(t){const e=r=>t().update(Er(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function Rr(t=32){if(Gs&&typeof Gs.getRandomValues=="function")return Gs.getRandomValues(new Uint8Array(t));if(Gs&&typeof Gs.randomBytes=="function")return Gs.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}const il=[],nl=[],ol=[],Dh=BigInt(0),Mr=BigInt(1),Lh=BigInt(2),Mh=BigInt(7),Bh=BigInt(256),qh=BigInt(113);for(let t=0,e=Mr,s=1,r=0;t<24;t++){[s,r]=[r,(2*s+3*r)%5],il.push(2*(5*r+s)),nl.push((t+1)*(t+2)/2%64);let i=Dh;for(let n=0;n<7;n++)e=(e<<Mr^(e>>Mh)*qh)%Bh,e&Lh&&(i^=Mr<<(Mr<<BigInt(n))-Mr);ol.push(i)}const[jh,Fh]=Sh(ol,!0),oa=(t,e,s)=>s>32?Th(t,e,s):Ph(t,e,s),aa=(t,e,s)=>s>32?Oh(t,e,s):kh(t,e,s);function Wh(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],d=s[c+1],u=oa(l,d,1)^s[a],p=aa(l,d,1)^s[a+1];for(let f=0;f<50;f+=10)t[o+f]^=u,t[o+f+1]^=p}let i=t[2],n=t[3];for(let o=0;o<24;o++){const a=nl[o],c=oa(i,n,a),l=aa(i,n,a),d=il[o];i=t[d],n=t[d+1],t[d]=c,t[d+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]^=jh[r],t[1]^=Fh[r]}s.fill(0)}let zh=class al extends No{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,ai(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=xh(this.state)}keccak(){ia||na(this.state32),Wh(this.state32,this.rounds),ia||na(this.state32),this.posOut=0,this.pos=0}update(e){Cr(this);const{blockLen:s,state:r}=this;e=Er(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){Cr(this,!1),fi(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 ai(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(sl(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 al(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 Hh=(t,e,s)=>rl(()=>new zh(e,t,s)),Vh=Hh(1,136,256/8),Kh="https://rpc.walletconnect.org/v1";function cl(t){const e=`Ethereum Signed Message:
5
+ `);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=Fc}walk(e){return Wc(this,e)}}function Wc(t,e){return e?.(t)?t:t&&typeof t=="object"&&"cause"in t&&t.cause!==void 0?Wc(t.cause,e):e?null:t}class zc extends Bs{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 Tr(t,{dir:e,size:s=32}={}){return typeof t=="string"?$u(t,{dir:e,size:s}):Uu(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 zc({size:Math.ceil(r.length/2),targetSize:s,type:"hex"});return`0x${r[e==="right"?"padEnd":"padStart"](s*2,"0")}`}function Uu(t,{dir:e,size:s=32}={}){if(s===null)return t;if(t.length>s)throw new zc({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 Du extends Bs{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 Lu extends Bs{constructor({givenSize:e,maxSize:s}){super(`Size cannot exceed ${s} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function Or(t,{size:e}){if(Go(t)>e)throw new Lu({givenSize:Go(t),maxSize:e})}function jn(t,e={}){const{signed:s}=e;e.size&&Or(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 Mu(t,e={}){return Number(jn(t,e))}const Bu=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Fn(t,e={}){return typeof t=="number"||typeof t=="bigint"?Vc(t,e):typeof t=="string"?Fu(t,e):typeof t=="boolean"?qu(t,e):Hc(t,e)}function qu(t,e={}){const s=`0x${Number(t)}`;return typeof e.size=="number"?(Or(s,{size:e.size}),Tr(s,{size:e.size})):s}function Hc(t,e={}){let s="";for(let i=0;i<t.length;i++)s+=Bu[t[i]];const r=`0x${s}`;return typeof e.size=="number"?(Or(r,{size:e.size}),Tr(r,{dir:"right",size:e.size})):r}function Vc(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 Du({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?Tr(a,{size:r}):a}const ju=new TextEncoder;function Fu(t,e={}){const s=ju.encode(t);return Hc(s,e)}const Wu=new TextEncoder;function zu(t,e={}){return typeof t=="number"||typeof t=="bigint"?Vu(t,e):typeof t=="boolean"?Hu(t,e):oi(t)?Kc(t,e):Gc(t,e)}function Hu(t,e={}){const s=new Uint8Array(1);return s[0]=Number(t),typeof e.size=="number"?(Or(s,{size:e.size}),Tr(s,{size:e.size})):s}const Zt={zero:48,nine:57,A:65,F:70,a:97,f:102};function Jo(t){if(t>=Zt.zero&&t<=Zt.nine)return t-Zt.zero;if(t>=Zt.A&&t<=Zt.F)return t-(Zt.A-10);if(t>=Zt.a&&t<=Zt.f)return t-(Zt.a-10)}function Kc(t,e={}){let s=t;e.size&&(Or(s,{size:e.size}),s=Tr(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=Jo(r.charCodeAt(a++)),l=Jo(r.charCodeAt(a++));if(c===void 0||l===void 0)throw new Bs(`Invalid byte sequence ("${r[a-2]}${r[a-1]}" in "${r}").`);n[o]=c*16+l}return n}function Vu(t,e){const s=Vc(t,e);return Kc(s)}function Gc(t,e={}){const s=Wu.encode(t);return typeof e.size=="number"?(Or(s,{size:e.size}),Tr(s,{dir:"right",size:e.size})):s}function Jc(t,e){const s=e||"hex",r=Ed(oi(t,{strict:!1})?zu(t):t);return s==="bytes"?r:Fn(r)}class Ku 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 un=new Ku(8192);function Gu(t,e){if(un.has(`${t}.${e}`))return un.get(`${t}.${e}`);const s=t.substring(2).toLowerCase(),r=Jc(Gc(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 un.set(`${t}.${e}`,n),n}function Ju(t){const e=Jc(`0x${t.substring(4)}`).substring(26);return Gu(`0x${e}`)}async function Yu({hash:t,signature:e}){const s=oi(t)?t:Fn(t),{secp256k1:r}=await Un(async()=>{const{secp256k1:o}=await import("./secp256k1-BZmrY8e3.js");return{secp256k1:o}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:l,s:d,v:u,yParity:p}=e,f=Number(p??u),m=Yo(f);return new r.Signature(jn(l),jn(d)).addRecoveryBit(m)}const o=oi(e)?e:Fn(e),a=Mu(`0x${o.slice(130)}`),c=Yo(a);return r.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(s.substring(2)).toHex(!1)}`}function Yo(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 Ju(await Yu({hash:t,signature:e}))}var Xu={};const Qu=":";function yr(t){const[e,s]=t.split(Qu);return{namespace:e,reference:s}}function Yc(t,e){return t.includes(":")?[t]:e.chains||[]}var eh=Object.defineProperty,th=Object.defineProperties,sh=Object.getOwnPropertyDescriptors,Zo=Object.getOwnPropertySymbols,rh=Object.prototype.hasOwnProperty,ih=Object.prototype.propertyIsEnumerable,Xo=(t,e,s)=>e in t?eh(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Qo=(t,e)=>{for(var s in e||(e={}))rh.call(e,s)&&Xo(t,s,e[s]);if(Zo)for(var s of Zo(e))ih.call(e,s)&&Xo(t,s,e[s]);return t},nh=(t,e)=>th(t,sh(e));const oh="ReactNative",mt={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},ah="js";function Wi(){return typeof mr<"u"&&typeof mr.versions<"u"&&typeof mr.versions.node<"u"}function Ns(){return!ns.getDocument()&&!!ns.getNavigator()&&navigator.product===oh}function ch(){return Ns()&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"&&globalThis?.Platform.OS==="android"}function lh(){return Ns()&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"&&globalThis?.Platform.OS==="ios"}function xr(){return!Wi()&&!!ns.getNavigator()&&!!ns.getDocument()}function gi(){return Ns()?mt.reactNative:Wi()?mt.node:xr()?mt.browser:mt.unknown}function ea(){var t;try{return Ns()&&typeof globalThis<"u"&&typeof globalThis?.Application<"u"?(t=globalThis.Application)==null?void 0:t.applicationId:void 0}catch{return}}function dh(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 uh(t){var e,s;const r=Zc();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!=="")),nh(Qo(Qo({},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 Zc(){return fd.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function hh(){if(gi()===mt.reactNative&&typeof globalThis<"u"&&typeof globalThis?.Platform<"u"){const{OS:s,Version:r}=globalThis.Platform;return[s,r].join("-")}const t=gd();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 ph(){var t;const e=gi();return e===mt.browser?[e,((t=ns.getLocation())==null?void 0:t.host)||"unknown"].join(":"):e}function Xc(t,e,s){const r=hh(),i=ph();return[[t,e].join("-"),[ah,s].join("-"),r,i].join("/")}function gh({protocol:t,version:e,relayUrl:s,sdkVersion:r,auth:i,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=s.split("?"),d=Xc(t,e,r),u={auth:i,ua:d,projectId:n,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},p=dh(l[1]||"",u);return l[0]+"?"+p}function Ds(t,e){return t.filter(s=>e.includes(s)).length===t.length}function Wn(t){return Object.fromEntries(t.entries())}function zn(t){return new Map(Object.entries(t))}function Ts(t=U.FIVE_MINUTES,e){const s=U.toMiliseconds(t||U.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 ws(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 Qc(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 fh(t){return Qc("topic",t)}function mh(t){return Qc("id",t)}function el(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 Ue(t,e){return U.fromMiliseconds(Date.now()+U.toMiliseconds(t))}function gs(t){return Date.now()>=U.toMiliseconds(t)}function pe(t,e){return`${t}${e?`:${e}`:""}`}function Ht(t=[],e=[]){return[...new Set([...t,...e])]}async function wh({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=yh(n,t,e),a=gi();if(a===mt.browser){if(!((r=ns.getDocument())!=null&&r.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}bh(o)}else a===mt.reactNative&&typeof globalThis?.Linking<"u"&&await globalThis.Linking.openURL(o)}catch(i){console.error(i)}}function yh(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}${Ih(r,!0)}`}else i=`${i}/wc?${r}`;return i}function bh(t){let e="_self";Eh()?e="_top":(Ch()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function vh(t,e){let s="";try{if(xr()&&(s=localStorage.getItem(e),s))return s;s=await t.getItem(e)}catch(r){console.error(r)}return s}function ta(t,e){if(!t.includes(e))return null;const s=t.split(/([&,?,=])/),r=s.indexOf(e);return s[r+2]}function sa(){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 Eo(){return typeof mr<"u"&&Xu.IS_VITEST==="true"}function Ch(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Eh(){try{return window.self!==window.top}catch{return!1}}function Ih(t,e=!1){const s=Ye.from(t).toString("base64");return e?s.replace(/[=]/g,""):s}function tl(t){return Ye.from(t,"base64").toString("utf-8")}function Nh(t){return new Promise(e=>setTimeout(e,t))}function ai(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Ah(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function fi(t,...e){if(!Ah(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 Io(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ai(t.outputLen),ai(t.blockLen)}function Cr(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 sl(t,e){fi(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}const Ai=BigInt(2**32-1),ra=BigInt(32);function _h(t,e=!1){return e?{h:Number(t&Ai),l:Number(t>>ra&Ai)}:{h:Number(t>>ra&Ai)|0,l:Number(t&Ai)|0}}function Sh(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}=_h(t[i],e);[s[i],r[i]]=[n,o]}return[s,r]}const Ph=(t,e,s)=>t<<s|e>>>32-s,kh=(t,e,s)=>e<<s|t>>>32-s,Th=(t,e,s)=>e<<s-32|t>>>64-s,Oh=(t,e,s)=>t<<s-32|e>>>64-s,Gs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function xh(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function hn(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Mt(t,e){return t<<32-e|t>>>e}const ia=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Rh(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function na(t){for(let e=0;e<t.length;e++)t[e]=Rh(t[e])}function $h(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function Er(t){return typeof t=="string"&&(t=$h(t)),fi(t),t}function Uh(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];fi(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 No=class{clone(){return this._cloneInto()}};function rl(t){const e=r=>t().update(Er(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function Rr(t=32){if(Gs&&typeof Gs.getRandomValues=="function")return Gs.getRandomValues(new Uint8Array(t));if(Gs&&typeof Gs.randomBytes=="function")return Gs.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}const il=[],nl=[],ol=[],Dh=BigInt(0),Mr=BigInt(1),Lh=BigInt(2),Mh=BigInt(7),Bh=BigInt(256),qh=BigInt(113);for(let t=0,e=Mr,s=1,r=0;t<24;t++){[s,r]=[r,(2*s+3*r)%5],il.push(2*(5*r+s)),nl.push((t+1)*(t+2)/2%64);let i=Dh;for(let n=0;n<7;n++)e=(e<<Mr^(e>>Mh)*qh)%Bh,e&Lh&&(i^=Mr<<(Mr<<BigInt(n))-Mr);ol.push(i)}const[jh,Fh]=Sh(ol,!0),oa=(t,e,s)=>s>32?Th(t,e,s):Ph(t,e,s),aa=(t,e,s)=>s>32?Oh(t,e,s):kh(t,e,s);function Wh(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],d=s[c+1],u=oa(l,d,1)^s[a],p=aa(l,d,1)^s[a+1];for(let f=0;f<50;f+=10)t[o+f]^=u,t[o+f+1]^=p}let i=t[2],n=t[3];for(let o=0;o<24;o++){const a=nl[o],c=oa(i,n,a),l=aa(i,n,a),d=il[o];i=t[d],n=t[d+1],t[d]=c,t[d+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]^=jh[r],t[1]^=Fh[r]}s.fill(0)}let zh=class al extends No{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,ai(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=xh(this.state)}keccak(){ia||na(this.state32),Wh(this.state32,this.rounds),ia||na(this.state32),this.posOut=0,this.pos=0}update(e){Cr(this);const{blockLen:s,state:r}=this;e=Er(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){Cr(this,!1),fi(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 ai(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(sl(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 al(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 Hh=(t,e,s)=>rl(()=>new zh(e,t,s)),Vh=Hh(1,136,256/8),Kh="https://rpc.walletconnect.org/v1";function cl(t){const e=`Ethereum Signed Message:
6
6
  ${t.length}`,s=new TextEncoder().encode(e+t);return"0x"+Ye.from(Vh(s)).toString("hex")}async function Gh(t,e,s,r,i,n){switch(s.t){case"eip191":return await Jh(t,e,s.s);case"eip1271":return await Yh(t,e,s.s,r,i,n);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${s.t}`)}}async function Jh(t,e,s){return(await Zu({hash:cl(e),signature:s})).toLowerCase()===t.toLowerCase()}async function Yh(t,e,s,r,i,n){const o=yr(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",d=s.substring(2),u=cl(e).substring(2),p=a+u+c+l+d,f=await fetch(`${n||Kh}/?chainId=${r}&projectId=${i}`,{method:"POST",body:JSON.stringify({id:Zh(),jsonrpc:"2.0",method:"eth_call",params:[{to:t,data:p},"latest"]})}),{result:m}=await f.json();return m?m.slice(0,a.length).toLowerCase()===a.toLowerCase():!1}catch(a){return console.error("isValidEip1271Signature: ",a),!1}}function Zh(){return Date.now()+Math.floor(Math.random()*1e3)}function Xh(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=Ye.from(t,"base64").slice(1,65);return $c.encode(n)}var Qh=Object.defineProperty,ep=Object.defineProperties,tp=Object.getOwnPropertyDescriptors,ca=Object.getOwnPropertySymbols,sp=Object.prototype.hasOwnProperty,rp=Object.prototype.propertyIsEnumerable,la=(t,e,s)=>e in t?Qh(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ip=(t,e)=>{for(var s in e||(e={}))sp.call(e,s)&&la(t,s,e[s]);if(ca)for(var s of ca(e))rp.call(e,s)&&la(t,s,e[s]);return t},np=(t,e)=>ep(t,tp(e));const op="did:pkh:",Ao=t=>t?.split(":"),ap=t=>{const e=t&&Ao(t);if(e)return t.includes(op)?e[3]:e[1]},Hn=t=>{const e=t&&Ao(t);if(e)return e[2]+":"+e[3]},zi=t=>{const e=t&&Ao(t);if(e)return e.pop()};async function da(t){const{cacao:e,projectId:s}=t,{s:r,p:i}=e,n=ll(i,i.iss),o=zi(i.iss);return await Gh(o,n,r,Hn(i.iss),s)}const ll=(t,e)=>{const s=`${t.domain} wants you to sign in with your Ethereum account:`,r=zi(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: ${ap(e)}`,c=`Nonce: ${t.nonce}`,l=`Issued At: ${t.iat}`,d=t.exp?`Expiration Time: ${t.exp}`:void 0,u=t.nbf?`Not Before: ${t.nbf}`:void 0,p=t.requestId?`Request ID: ${t.requestId}`:void 0,f=t.resources?`Resources:${t.resources.map(w=>`
7
7
  - ${w}`).join("")}`:void 0,m=Di(t.resources);if(m){const w=ci(m);i=mp(i,w)}return[s,r,"",i,"",n,o,a,c,l,d,u,p,f].filter(w=>w!=null).join(`
8
8
  `)};function cp(t){return Ye.from(JSON.stringify(t)).toString("base64")}function lp(t){return JSON.parse(Ye.from(t,"base64").toString("utf-8"))}function qs(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 dp(t,e,s,r={}){return s?.sort((i,n)=>i.localeCompare(n)),{att:{[t]:up(e,s,r)}}}function up(t,e,s={}){e=e?.sort((i,n)=>i.localeCompare(n));const r=e.map(i=>({[`${t}/${i}`]:[s]}));return Object.assign({},...r)}function dl(t){return qs(t),`urn:recap:${cp(t).replace(/=/g,"")}`}function ci(t){const e=lp(t.replace("urn:recap:",""));return qs(e),e}function hp(t,e,s){const r=dp(t,e,s);return dl(r)}function pp(t){return t&&t.includes("urn:recap:")}function gp(t,e){const s=ci(t),r=ci(e),i=fp(s,r);return dl(i)}function fp(t,e){qs(t),qs(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]=np(ip({},r.att[i]),{[a]:((c=t.att[i])==null?void 0:c[a])||((l=e.att[i])==null?void 0:l[a])})})}),r}function mp(t="",e){qs(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(u=>({ability:u.split("/")[0],action:u.split("/")[1]}));c.sort((u,p)=>u.action.localeCompare(p.action));const l={};c.forEach(u=>{l[u.ability]||(l[u.ability]=[]),l[u.ability].push(u.action)});const d=Object.keys(l).map(u=>(i++,`(${i}) '${u}': '${l[u].join("', '")}' for '${a}'.`));r.push(d.join(", ").replace(".,","."))});const n=r.join(" "),o=`${s}${n}`;return`${t?t+" ":""}${o}`}function ua(t){var e;const s=ci(t);qs(s);const r=(e=s.att)==null?void 0:e.eip155;return r?Object.keys(r).map(i=>i.split("/")[1]):[]}function ha(t){const e=ci(t);qs(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 Di(t){if(!t)return;const e=t?.[t.length-1];return pp(e)?e:void 0}function pn(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function ul(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function ft(t,...e){if(!ul(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 pa(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 wp(t,e){ft(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function ga(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}const bs=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),yp=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),bp=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!bp)throw new Error("Non little-endian hardware is not supported");function vp(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function Vn(t){if(typeof t=="string")t=vp(t);else if(ul(t))t=Kn(t);else throw new Error("Uint8Array expected, got "+typeof t);return t}function Cp(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function Ep(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 Ip=(t,e)=>{function s(r,...i){if(ft(r),t.nonceLength!==void 0){const l=i[0];if(!l)throw new Error("nonce / iv required");t.varSizeNonce?ft(l):ft(l,t.nonceLength)}const n=t.tagLength;n&&i[1]!==void 0&&ft(i[1]);const o=e(r,...i),a=(l,d)=>{if(d!==void 0){if(l!==2)throw new Error("cipher output not supported");ft(d)}};let c=!1;return{encrypt(l,d){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,ft(l),a(o.encrypt.length,d),o.encrypt(l,d)},decrypt(l,d){if(ft(l),n&&l.length<n)throw new Error("invalid ciphertext length: smaller than tagLength="+n);return a(o.decrypt.length,d),o.decrypt(l,d)}}}return Object.assign(s,t),s};function fa(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&&!Np(e))throw new Error("invalid output, must be aligned");return e}function ma(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 Np(t){return t.byteOffset%4===0}function Kn(t){return Uint8Array.from(t)}function Ir(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}const hl=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),Ap=hl("expand 16-byte k"),_p=hl("expand 32-byte k"),Sp=bs(Ap),Pp=bs(_p);function ce(t,e){return t<<e|t>>>32-e}function Gn(t){return t.byteOffset%4===0}const _i=64,kp=16,pl=2**32-1,wa=new Uint32Array;function Tp(t,e,s,r,i,n,o,a){const c=i.length,l=new Uint8Array(_i),d=bs(l),u=Gn(i)&&Gn(n),p=u?bs(i):wa,f=u?bs(n):wa;for(let m=0;m<c;o++){if(t(e,s,r,d,o,a),o>=pl)throw new Error("arx: counter overflow");const w=Math.min(_i,c-m);if(u&&w===_i){const g=m/4;if(m%4!==0)throw new Error("arx: invalid block position");for(let y=0,b;y<kp;y++)b=g+y,f[b]=p[b]^d[y];m+=_i;continue}for(let g=0,y;g<w;g++)y=m+g,n[y]=i[y]^l[g];m+=w}}function Op(t,e){const{allowShortKeys:s,extendNonceFn:r,counterLength:i,counterRight:n,rounds:o}=Cp({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return pn(i),pn(o),ga(n),ga(s),(a,c,l,d,u=0)=>{ft(a),ft(c),ft(l);const p=l.length;if(d===void 0&&(d=new Uint8Array(p)),ft(d),pn(u),u<0||u>=pl)throw new Error("arx: counter overflow");if(d.length<p)throw new Error(`arx: output (${d.length}) is shorter than data (${p})`);const f=[];let m=a.length,w,g;if(m===32)f.push(w=Kn(a)),g=Pp;else if(m===16&&s)w=new Uint8Array(32),w.set(a),w.set(a,16),g=Sp,f.push(w);else throw new Error(`arx: invalid 32-byte key, got length=${m}`);Gn(c)||f.push(c=Kn(c));const y=bs(w);if(r){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");r(g,y,bs(c.subarray(0,16)),y),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 O=new Uint8Array(12);O.set(c,n?0:12-c.length),c=O,f.push(c)}const I=bs(c);return Tp(t,g,y,I,l,d,u,o),Ir(...f),d}}const We=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class xp{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=Vn(e),ft(e,32);const s=We(e,0),r=We(e,2),i=We(e,4),n=We(e,6),o=We(e,8),a=We(e,10),c=We(e,12),l=We(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 d=0;d<8;d++)this.pad[d]=We(e,16+2*d)}process(e,s,r=!1){const i=r?0:2048,{h:n,r:o}=this,a=o[0],c=o[1],l=o[2],d=o[3],u=o[4],p=o[5],f=o[6],m=o[7],w=o[8],g=o[9],y=We(e,s+0),b=We(e,s+2),I=We(e,s+4),O=We(e,s+6),R=We(e,s+8),P=We(e,s+10),_=We(e,s+12),D=We(e,s+14);let v=n[0]+(y&8191),x=n[1]+((y>>>13|b<<3)&8191),C=n[2]+((b>>>10|I<<6)&8191),L=n[3]+((I>>>7|O<<9)&8191),H=n[4]+((O>>>4|R<<12)&8191),E=n[5]+(R>>>1&8191),k=n[6]+((R>>>14|P<<2)&8191),A=n[7]+((P>>>11|_<<5)&8191),B=n[8]+((_>>>8|D<<8)&8191),j=n[9]+(D>>>5|i),T=0,G=T+v*a+x*(5*g)+C*(5*w)+L*(5*m)+H*(5*f);T=G>>>13,G&=8191,G+=E*(5*p)+k*(5*u)+A*(5*d)+B*(5*l)+j*(5*c),T+=G>>>13,G&=8191;let Q=T+v*c+x*a+C*(5*g)+L*(5*w)+H*(5*m);T=Q>>>13,Q&=8191,Q+=E*(5*f)+k*(5*p)+A*(5*u)+B*(5*d)+j*(5*l),T+=Q>>>13,Q&=8191;let se=T+v*l+x*c+C*a+L*(5*g)+H*(5*w);T=se>>>13,se&=8191,se+=E*(5*m)+k*(5*f)+A*(5*p)+B*(5*u)+j*(5*d),T+=se>>>13,se&=8191;let ve=T+v*d+x*l+C*c+L*a+H*(5*g);T=ve>>>13,ve&=8191,ve+=E*(5*w)+k*(5*m)+A*(5*f)+B*(5*p)+j*(5*u),T+=ve>>>13,ve&=8191;let he=T+v*u+x*d+C*l+L*c+H*a;T=he>>>13,he&=8191,he+=E*(5*g)+k*(5*w)+A*(5*m)+B*(5*f)+j*(5*p),T+=he>>>13,he&=8191;let ke=T+v*p+x*u+C*d+L*l+H*c;T=ke>>>13,ke&=8191,ke+=E*a+k*(5*g)+A*(5*w)+B*(5*m)+j*(5*f),T+=ke>>>13,ke&=8191;let De=T+v*f+x*p+C*u+L*d+H*l;T=De>>>13,De&=8191,De+=E*c+k*a+A*(5*g)+B*(5*w)+j*(5*m),T+=De>>>13,De&=8191;let Ge=T+v*m+x*f+C*p+L*u+H*d;T=Ge>>>13,Ge&=8191,Ge+=E*l+k*c+A*a+B*(5*g)+j*(5*w),T+=Ge>>>13,Ge&=8191;let xe=T+v*w+x*m+C*f+L*p+H*u;T=xe>>>13,xe&=8191,xe+=E*d+k*l+A*c+B*a+j*(5*g),T+=xe>>>13,xe&=8191;let Re=T+v*g+x*w+C*m+L*f+H*p;T=Re>>>13,Re&=8191,Re+=E*u+k*d+A*l+B*c+j*a,T+=Re>>>13,Re&=8191,T=(T<<2)+T|0,T=T+G|0,G=T&8191,T=T>>>13,Q+=T,n[0]=G,n[1]=Q,n[2]=se,n[3]=ve,n[4]=he,n[5]=ke,n[6]=De,n[7]=Ge,n[8]=xe,n[9]=Re}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;Ir(r)}update(e){pa(this);const{buffer:s,blockLen:r}=this;e=Vn(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(){Ir(this.h,this.r,this.buffer,this.pad)}digestInto(e){pa(this),wp(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 Rp(t){const e=(r,i)=>t(i).update(Vn(r)).digest(),s=t(new Uint8Array(32));return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=r=>t(r),e}const $p=Rp(t=>new xp(t));function Up(t,e,s,r,i,n=20){let o=t[0],a=t[1],c=t[2],l=t[3],d=e[0],u=e[1],p=e[2],f=e[3],m=e[4],w=e[5],g=e[6],y=e[7],b=i,I=s[0],O=s[1],R=s[2],P=o,_=a,D=c,v=l,x=d,C=u,L=p,H=f,E=m,k=w,A=g,B=y,j=b,T=I,G=O,Q=R;for(let ve=0;ve<n;ve+=2)P=P+x|0,j=ce(j^P,16),E=E+j|0,x=ce(x^E,12),P=P+x|0,j=ce(j^P,8),E=E+j|0,x=ce(x^E,7),_=_+C|0,T=ce(T^_,16),k=k+T|0,C=ce(C^k,12),_=_+C|0,T=ce(T^_,8),k=k+T|0,C=ce(C^k,7),D=D+L|0,G=ce(G^D,16),A=A+G|0,L=ce(L^A,12),D=D+L|0,G=ce(G^D,8),A=A+G|0,L=ce(L^A,7),v=v+H|0,Q=ce(Q^v,16),B=B+Q|0,H=ce(H^B,12),v=v+H|0,Q=ce(Q^v,8),B=B+Q|0,H=ce(H^B,7),P=P+C|0,Q=ce(Q^P,16),A=A+Q|0,C=ce(C^A,12),P=P+C|0,Q=ce(Q^P,8),A=A+Q|0,C=ce(C^A,7),_=_+L|0,j=ce(j^_,16),B=B+j|0,L=ce(L^B,12),_=_+L|0,j=ce(j^_,8),B=B+j|0,L=ce(L^B,7),D=D+H|0,T=ce(T^D,16),E=E+T|0,H=ce(H^E,12),D=D+H|0,T=ce(T^D,8),E=E+T|0,H=ce(H^E,7),v=v+x|0,G=ce(G^v,16),k=k+G|0,x=ce(x^k,12),v=v+x|0,G=ce(G^v,8),k=k+G|0,x=ce(x^k,7);let se=0;r[se++]=o+P|0,r[se++]=a+_|0,r[se++]=c+D|0,r[se++]=l+v|0,r[se++]=d+x|0,r[se++]=u+C|0,r[se++]=p+L|0,r[se++]=f+H|0,r[se++]=m+E|0,r[se++]=w+k|0,r[se++]=g+A|0,r[se++]=y+B|0,r[se++]=b+j|0,r[se++]=I+T|0,r[se++]=O+G|0,r[se++]=R+Q|0}const Dp=Op(Up,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Lp=new Uint8Array(16),ya=(t,e)=>{t.update(e);const s=e.length%16;s&&t.update(Lp.subarray(s))},Mp=new Uint8Array(32);function ba(t,e,s,r,i){const n=t(e,s,Mp),o=$p.create(n);i&&ya(o,i),ya(o,r);const a=new Uint8Array(16),c=yp(a);ma(c,0,BigInt(i?i.length:0),!0),ma(c,8,BigInt(r.length),!0),o.update(a);const l=o.digest();return Ir(n,a),l}const Bp=t=>(e,s,r)=>({encrypt(i,n){const o=i.length;n=fa(o+16,n,!1),n.set(i);const a=n.subarray(0,-16);t(e,s,a,a,1);const c=ba(t,e,s,a,r);return n.set(c,o),Ir(c),n},decrypt(i,n){n=fa(i.length-16,n,!1);const o=i.subarray(0,-16),a=i.subarray(-16),c=ba(t,e,s,o,r);if(!Ep(a,c))throw new Error("invalid tag");return n.set(i.subarray(0,-16)),t(e,s,n,n,1),Ir(c),n}}),gl=Ip({blockSize:64,nonceLength:12,tagLength:16},Bp(Dp));let fl=class extends No{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,Io(e);const r=Er(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 Cr(this),this.iHash.update(e),this}digestInto(e){Cr(this),fi(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 Yi=(t,e,s)=>new fl(t,e).update(s).digest();Yi.create=(t,e)=>new fl(t,e);function qp(t,e,s){return Io(t),s===void 0&&(s=new Uint8Array(t.outputLen)),Yi(t,Er(s),Er(e))}const gn=new Uint8Array([0]),va=new Uint8Array;function jp(t,e,s,r=32){if(Io(t),ai(r),r>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const i=Math.ceil(r/t.outputLen);s===void 0&&(s=va);const n=new Uint8Array(i*t.outputLen),o=Yi.create(t,e),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let l=0;l<i;l++)gn[0]=l+1,a.update(l===0?va:c).update(s).update(gn).digestInto(c),n.set(c,t.outputLen*l),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),gn.fill(0),n.slice(0,r)}const Fp=(t,e,s,r,i)=>jp(t,qp(t,e,s),r,i);function Wp(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 zp(t,e,s){return t&e^~t&s}function Hp(t,e,s){return t&e^t&s^e&s}let Vp=class extends No{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=hn(this.buffer)}update(e){Cr(this);const{view:s,buffer:r,blockLen:i}=this;e=Er(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=hn(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){Cr(this),sl(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 u=o;u<i;u++)s[u]=0;Wp(r,i-8,BigInt(this.length*8),n),this.process(r,0);const a=hn(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=c/4,d=this.get();if(l>d.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<l;u++)a.setUint32(4*u,d[u],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 Kp=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]),ds=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),us=new Uint32Array(64);class Gp extends Vp{constructor(){super(64,32,8,!1),this.A=ds[0]|0,this.B=ds[1]|0,this.C=ds[2]|0,this.D=ds[3]|0,this.E=ds[4]|0,this.F=ds[5]|0,this.G=ds[6]|0,this.H=ds[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 u=0;u<16;u++,s+=4)us[u]=e.getUint32(s,!1);for(let u=16;u<64;u++){const p=us[u-15],f=us[u-2],m=Mt(p,7)^Mt(p,18)^p>>>3,w=Mt(f,17)^Mt(f,19)^f>>>10;us[u]=w+us[u-7]+m+us[u-16]|0}let{A:r,B:i,C:n,D:o,E:a,F:c,G:l,H:d}=this;for(let u=0;u<64;u++){const p=Mt(a,6)^Mt(a,11)^Mt(a,25),f=d+p+zp(a,c,l)+Kp[u]+us[u]|0,m=(Mt(r,2)^Mt(r,13)^Mt(r,22))+Hp(r,i,n)|0;d=l,l=c,c=a,a=o+f|0,o=n,n=i,i=r,r=f+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,d=d+this.H|0,this.set(r,i,n,o,a,c,l,d)}roundClean(){us.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const mi=rl(()=>new Gp);const Zi=BigInt(0),Xi=BigInt(1),Jp=BigInt(2);function js(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function wi(t){if(!js(t))throw new Error("Uint8Array expected")}function Nr(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}const Yp=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ar(t){wi(t);let e="";for(let s=0;s<t.length;s++)e+=Yp[t[s]];return e}function pr(t){const e=t.toString(16);return e.length&1?"0"+e:e}function _o(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?Zi:BigInt("0x"+t)}const Xt={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ca(t){if(t>=Xt._0&&t<=Xt._9)return t-Xt._0;if(t>=Xt.A&&t<=Xt.F)return t-(Xt.A-10);if(t>=Xt.a&&t<=Xt.f)return t-(Xt.a-10)}function _r(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=Ca(t.charCodeAt(n)),a=Ca(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 Ls(t){return _o(Ar(t))}function li(t){return wi(t),_o(Ar(Uint8Array.from(t).reverse()))}function Sr(t,e){return _r(t.toString(16).padStart(e*2,"0"))}function Qi(t,e){return Sr(t,e).reverse()}function Zp(t){return _r(pr(t))}function gt(t,e,s){let r;if(typeof e=="string")try{r=_r(e)}catch(n){throw new Error(t+" must be hex string or Uint8Array, cause: "+n)}else if(js(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 di(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];wi(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 Xp(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 Qp(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}const fn=t=>typeof t=="bigint"&&Zi<=t;function en(t,e,s){return fn(t)&&fn(e)&&fn(s)&&e<=t&&t<s}function rs(t,e,s,r){if(!en(e,s,r))throw new Error("expected valid "+t+": "+s+" <= n < "+r+", got "+e)}function ml(t){let e;for(e=0;t>Zi;t>>=Xi,e+=1);return e}function eg(t,e){return t>>BigInt(e)&Xi}function tg(t,e,s){return t|(s?Xi:Zi)<<BigInt(e)}const So=t=>(Jp<<BigInt(t-1))-Xi,mn=t=>new Uint8Array(t),Ea=t=>Uint8Array.from(t);function wl(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=mn(t),i=mn(t),n=0;const o=()=>{r.fill(1),i.fill(0),n=0},a=(...d)=>s(i,r,...d),c=(d=mn())=>{i=a(Ea([0]),d),r=a(),d.length!==0&&(i=a(Ea([1]),d),r=a())},l=()=>{if(n++>=1e3)throw new Error("drbg: tried 1000 values");let d=0;const u=[];for(;d<e;){r=a();const p=r.slice();u.push(p),d+=r.length}return di(...u)};return(d,u)=>{o(),c(d);let p;for(;!(p=u(l()));)c();return o(),p}}const sg={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"||js(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 $r(t,e,s={}){const r=(i,n,o)=>{const a=sg[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 rg=()=>{throw new Error("not implemented")};function Jn(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 ig=Object.freeze({__proto__:null,isBytes:js,abytes:wi,abool:Nr,bytesToHex:Ar,numberToHexUnpadded:pr,hexToNumber:_o,hexToBytes:_r,bytesToNumberBE:Ls,bytesToNumberLE:li,numberToBytesBE:Sr,numberToBytesLE:Qi,numberToVarBytesBE:Zp,ensureBytes:gt,concatBytes:di,equalBytes:Xp,utf8ToBytes:Qp,inRange:en,aInRange:rs,bitLen:ml,bitGet:eg,bitSet:tg,bitMask:So,createHmacDrbg:wl,validateObject:$r,notImplemented:rg,memoized:Jn});const Fe=BigInt(0),Pe=BigInt(1),xs=BigInt(2),ng=BigInt(3),Yn=BigInt(4),Ia=BigInt(5),Na=BigInt(8);function ct(t,e){const s=t%e;return s>=Fe?s:e+s}function yl(t,e,s){if(e<Fe)throw new Error("invalid exponent, negatives unsupported");if(s<=Fe)throw new Error("invalid modulus");if(s===Pe)return Fe;let r=Pe;for(;e>Fe;)e&Pe&&(r=r*t%s),t=t*t%s,e>>=Pe;return r}function xt(t,e,s){let r=t;for(;e-- >Fe;)r*=r,r%=s;return r}function Zn(t,e){if(t===Fe)throw new Error("invert: expected non-zero number");if(e<=Fe)throw new Error("invert: expected positive modulus, got "+e);let s=ct(t,e),r=e,i=Fe,n=Pe;for(;s!==Fe;){const o=r/s,a=r%s,c=i-n*o;r=s,s=a,i=n,n=c}if(r!==Pe)throw new Error("invert: does not exist");return ct(i,e)}function og(t){const e=(t-Pe)/xs;let s,r,i;for(s=t-Pe,r=0;s%xs===Fe;s/=xs,r++);for(i=xs;i<t&&yl(i,e,t)!==t-Pe;i++)if(i>1e3)throw new Error("Cannot find square root: likely non-prime P");if(r===1){const o=(t+Pe)/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+Pe)/xs;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),d=o.pow(a,n),u=o.pow(a,s);for(;!o.eql(u,o.ONE);){if(o.eql(u,o.ZERO))return o.ZERO;let p=1;for(let m=o.sqr(u);p<c&&!o.eql(m,o.ONE);p++)m=o.sqr(m);const f=o.pow(l,Pe<<BigInt(c-p-1));l=o.sqr(f),d=o.mul(d,f),u=o.mul(u,l),c=p}return d}}function ag(t){if(t%Yn===ng){const e=(t+Pe)/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%Na===Ia){const e=(t-Ia)/Na;return function(s,r){const i=s.mul(r,xs),n=s.pow(i,e),o=s.mul(r,n),a=s.mul(s.mul(o,xs),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 og(t)}const cg=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function lg(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},s=cg.reduce((r,i)=>(r[i]="function",r),e);return $r(t,s)}function dg(t,e,s){if(s<Fe)throw new Error("invalid exponent, negatives unsupported");if(s===Fe)return t.ONE;if(s===Pe)return e;let r=t.ONE,i=e;for(;s>Fe;)s&Pe&&(r=t.mul(r,i)),i=t.sqr(i),s>>=Pe;return r}function ug(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 bl(t,e){const s=e!==void 0?e:t.toString(2).length,r=Math.ceil(s/8);return{nBitLength:s,nByteLength:r}}function vl(t,e,s=!1,r={}){if(t<=Fe)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:i,nByteLength:n}=bl(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:So(i),ZERO:Fe,ONE:Pe,create:c=>ct(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Fe<=c&&c<t},is0:c=>c===Fe,isOdd:c=>(c&Pe)===Pe,neg:c=>ct(-c,t),eql:(c,l)=>c===l,sqr:c=>ct(c*c,t),add:(c,l)=>ct(c+l,t),sub:(c,l)=>ct(c-l,t),mul:(c,l)=>ct(c*l,t),pow:(c,l)=>dg(a,c,l),div:(c,l)=>ct(c*Zn(l,t),t),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>Zn(c,t),sqrt:r.sqrt||(c=>(o||(o=ag(t)),o(a,c))),invertBatch:c=>ug(a,c),cmov:(c,l,d)=>d?l:c,toBytes:c=>s?Qi(c,n):Sr(c,n),fromBytes:c=>{if(c.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+c.length);return s?li(c):Ls(c)}});return Object.freeze(a)}function Cl(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 El(t){const e=Cl(t);return e+Math.ceil(e/2)}function hg(t,e,s=!1){const r=t.length,i=Cl(e),n=El(e);if(r<16||r<n||r>1024)throw new Error("expected "+n+"-1024 bytes of input, got "+r);const o=s?li(t):Ls(t),a=ct(o,e-Pe)+Pe;return s?Qi(a,i):Sr(a,i)}const Aa=BigInt(0),Si=BigInt(1);function wn(t,e){const s=e.negate();return t?s:e}function Il(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function yn(t,e){Il(t,e);const s=Math.ceil(e/t)+1,r=2**(t-1);return{windows:s,windowSize:r}}function pg(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 gg(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 bn=new WeakMap,Nl=new WeakMap;function vn(t){return Nl.get(t)||1}function fg(t,e){return{constTimeNegate:wn,hasPrecomputes(s){return vn(s)!==1},unsafeLadder(s,r,i=t.ZERO){let n=s;for(;r>Aa;)r&Si&&(i=i.add(n)),n=n.double(),r>>=Si;return i},precomputeWindow(s,r){const{windows:i,windowSize:n}=yn(r,e),o=[];let a=s,c=a;for(let l=0;l<i;l++){c=a,o.push(c);for(let d=1;d<n;d++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(s,r,i){const{windows:n,windowSize:o}=yn(s,e);let a=t.ZERO,c=t.BASE;const l=BigInt(2**s-1),d=2**s,u=BigInt(s);for(let p=0;p<n;p++){const f=p*o;let m=Number(i&l);i>>=u,m>o&&(m-=d,i+=Si);const w=f,g=f+Math.abs(m)-1,y=p%2!==0,b=m<0;m===0?c=c.add(wn(y,r[w])):a=a.add(wn(b,r[g]))}return{p:a,f:c}},wNAFUnsafe(s,r,i,n=t.ZERO){const{windows:o,windowSize:a}=yn(s,e),c=BigInt(2**s-1),l=2**s,d=BigInt(s);for(let u=0;u<o;u++){const p=u*a;if(i===Aa)break;let f=Number(i&c);if(i>>=d,f>a&&(f-=l,i+=Si),f===0)continue;let m=r[p+Math.abs(f)-1];f<0&&(m=m.negate()),n=n.add(m)}return n},getPrecomputes(s,r,i){let n=bn.get(r);return n||(n=this.precomputeWindow(r,s),s!==1&&bn.set(r,i(n))),n},wNAFCached(s,r,i){const n=vn(s);return this.wNAF(n,this.getPrecomputes(n,s,i),r)},wNAFCachedUnsafe(s,r,i,n){const o=vn(s);return o===1?this.unsafeLadder(s,r,n):this.wNAFUnsafe(o,this.getPrecomputes(o,s,i),r,n)},setWindowSize(s,r){Il(r,e),Nl.set(s,r),bn.delete(s)}}}function mg(t,e,s,r){if(pg(s,t),gg(r,e),s.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const i=t.ZERO,n=ml(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 d=i;for(let u=l;u>=0;u-=o){c.fill(i);for(let f=0;f<r.length;f++){const m=r[f],w=Number(m>>BigInt(u)&BigInt(a));c[w]=c[w].add(s[f])}let p=i;for(let f=c.length-1,m=i;f>0;f--)m=m.add(c[f]),p=p.add(m);if(d=d.add(p),u!==0)for(let f=0;f<o;f++)d=d.double()}return d}function Al(t){return lg(t.Fp),$r(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...bl(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);const Js=BigInt(0),Cn=BigInt(1);function wg(t){return $r(t,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...t})}function yg(t){const e=wg(t),{P:s}=e,r=b=>ct(b,s),i=e.montgomeryBits,n=Math.ceil(i/8),o=e.nByteLength,a=e.adjustScalarBytes||(b=>b),c=e.powPminus2||(b=>yl(b,s-BigInt(2),s));function l(b,I,O){const R=r(b*(I-O));return I=r(I-R),O=r(O+R),[I,O]}const d=(e.a-BigInt(2))/BigInt(4);function u(b,I){rs("u",b,Js,s),rs("scalar",I,Js,s);const O=I,R=b;let P=Cn,_=Js,D=b,v=Cn,x=Js,C;for(let H=BigInt(i-1);H>=Js;H--){const E=O>>H&Cn;x^=E,C=l(x,P,D),P=C[0],D=C[1],C=l(x,_,v),_=C[0],v=C[1],x=E;const k=P+_,A=r(k*k),B=P-_,j=r(B*B),T=A-j,G=D+v,Q=D-v,se=r(Q*k),ve=r(G*B),he=se+ve,ke=se-ve;D=r(he*he),v=r(R*r(ke*ke)),P=r(A*j),_=r(T*(A+r(d*T)))}C=l(x,P,D),P=C[0],D=C[1],C=l(x,_,v),_=C[0],v=C[1];const L=c(_);return r(P*L)}function p(b){return Qi(r(b),n)}function f(b){const I=gt("u coordinate",b,n);return o===32&&(I[31]&=127),li(I)}function m(b){const I=gt("scalar",b),O=I.length;if(O!==n&&O!==o){let R=""+n+" or "+o;throw new Error("invalid scalar, expected "+R+" bytes, got "+O)}return li(a(I))}function w(b,I){const O=f(I),R=m(b),P=u(O,R);if(P===Js)throw new Error("invalid private or public key received");return p(P)}const g=p(e.Gu);function y(b){return w(b,g)}return{scalarMult:w,scalarMultBase:y,getSharedSecret:(b,I)=>w(b,I),getPublicKey:b=>y(b),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:g}}const Xn=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const bg=BigInt(1),_a=BigInt(2),vg=BigInt(3),Cg=BigInt(5);BigInt(8);function Eg(t){const e=BigInt(10),s=BigInt(20),r=BigInt(40),i=BigInt(80),n=Xn,o=t*t%n*t%n,a=xt(o,_a,n)*o%n,c=xt(a,bg,n)*t%n,l=xt(c,Cg,n)*c%n,d=xt(l,e,n)*l%n,u=xt(d,s,n)*d%n,p=xt(u,r,n)*u%n,f=xt(p,i,n)*p%n,m=xt(f,i,n)*p%n,w=xt(m,e,n)*l%n;return{pow_p_5_8:xt(w,_a,n)*t%n,b2:o}}function Ig(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const Qn=yg({P:Xn,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=Xn,{pow_p_5_8:s,b2:r}=Eg(t);return ct(xt(s,vg,e)*r,e)},adjustScalarBytes:Ig,randomBytes:Rr});function Sa(t){t.lowS!==void 0&&Nr("lowS",t.lowS),t.prehash!==void 0&&Nr("prehash",t.prehash)}function Ng(t){const e=Al(t);$r(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:Ag,hexToBytes:_g}=ig;class Sg extends Error{constructor(e=""){super(e)}}const ts={Err:Sg,_tlv:{encode:(t,e)=>{const{Err:s}=ts;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=pr(r);if(i.length/2&128)throw new s("tlv.encode: long form length too big");const n=r>127?pr(i.length/2|128):"";return pr(t)+n+i+e},decode(t,e){const{Err:s}=ts;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 d of l)o=o<<8|d;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}=ts;if(t<ss)throw new e("integer: negative integers are not allowed");let s=pr(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}=ts;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 Ag(t)}},toSig(t){const{Err:e,_int:s,_tlv:r}=ts,i=typeof t=="string"?_g(t):t;wi(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:d}=r.decode(2,c);if(d.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}=ts,r=e.encode(2,s.encode(t.r)),i=e.encode(2,s.encode(t.s)),n=r+i;return e.encode(48,n)}},ss=BigInt(0),Be=BigInt(1);BigInt(2);const Pa=BigInt(3);BigInt(4);function Pg(t){const e=Ng(t),{Fp:s}=e,r=vl(e.n,e.nBitLength),i=e.toBytes||((w,g,y)=>{const b=g.toAffine();return di(Uint8Array.from([4]),s.toBytes(b.x),s.toBytes(b.y))}),n=e.fromBytes||(w=>{const g=w.subarray(1),y=s.fromBytes(g.subarray(0,s.BYTES)),b=s.fromBytes(g.subarray(s.BYTES,2*s.BYTES));return{x:y,y:b}});function o(w){const{a:g,b:y}=e,b=s.sqr(w),I=s.mul(b,w);return s.add(s.add(I,s.mul(w,g)),y)}if(!s.eql(s.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function a(w){return en(w,Be,e.n)}function c(w){const{allowedPrivateKeyLengths:g,nByteLength:y,wrapPrivateKey:b,n:I}=e;if(g&&typeof w!="bigint"){if(js(w)&&(w=Ar(w)),typeof w!="string"||!g.includes(w.length))throw new Error("invalid private key");w=w.padStart(y*2,"0")}let O;try{O=typeof w=="bigint"?w:Ls(gt("private key",w,y))}catch{throw new Error("invalid private key, expected hex or "+y+" bytes, got "+typeof w)}return b&&(O=ct(O,I)),rs("private key",O,Be,I),O}function l(w){if(!(w instanceof p))throw new Error("ProjectivePoint expected")}const d=Jn((w,g)=>{const{px:y,py:b,pz:I}=w;if(s.eql(I,s.ONE))return{x:y,y:b};const O=w.is0();g==null&&(g=O?s.ONE:s.inv(I));const R=s.mul(y,g),P=s.mul(b,g),_=s.mul(I,g);if(O)return{x:s.ZERO,y:s.ZERO};if(!s.eql(_,s.ONE))throw new Error("invZ was invalid");return{x:R,y:P}}),u=Jn(w=>{if(w.is0()){if(e.allowInfinityPoint&&!s.is0(w.py))return;throw new Error("bad point: ZERO")}const{x:g,y}=w.toAffine();if(!s.isValid(g)||!s.isValid(y))throw new Error("bad point: x or y not FE");const b=s.sqr(y),I=o(g);if(!s.eql(b,I))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class p{constructor(g,y,b){if(this.px=g,this.py=y,this.pz=b,g==null||!s.isValid(g))throw new Error("x required");if(y==null||!s.isValid(y))throw new Error("y required");if(b==null||!s.isValid(b))throw new Error("z required");Object.freeze(this)}static fromAffine(g){const{x:y,y:b}=g||{};if(!g||!s.isValid(y)||!s.isValid(b))throw new Error("invalid affine point");if(g instanceof p)throw new Error("projective point not allowed");const I=O=>s.eql(O,s.ZERO);return I(y)&&I(b)?p.ZERO:new p(y,b,s.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(g){const y=s.invertBatch(g.map(b=>b.pz));return g.map((b,I)=>b.toAffine(y[I])).map(p.fromAffine)}static fromHex(g){const y=p.fromAffine(n(gt("pointHex",g)));return y.assertValidity(),y}static fromPrivateKey(g){return p.BASE.multiply(c(g))}static msm(g,y){return mg(p,r,g,y)}_setWindowSize(g){m.setWindowSize(this,g)}assertValidity(){u(this)}hasEvenY(){const{y:g}=this.toAffine();if(s.isOdd)return!s.isOdd(g);throw new Error("Field doesn't support isOdd")}equals(g){l(g);const{px:y,py:b,pz:I}=this,{px:O,py:R,pz:P}=g,_=s.eql(s.mul(y,P),s.mul(O,I)),D=s.eql(s.mul(b,P),s.mul(R,I));return _&&D}negate(){return new p(this.px,s.neg(this.py),this.pz)}double(){const{a:g,b:y}=e,b=s.mul(y,Pa),{px:I,py:O,pz:R}=this;let P=s.ZERO,_=s.ZERO,D=s.ZERO,v=s.mul(I,I),x=s.mul(O,O),C=s.mul(R,R),L=s.mul(I,O);return L=s.add(L,L),D=s.mul(I,R),D=s.add(D,D),P=s.mul(g,D),_=s.mul(b,C),_=s.add(P,_),P=s.sub(x,_),_=s.add(x,_),_=s.mul(P,_),P=s.mul(L,P),D=s.mul(b,D),C=s.mul(g,C),L=s.sub(v,C),L=s.mul(g,L),L=s.add(L,D),D=s.add(v,v),v=s.add(D,v),v=s.add(v,C),v=s.mul(v,L),_=s.add(_,v),C=s.mul(O,R),C=s.add(C,C),v=s.mul(C,L),P=s.sub(P,v),D=s.mul(C,x),D=s.add(D,D),D=s.add(D,D),new p(P,_,D)}add(g){l(g);const{px:y,py:b,pz:I}=this,{px:O,py:R,pz:P}=g;let _=s.ZERO,D=s.ZERO,v=s.ZERO;const x=e.a,C=s.mul(e.b,Pa);let L=s.mul(y,O),H=s.mul(b,R),E=s.mul(I,P),k=s.add(y,b),A=s.add(O,R);k=s.mul(k,A),A=s.add(L,H),k=s.sub(k,A),A=s.add(y,I);let B=s.add(O,P);return A=s.mul(A,B),B=s.add(L,E),A=s.sub(A,B),B=s.add(b,I),_=s.add(R,P),B=s.mul(B,_),_=s.add(H,E),B=s.sub(B,_),v=s.mul(x,A),_=s.mul(C,E),v=s.add(_,v),_=s.sub(H,v),v=s.add(H,v),D=s.mul(_,v),H=s.add(L,L),H=s.add(H,L),E=s.mul(x,E),A=s.mul(C,A),H=s.add(H,E),E=s.sub(L,E),E=s.mul(x,E),A=s.add(A,E),L=s.mul(H,A),D=s.add(D,L),L=s.mul(B,A),_=s.mul(k,_),_=s.sub(_,L),L=s.mul(k,H),v=s.mul(B,v),v=s.add(v,L),new p(_,D,v)}subtract(g){return this.add(g.negate())}is0(){return this.equals(p.ZERO)}wNAF(g){return m.wNAFCached(this,g,p.normalizeZ)}multiplyUnsafe(g){const{endo:y,n:b}=e;rs("scalar",g,ss,b);const I=p.ZERO;if(g===ss)return I;if(this.is0()||g===Be)return this;if(!y||m.hasPrecomputes(this))return m.wNAFCachedUnsafe(this,g,p.normalizeZ);let{k1neg:O,k1:R,k2neg:P,k2:_}=y.splitScalar(g),D=I,v=I,x=this;for(;R>ss||_>ss;)R&Be&&(D=D.add(x)),_&Be&&(v=v.add(x)),x=x.double(),R>>=Be,_>>=Be;return O&&(D=D.negate()),P&&(v=v.negate()),v=new p(s.mul(v.px,y.beta),v.py,v.pz),D.add(v)}multiply(g){const{endo:y,n:b}=e;rs("scalar",g,Be,b);let I,O;if(y){const{k1neg:R,k1:P,k2neg:_,k2:D}=y.splitScalar(g);let{p:v,f:x}=this.wNAF(P),{p:C,f:L}=this.wNAF(D);v=m.constTimeNegate(R,v),C=m.constTimeNegate(_,C),C=new p(s.mul(C.px,y.beta),C.py,C.pz),I=v.add(C),O=x.add(L)}else{const{p:R,f:P}=this.wNAF(g);I=R,O=P}return p.normalizeZ([I,O])[0]}multiplyAndAddUnsafe(g,y,b){const I=p.BASE,O=(P,_)=>_===ss||_===Be||!P.equals(I)?P.multiplyUnsafe(_):P.multiply(_),R=O(this,y).add(O(g,b));return R.is0()?void 0:R}toAffine(g){return d(this,g)}isTorsionFree(){const{h:g,isTorsionFree:y}=e;if(g===Be)return!0;if(y)return y(p,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:g,clearCofactor:y}=e;return g===Be?this:y?y(p,this):this.multiplyUnsafe(e.h)}toRawBytes(g=!0){return Nr("isCompressed",g),this.assertValidity(),i(p,this,g)}toHex(g=!0){return Nr("isCompressed",g),Ar(this.toRawBytes(g))}}p.BASE=new p(e.Gx,e.Gy,s.ONE),p.ZERO=new p(s.ZERO,s.ONE,s.ZERO);const f=e.nBitLength,m=fg(p,e.endo?Math.ceil(f/2):f);return{CURVE:e,ProjectivePoint:p,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function kg(t){const e=Al(t);return $r(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Tg(t){const e=kg(t),{Fp:s,n:r}=e,i=s.BYTES+1,n=2*s.BYTES+1;function o(E){return ct(E,r)}function a(E){return Zn(E,r)}const{ProjectivePoint:c,normPrivateKeyToScalar:l,weierstrassEquation:d,isWithinCurveOrder:u}=Pg({...e,toBytes(E,k,A){const B=k.toAffine(),j=s.toBytes(B.x),T=di;return Nr("isCompressed",A),A?T(Uint8Array.from([k.hasEvenY()?2:3]),j):T(Uint8Array.from([4]),j,s.toBytes(B.y))},fromBytes(E){const k=E.length,A=E[0],B=E.subarray(1);if(k===i&&(A===2||A===3)){const j=Ls(B);if(!en(j,Be,s.ORDER))throw new Error("Point is not on curve");const T=d(j);let G;try{G=s.sqrt(T)}catch(se){const ve=se instanceof Error?": "+se.message:"";throw new Error("Point is not on curve"+ve)}const Q=(G&Be)===Be;return(A&1)===1!==Q&&(G=s.neg(G)),{x:j,y:G}}else if(k===n&&A===4){const j=s.fromBytes(B.subarray(0,s.BYTES)),T=s.fromBytes(B.subarray(s.BYTES,2*s.BYTES));return{x:j,y:T}}else{const j=i,T=n;throw new Error("invalid Point, expected length of "+j+", or uncompressed "+T+", got "+k)}}}),p=E=>Ar(Sr(E,e.nByteLength));function f(E){const k=r>>Be;return E>k}function m(E){return f(E)?o(-E):E}const w=(E,k,A)=>Ls(E.slice(k,A));class g{constructor(k,A,B){this.r=k,this.s=A,this.recovery=B,this.assertValidity()}static fromCompact(k){const A=e.nByteLength;return k=gt("compactSignature",k,A*2),new g(w(k,0,A),w(k,A,2*A))}static fromDER(k){const{r:A,s:B}=ts.toSig(gt("DER",k));return new g(A,B)}assertValidity(){rs("r",this.r,Be,r),rs("s",this.s,Be,r)}addRecoveryBit(k){return new g(this.r,this.s,k)}recoverPublicKey(k){const{r:A,s:B,recovery:j}=this,T=P(gt("msgHash",k));if(j==null||![0,1,2,3].includes(j))throw new Error("recovery id invalid");const G=j===2||j===3?A+e.n:A;if(G>=s.ORDER)throw new Error("recovery id 2 or 3 invalid");const Q=(j&1)===0?"02":"03",se=c.fromHex(Q+p(G)),ve=a(G),he=o(-T*ve),ke=o(B*ve),De=c.BASE.multiplyAndAddUnsafe(se,he,ke);if(!De)throw new Error("point at infinify");return De.assertValidity(),De}hasHighS(){return f(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return _r(this.toDERHex())}toDERHex(){return ts.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return _r(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}const y={isValidPrivateKey(E){try{return l(E),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const E=El(e.n);return hg(e.randomBytes(E),e.n)},precompute(E=8,k=c.BASE){return k._setWindowSize(E),k.multiply(BigInt(3)),k}};function b(E,k=!0){return c.fromPrivateKey(E).toRawBytes(k)}function I(E){const k=js(E),A=typeof E=="string",B=(k||A)&&E.length;return k?B===i||B===n:A?B===2*i||B===2*n:E instanceof c}function O(E,k,A=!0){if(I(E))throw new Error("first arg must be private key");if(!I(k))throw new Error("second arg must be public key");return c.fromHex(k).multiply(l(E)).toRawBytes(A)}const R=e.bits2int||function(E){if(E.length>8192)throw new Error("input is too large");const k=Ls(E),A=E.length*8-e.nBitLength;return A>0?k>>BigInt(A):k},P=e.bits2int_modN||function(E){return o(R(E))},_=So(e.nBitLength);function D(E){return rs("num < 2^"+e.nBitLength,E,ss,_),Sr(E,e.nByteLength)}function v(E,k,A=x){if(["recovered","canonical"].some(xe=>xe in A))throw new Error("sign() legacy options not supported");const{hash:B,randomBytes:j}=e;let{lowS:T,prehash:G,extraEntropy:Q}=A;T==null&&(T=!0),E=gt("msgHash",E),Sa(A),G&&(E=gt("prehashed msgHash",B(E)));const se=P(E),ve=l(k),he=[D(ve),D(se)];if(Q!=null&&Q!==!1){const xe=Q===!0?j(s.BYTES):Q;he.push(gt("extraEntropy",xe))}const ke=di(...he),De=se;function Ge(xe){const Re=R(xe);if(!u(Re))return;const As=a(Re),Kt=c.BASE.multiply(Re).toAffine(),Lt=o(Kt.x);if(Lt===ss)return;const Gt=o(As*o(De+Lt*ve));if(Gt===ss)return;let Vs=(Kt.x===Lt?0:2)|Number(Kt.y&Be),Ei=Gt;return T&&f(Gt)&&(Ei=m(Gt),Vs^=1),new g(Lt,Ei,Vs)}return{seed:ke,k2sig:Ge}}const x={lowS:e.lowS,prehash:!1},C={lowS:e.lowS,prehash:!1};function L(E,k,A=x){const{seed:B,k2sig:j}=v(E,k,A),T=e;return wl(T.hash.outputLen,T.nByteLength,T.hmac)(B,j)}c.BASE._setWindowSize(8);function H(E,k,A,B=C){const j=E;k=gt("msgHash",k),A=gt("publicKey",A);const{lowS:T,prehash:G,format:Q}=B;if(Sa(B),"strict"in B)throw new Error("options.strict was renamed to lowS");if(Q!==void 0&&Q!=="compact"&&Q!=="der")throw new Error("format must be compact or der");const se=typeof j=="string"||js(j),ve=!se&&!Q&&typeof j=="object"&&j!==null&&typeof j.r=="bigint"&&typeof j.s=="bigint";if(!se&&!ve)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let he,ke;try{if(ve&&(he=new g(j.r,j.s)),se){try{Q!=="compact"&&(he=g.fromDER(j))}catch(Gt){if(!(Gt instanceof ts.Err))throw Gt}!he&&Q!=="der"&&(he=g.fromCompact(j))}ke=c.fromHex(A)}catch{return!1}if(!he||T&&he.hasHighS())return!1;G&&(k=e.hash(k));const{r:De,s:Ge}=he,xe=P(k),Re=a(Ge),As=o(xe*Re),Kt=o(De*Re),Lt=c.BASE.multiplyAndAddUnsafe(ke,As,Kt)?.toAffine();return Lt?o(Lt.x)===De:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:O,sign:L,verify:H,ProjectivePoint:c,Signature:g,utils:y}}function Og(t){return{hash:t,hmac:(e,...s)=>Yi(t,e,Uh(...s)),randomBytes:Rr}}function xg(t,e){const s=r=>Tg({...t,...Og(r)});return{...s(e),create:s}}const _l=vl(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),Rg=_l.create(BigInt("-3")),$g=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Ug=xg({a:Rg,b:$g,Fp:_l,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},mi),Sl="base10",et="base16",Ut="base64pad",fs="base64url",yi="utf8",Pl=0,is=1,bi=2,Dg=0,ka=1,ti=12,Po=32;function Lg(){const t=Qn.utils.randomPrivateKey(),e=Qn.getPublicKey(t);return{privateKey:lt(t,et),publicKey:lt(e,et)}}function eo(){const t=Rr(Po);return lt(t,et)}function Mg(t,e){const s=Qn.getSharedSecret(At(t,et),At(e,et)),r=Fp(mi,s,void 0,void 0,Po);return lt(r,et)}function Li(t){const e=mi(At(t,et));return lt(e,et)}function zt(t){const e=mi(At(t,yi));return lt(e,et)}function kl(t){return At(`${t}`,Sl)}function Fs(t){return Number(lt(t,Sl))}function Tl(t){return t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Ol(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),s=(4-e.length%4)%4;return e+"=".repeat(s)}function Bg(t){const e=kl(typeof t.type<"u"?t.type:Pl);if(Fs(e)===is&&typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const s=typeof t.senderPublicKey<"u"?At(t.senderPublicKey,et):void 0,r=typeof t.iv<"u"?At(t.iv,et):Rr(ti),i=At(t.symKey,et),n=gl(i,r).encrypt(At(t.message,yi)),o=xl({type:e,sealed:n,iv:r,senderPublicKey:s});return t.encoding===fs?Tl(o):o}function qg(t){const e=At(t.symKey,et),{sealed:s,iv:r}=ui({encoded:t.encoded,encoding:t.encoding}),i=gl(e,r).decrypt(s);if(i===null)throw new Error("Failed to decrypt");return lt(i,yi)}function jg(t,e){const s=kl(bi),r=Rr(ti),i=At(t,yi),n=xl({type:s,sealed:i,iv:r});return e===fs?Tl(n):n}function Fg(t,e){const{sealed:s}=ui({encoded:t,encoding:e});return lt(s,yi)}function xl(t){if(Fs(t.type)===bi)return lt(Yr([t.type,t.sealed]),Ut);if(Fs(t.type)===is){if(typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return lt(Yr([t.type,t.senderPublicKey,t.iv,t.sealed]),Ut)}return lt(Yr([t.type,t.iv,t.sealed]),Ut)}function ui(t){const e=(t.encoding||Ut)===fs?Ol(t.encoded):t.encoded,s=At(e,Ut),r=s.slice(Dg,ka),i=ka;if(Fs(r)===is){const c=i+Po,l=c+ti,d=s.slice(i,c),u=s.slice(c,l),p=s.slice(l);return{type:r,sealed:p,iv:u,senderPublicKey:d}}if(Fs(r)===bi){const c=s.slice(i),l=Rr(ti);return{type:r,sealed:c,iv:l}}const n=i+ti,o=s.slice(i,n),a=s.slice(n);return{type:r,sealed:a,iv:o}}function Wg(t,e){const s=ui({encoded:t,encoding:e?.encoding});return Rl({type:Fs(s.type),senderPublicKey:typeof s.senderPublicKey<"u"?lt(s.senderPublicKey,et):void 0,receiverPublicKey:e?.receiverPublicKey})}function Rl(t){const e=t?.type||Pl;if(e===is){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 Ta(t){return t.type===is&&typeof t.senderPublicKey=="string"&&typeof t.receiverPublicKey=="string"}function Oa(t){return t.type===bi}function zg(t){const e=Ye.from(t.x,"base64"),s=Ye.from(t.y,"base64");return Yr([new Uint8Array([4]),e,s])}function Hg(t,e){const[s,r,i]=t.split("."),n=Ye.from(Ol(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=mi(c),d=zg(e);if(!Ug.verify(Yr([o,a]),l,d))throw new Error("Invalid signature");return Dn(t).payload}const Vg="irn";function Hi(t){return t?.relay||{protocol:Vg}}function Kr(t){const e=md[t];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${t}`);return e}function Kg(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 xa(t){if(!t.includes("wc:")){const l=tl(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,d)=>{a[d]=l});const c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:r,topic:Gg(i[0]),version:parseInt(i[1],10),symKey:a.symKey,relay:Kg(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function Gg(t){return t.startsWith("//")?t.substring(2):t}function Jg(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 Ra(t){const e=new URLSearchParams,s=Jg(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 Pi(t,e,s){return`${t}?wc_ev=${s}&topic=${e}`}var Yg=Object.defineProperty,Zg=Object.defineProperties,Xg=Object.getOwnPropertyDescriptors,$a=Object.getOwnPropertySymbols,Qg=Object.prototype.hasOwnProperty,ef=Object.prototype.propertyIsEnumerable,Ua=(t,e,s)=>e in t?Yg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,tf=(t,e)=>{for(var s in e||(e={}))Qg.call(e,s)&&Ua(t,s,e[s]);if($a)for(var s of $a(e))ef.call(e,s)&&Ua(t,s,e[s]);return t},sf=(t,e)=>Zg(t,Xg(e));function Ur(t){const e=[];return t.forEach(s=>{const[r,i]=s.split(":");e.push(`${r}:${i}`)}),e}function rf(t){const e=[];return Object.values(t).forEach(s=>{e.push(...Ur(s.accounts))}),e}function nf(t,e){const s=[];return Object.values(t).forEach(r=>{Ur(r.accounts).includes(e)&&s.push(...r.methods)}),s}function of(t,e){const s=[];return Object.values(t).forEach(r=>{Ur(r.accounts).includes(e)&&s.push(...r.events)}),s}function tn(t){return t.includes(":")}function gr(t){return tn(t)?t.split(":")[0]:t}function Da(t){var e,s,r;const i={};if(!Cs(t))return i;for(const[n,o]of Object.entries(t)){const a=tn(n)?[n]:o.chains,c=o.methods||[],l=o.events||[],d=gr(n);i[d]=sf(tf({},i[d]),{chains:Ht(a,(e=i[d])==null?void 0:e.chains),methods:Ht(c,(s=i[d])==null?void 0:s.methods),events:Ht(l,(r=i[d])==null?void 0:r.events)})}return i}function af(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 La(t,e){e=e.map(r=>r.replace("did:pkh:",""));const s=af(e);for(const[r,i]of Object.entries(s))i.methods?i.methods=Ht(i.methods,t):i.methods=t,i.events=["chainChanged","accountsChanged"];return s}function cf(t,e){var s,r,i,n,o,a;const c=Da(t),l=Da(e),d={},u=Object.keys(c).concat(Object.keys(l));for(const p of u)d[p]={chains:Ht((s=c[p])==null?void 0:s.chains,(r=l[p])==null?void 0:r.chains),methods:Ht((i=c[p])==null?void 0:i.methods,(n=l[p])==null?void 0:n.methods),events:Ht((o=c[p])==null?void 0:o.events,(a=l[p])==null?void 0:a.events)};return d}const lf={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}},df={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 $(t,e){const{message:s,code:r}=df[t];return{message:e?`${s} ${e}`:s,code:r}}function me(t,e){const{message:s,code:r}=lf[t];return{message:e?`${s} ${e}`:s,code:r}}function vs(t,e){return!!Array.isArray(t)}function Cs(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function Ve(t){return typeof t>"u"}function Oe(t,e){return e&&Ve(t)?!0:typeof t=="string"&&!!t.trim().length}function ko(t,e){return e&&Ve(t)?!0:typeof t=="number"&&!isNaN(t)}function uf(t,e){const{requiredNamespaces:s}=e,r=Object.keys(t.namespaces),i=Object.keys(s);let n=!0;return Ds(i,r)?(r.forEach(o=>{const{accounts:a,methods:c,events:l}=t.namespaces[o],d=Ur(a),u=s[o];(!Ds(Yc(o,u),d)||!Ds(u.methods,c)||!Ds(u.events,l))&&(n=!1)}),n):!1}function Vi(t){return Oe(t,!1)&&t.includes(":")?t.split(":").length===2:!1}function hf(t){if(Oe(t,!1)&&t.includes(":")){const e=t.split(":");if(e.length===3){const s=e[0]+":"+e[1];return!!e[2]&&Vi(s)}}return!1}function pf(t){function e(s){try{return typeof new URL(s)<"u"}catch{return!1}}try{if(Oe(t,!1)){if(e(t))return!0;const s=tl(t);return e(s)}}catch{}return!1}function gf(t){var e;return(e=t?.proposer)==null?void 0:e.publicKey}function ff(t){return t?.topic}function mf(t,e){let s=null;return Oe(t?.publicKey,!1)||(s=$("MISSING_OR_INVALID",`${e} controller public key should be a string`)),s}function Ma(t){let e=!0;return vs(t)?t.length&&(e=t.every(s=>Oe(s,!1))):e=!1,e}function wf(t,e,s){let r=null;return vs(e)&&e.length?e.forEach(i=>{r||Vi(i)||(r=me("UNSUPPORTED_CHAINS",`${s}, chain ${i} should be a string and conform to "namespace:chainId" format`))}):Vi(t)||(r=me("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 yf(t,e,s){let r=null;return Object.entries(t).forEach(([i,n])=>{if(r)return;const o=wf(i,Yc(i,n),`${e} ${s}`);o&&(r=o)}),r}function bf(t,e){let s=null;return vs(t)?t.forEach(r=>{s||hf(r)||(s=me("UNSUPPORTED_ACCOUNTS",`${e}, account ${r} should be a string and conform to "namespace:chainId:address" format`))}):s=me("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),s}function vf(t,e){let s=null;return Object.values(t).forEach(r=>{if(s)return;const i=bf(r?.accounts,`${e} namespace`);i&&(s=i)}),s}function Cf(t,e){let s=null;return Ma(t?.methods)?Ma(t?.events)||(s=me("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):s=me("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),s}function $l(t,e){let s=null;return Object.values(t).forEach(r=>{if(s)return;const i=Cf(r,`${e}, namespace`);i&&(s=i)}),s}function Ef(t,e,s){let r=null;if(t&&Cs(t)){const i=$l(t,e);i&&(r=i);const n=yf(t,e,s);n&&(r=n)}else r=$("MISSING_OR_INVALID",`${e}, ${s} should be an object with data`);return r}function En(t,e){let s=null;if(t&&Cs(t)){const r=$l(t,e);r&&(s=r);const i=vf(t,e);i&&(s=i)}else s=$("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return s}function Ul(t){return Oe(t.protocol,!0)}function If(t,e){let s=!1;return t?t&&vs(t)&&t.length&&t.forEach(r=>{s=Ul(r)}):s=!0,s}function Nf(t){return typeof t=="number"}function at(t){return typeof t<"u"&&typeof t!==null}function Af(t){return!(!t||typeof t!="object"||!t.code||!ko(t.code,!1)||!t.message||!Oe(t.message,!1))}function _f(t){return!(Ve(t)||!Oe(t.method,!1))}function Sf(t){return!(Ve(t)||Ve(t.result)&&Ve(t.error)||!ko(t.id,!1)||!Oe(t.jsonrpc,!1))}function Pf(t){return!(Ve(t)||!Oe(t.name,!1))}function Ba(t,e){return!(!Vi(e)||!rf(t).includes(e))}function kf(t,e,s){return Oe(s,!1)?nf(t,e).includes(s):!1}function Tf(t,e,s){return Oe(s,!1)?of(t,e).includes(s):!1}function qa(t,e,s){let r=null;const i=Of(t),n=xf(e),o=Object.keys(i),a=Object.keys(n),c=ja(Object.keys(t)),l=ja(Object.keys(e)),d=c.filter(u=>!l.includes(u));return d.length&&(r=$("NON_CONFORMING_NAMESPACES",`${s} namespaces keys don't satisfy requiredNamespaces.
@@ -887,4 +887,4 @@ ${t.length}`,s=new TextEncoder().encode(e+t);return"0x"+Ye.from(Vh(s)).toString(
887
887
  .wui-color-fg-350 {
888
888
  background-color: var(--wui-color-fg-350);
889
889
  }
890
- `,Jr={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 Ci(t){return{formatters:void 0,fees:void 0,serializers:void 0,...t}}const Oc=Ci({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"}),xc=Ci({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"});Ci({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"});Ci({id:"000000000019d6689c085ae165831e93",caipNetworkId:"bip122:000000000019d6689c085ae165831e93",chainNamespace:"bip122",name:"Bitcoin",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}});Ci({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 k0={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"]},ji={getMethodsByChainNamespace(t){return k0[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}`,d=r[o];switch(d.chains.push(l),l){case Oc.caipNetworkId:d.chains.push(Oc.deprecatedCaipNetworkId);break;case xc.caipNetworkId:d.chains.push(xc.deprecatedCaipNetworkId);break}return d?.rpcMap&&c&&(d.rpcMap[n]=c),r},{});return this.applyNamespaceOverrides(s,e)},resolveReownName:async t=>{const e=await Qr.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 hd{constructor({provider:e,namespace:s}){this.id=z.CONNECTOR_ID.WALLET_CONNECT,this.name=Ki.ConnectorNamesMap[z.CONNECTOR_ID.WALLET_CONNECT],this.type="WALLET_CONNECT",this.imageId=Ki.ConnectorImageIds[z.CONNECTOR_ID.WALLET_CONNECT],this.getCaipNetworks=h.getCaipNetworks.bind(h),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=S.state.universalProviderConfigOverride,i=ji.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 ei.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:T0})}}const T0=["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 O0{constructor(e){this.availableConnectors=[],this.eventListeners=new Map,this.getCaipNetworks=s=>h.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:z.CONNECTOR_ID.AUTH,type:"AUTH",name:z.CONNECTOR_NAMES.AUTH,provider:e,imageId:Ki.ConnectorImageIds[z.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 hd);if(!e)throw new Error("WalletConnectConnector not found");return e}}class x0 extends O0{setUniversalProvider(e){this.addConnector(new hd({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===h.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 h.state.activeCaipNetwork?.chainNamespace===z.CHAIN.SOLANA?n=(await s.request({method:"solana_signMessage",params:{message:$c.encode(new TextEncoder().encode(r)),pubkey:i}},h.state.activeCaipNetwork?.caipNetworkId)).signature:n=await s.request({method:"personal_sign",params:[r,i]},h.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===z.CHAIN.EVM)try{await r.provider?.request({method:"wallet_switchEthereumChain",params:[{chainId:Lo(s.id)}]})}catch(i){if(i.code===Jr.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||i.code===Jr.ERROR_INVALID_CHAIN_ID||i.code===Jr.ERROR_CODE_DEFAULT||i?.data?.originalError?.code===Jr.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await r.provider?.request({method:"wallet_addEthereumChain",params:[{chainId:Lo(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 R0=["email","socials","swaps","onramp","activity","reownBranding"],Ui={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}},$0={localSettingsOverridden:new Set,getApiConfig(t,e){return e?.find(s=>s.id===t)},addWarning(t,e){if(t!==void 0){const s=Ui[e],r=s.isLegacy?`"features.${s.localFeatureName}" (now "${e}")`:`"features.${e}"`;this.localSettingsOverridden.add(r)}},processFeature(t,e,s,r,i){const n=Ui[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 Ui[t].processApi(e)},processFallbackFeature(t,e){return Ui[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 R0){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.`;Os.open({shortMessage:"Local configuration ignored",longMessage:`[Reown Config Notice] ${o}`},"warning")}return n}};class U0{constructor(e){this.chainNamespaces=[],this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(s,r)=>{if(s){const i=h.getNetworkData(s)?.requestedCaipNetworks?.find(a=>a.id===r);if(i)return i;const n=h.getNetworkData(s)?.caipNetwork;return n||h.getRequestedCaipNetworks(s).filter(a=>a.chainNamespace===s)?.[0]}return h.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{const s=this.getCaipNetwork();if(s)return s.id},this.getCaipNetworks=s=>h.getCaipNetworks(s),this.getActiveChainNamespace=()=>h.state.activeChain,this.setRequestedCaipNetworks=(s,r)=>{h.setRequestedCaipNetworks(s,r)},this.getApprovedCaipNetworkIds=()=>h.getAllApprovedCaipNetworkIds(),this.getCaipAddress=s=>h.state.activeChain===s||!s?h.state.activeCaipAddress:h.getAccountProp("caipAddress",s),this.setClientId=s=>{J.setClientId(s)},this.getProvider=s=>_e.getProvider(s),this.getProviderType=s=>_e.getProviderId(s),this.getPreferredAccountType=s=>W.state.preferredAccountTypes?.[s],this.setCaipAddress=(s,r)=>{W.setCaipAddress(s,r),s&&S.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=>{h.setActiveCaipNetwork(s)},this.setCaipNetworkOfNamespace=(s,r)=>{h.setChainNetworkData(r,{caipNetwork:s})},this.setAllAccounts=(s,r)=>{W.setAllAccounts(s,r),S.setHasMultipleAddresses(s?.length>1)},this.setStatus=(s,r)=>{W.setStatus(s,r),q.isConnected()?F.setConnectionStatus("connected"):F.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=s=>h.getAccountProp("address",s),this.setConnectors=s=>{const r=[...q.state.allConnectors,...s];q.setConnectors(r)},this.setConnections=(s,r)=>{Y.setConnections(s,r)},this.fetchIdentity=s=>J.fetchIdentity(s),this.getReownName=s=>Qr.getNamesForAddress(s),this.getConnectors=()=>q.getConnectors(),this.getConnectorImage=s=>Bc.getConnectorImage(s),this.setConnectedWalletInfo=(s,r)=>{const i=_e.getProviderId(r),n=s?{...s,type:i}:void 0;W.setConnectedWalletInfo(n,r)},this.getIsConnectedState=()=>!!h.state.activeCaipAddress,this.addAddressLabel=(s,r,i)=>{W.addAddressLabel(s,r,i)},this.removeAddressLabel=(s,r)=>{W.removeAddressLabel(s,r)},this.getAddress=s=>h.state.activeChain===s||!s?W.state.address:h.getAccountProp("address",s),this.setApprovedCaipNetworksData=s=>h.setApprovedCaipNetworksData(s),this.resetNetwork=s=>{h.resetNetwork(s)},this.addConnector=s=>{q.addConnector(s)},this.resetWcConnection=()=>{Y.resetWcConnection()},this.setAddressExplorerUrl=(s,r)=>{W.setAddressExplorerUrl(s,r)},this.setSmartAccountDeployed=(s,r)=>{W.setSmartAccountDeployed(s,r)},this.setSmartAccountEnabledNetworks=(s,r)=>{h.setSmartAccountEnabledNetworks(s,r)},this.setPreferredAccountType=(s,r)=>{W.setPreferredAccountType(s,r)},this.setEIP6963Enabled=s=>{S.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 $0.fetchRemoteFeatures(e),S.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&qn.setOnrampProviders(this.remoteFeatures.onramp),(S.state.remoteFeatures?.email||Array.isArray(S.state.remoteFeatures?.socials)&&S.state.remoteFeatures?.socials.length>0)&&await this.checkAllowedOrigins()}async checkAllowedOrigins(){const e=await V.fetchAllowedOrigins();if(e&&Z.isClient()){const s=window.location.origin;ji.isOriginAllowed(s,e,Jr.DEFAULT_ALLOWED_ANCESTORS)||Os.open(lr.ALERT_ERRORS.INVALID_APP_CONFIGURATION,"error")}else Os.open(lr.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error")}sendInitializeEvent(e){const{...s}=e;delete s.adapters,delete s.universalProvider,Se.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&&pt.setThemeMode(e.themeMode),e.themeVariables&&pt.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw new Error("ConnectionControllerClient and NetworkControllerClient must be set");h.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});const s=this.getDefaultNetwork();s&&h.setActiveCaipNetwork(s)}initializeConnectionController(e){Y.setWcBasic(e.basic??!1)}initializeConnectorController(){q.initialize(this.chainNamespaces)}initializeProjectSettings(e){S.setProjectId(e.projectId),S.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){S.setDebug(e.debug!==!1),S.setEnableWalletConnect(e.enableWalletConnect!==!1),S.setEnableWalletGuide(e.enableWalletGuide!==!1),S.setEnableWallets(e.enableWallets!==!1),S.setEIP6963Enabled(e.enableEIP6963!==!1),S.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),S.setEnableAuthLogger(e.enableAuthLogger!==!1),S.setCustomRpcUrls(e.customRpcUrls),S.setEnableEmbedded(e.enableEmbedded),S.setAllWallets(e.allWallets),S.setIncludeWalletIds(e.includeWalletIds),S.setExcludeWalletIds(e.excludeWalletIds),S.setFeaturedWalletIds(e.featuredWalletIds),S.setTokens(e.tokens),S.setTermsConditionsUrl(e.termsConditionsUrl),S.setPrivacyPolicyUrl(e.privacyPolicyUrl),S.setCustomWallets(e.customWallets),S.setFeatures(e.features),S.setAllowUnsupportedChain(e.allowUnsupportedChain),S.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),S.setPreferUniversalLinks(e.experimental_preferUniversalLinks),S.setDefaultAccountTypes(e.defaultAccountTypes);const s=F.getPreferredAccountTypes()||{},r={...S.state.defaultAccountTypes,...s};W.setPreferredAccountTypes(r);const i=this.getDefaultMetaData();if(!e.metadata&&i&&(e.metadata=i),S.setMetadata(e.metadata),S.setDisableAppend(e.disableAppend),S.setEnableEmbedded(e.enableEmbedded),S.setSIWX(e.siwx),!e.projectId){Os.open(lr.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");return}if(e.adapters?.find(o=>o.namespace===z.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw new Error("Cannot set both `siweConfig` and `siwx` options");S.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=ur.getUnsupportedNetwork(`${s}:${e}`);h.setActiveCaipNetwork(r)}}getDefaultNetwork(){return ur.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,s){return ur.extendCaipNetwork(e,{customNetworkImageUrls:s.chainImages,projectId:s.projectId})}extendCaipNetworks(e){return ur.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?ur.extendCaipNetwork(s,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectNamespace(e){try{const s=this.getAdapter(e),r=_e.getProvider(e),i=_e.getProviderId(e),{caipAddress:n}=h.getAccountData(e)||{};this.setLoading(!0,e),n&&s?.disconnect&&await s.disconnect({provider:r,providerType:i}),F.removeConnectedNamespace(e),_e.resetChain(e),this.setUser(void 0,e),this.setStatus("disconnected",e),this.setConnectedWalletInfo(void 0,e),q.removeConnectorId(e),h.resetAccount(e),h.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=h.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),F.setConnectedNamespaces([...h.state.chains.keys()]),this.chainNamespaces.forEach(n=>{q.setConnectorId(hs.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=h.state.activeChain,l=n||c,d=this.getAdapter(l);if(n&&n!==c&&!o){const w=this.getCaipNetworks().find(g=>g.chainNamespace===n);w&&this.setCaipNetwork(w)}if(!d)throw new Error("Adapter not found");const u=this.getCaipNetwork(l),p=await d.connect({id:e,info:s,type:r,provider:i,socialUri:a,chainId:o?.id||u?.id,rpcUrl:o?.rpcUrls?.default?.http?.[0]||u?.rpcUrls?.default?.http?.[0]});if(!p)return;F.addConnectedNamespace(l),this.syncProvider({...p,chainNamespace:l});const f=W.state.allAccounts,{accounts:m}=f?.length>0?{accounts:[...f]}:await d.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=h.state.activeChain,o=this.getAdapter(n);o?.reconnect&&(await o?.reconnect({id:e,info:s,type:r,provider:i,chainId:this.getCaipNetwork()?.id}),F.addConnectedNamespace(n),this.syncConnectedWalletInfo(n))},disconnect:async e=>{const s=I0(e);try{const r=await Promise.allSettled(s.map(async([n])=>this.disconnectNamespace(n)));ue.resetSend(),Y.resetWcConnection(),await ei.clearSessions(),q.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(", "));F.deleteConnectedSocialProvider(),Se.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(h.state.activeChain)?.signMessage({message:e,address:W.state.address,provider:_e.getProvider(h.state.activeChain)}))?.signature||"",sendTransaction:async e=>{const s=e.chainNamespace;if(be.SEND_SUPPORTED_NAMESPACES.includes(s)){const r=this.getAdapter(h.state.activeChain),i=_e.getProvider(s);return(await r?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:i}))?.hash||""}return""},estimateGas:async e=>{if(e.chainNamespace===z.CHAIN.EVM){const s=this.getAdapter(h.state.activeChain),r=_e.getProvider(h.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:h.state.activeChain}),W.state.profileImage||!1),getEnsAddress:async e=>await ji.resolveReownName(e),writeContract:async e=>{const s=this.getAdapter(h.state.activeChain),r=this.getCaipNetwork(),i=this.getCaipAddress(),n=_e.getProvider(h.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(h.state.activeChain)?.parseUnits({value:e,decimals:s})??0n,formatUnits:(e,s)=>this.getAdapter(h.state.activeChain)?.formatUnits({value:e,decimals:s})??"0",getCapabilities:async e=>await this.getAdapter(h.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(h.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{const s=this.getAdapter(h.state.activeChain);return s?.revokePermissions?await s.revokePermissions(e):"0x"},walletGetAssets:async e=>await this.getAdapter(h.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()},Y.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(_e.getProviderId(h.state.activeChain)===hs.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=_e.getProvider(s),n=_e.getProviderId(s);if(e.chainNamespace===h.state.activeChain)await this.getAdapter(s)?.switchNetwork({caipNetwork:e,provider:i,providerType:n});else if(this.setCaipNetwork(e),n===hs.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}=as.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 x0({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=F.getConnectionStatus();r==="connected"?this.setStatus("connecting",e):r==="disconnected"?(F.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=h.state.activeChain===e,c=h.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=h.state.activeCaipNetwork;!i||!n?.id||this.updateNativeBalance(i,n.id,n.chainNamespace)}),s.on("accountChanged",({address:i,chainId:n})=>{const o=h.state.activeChain===e;o&&n?this.syncAccount({address:i,chainId:n,chainNamespace:e}):o&&h.state.activeCaipNetwork?.id?this.syncAccount({address:i,chainId:h.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===z.CHAIN.EVM&&Z.isSafeApp()&&q.setConnectorId(z.CONNECTOR_ID.SAFE,e);const s=q.getConnectorId(e);switch(this.setStatus("connecting",e),s){case z.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case z.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=q.getConnectorId(e),i=this.getCaipNetwork(e),o=q.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=h.state.activeCaipNetwork?.id,o=i.find(a=>{const{chainId:c}=as.parseCaipAddress(a);return c===n?.toString()})||i[0];if(o){const a=as.validateCaipAddress(o),{chainId:c,address:l}=as.parseCaipAddress(a);if(_e.setProviderId(s,hs.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&h.state.activeCaipNetwork&&r?.namespace!==z.CHAIN.EVM){const d=r?.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:h.state.activeCaipNetwork});_e.setProvider(s,d)}else _e.setProvider(s,this.universalProvider);q.setConnectorId(z.CONNECTOR_ID.WALLET_CONNECT,s),F.addConnectedNamespace(s),this.syncWalletConnectAccounts(s),await this.syncAccount({address:l,chainId:c,chainNamespace:s})}else this.setStatus("disconnected",s);this.syncConnectedWalletInfo(s),await h.setApprovedCaipNetworksData(s)});await Promise.all(e)}syncWalletConnectAccounts(e){const s=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(r=>{const{address:i}=as.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}){_e.setProviderId(i,e),_e.setProvider(i,s),q.setConnectorId(r,i)}async syncAllAccounts(e){const s=q.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===h.state.activeChain,r=h.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:i,chainId:n,chainNamespace:o}=e,{chainId:a}=F.getActiveNetworkProps(),c=n||a,l=h.state.activeCaipNetwork?.name===z.UNSUPPORTED_NETWORK_NAME,d=h.getNetworkProp("supportsAllNetworks",o);if(this.setStatus("connected",o),!(l&&!d)&&c){let u=this.getCaipNetworks().find(m=>m.id.toString()===c.toString()),p=this.getCaipNetworks().find(m=>m.chainNamespace===o);if(!d&&!u&&!p){const m=this.getApprovedCaipNetworkIds()||[],w=m.find(y=>as.parseCaipNetworkId(y)?.chainId===c.toString()),g=m.find(y=>as.parseCaipNetworkId(y)?.chainNamespace===o);u=this.getCaipNetworks().find(y=>y.caipNetworkId===w),p=this.getCaipNetworks().find(y=>y.caipNetworkId===g||"deprecatedCaipNetworkId"in y&&y.deprecatedCaipNetworkId===g)}const f=u||p;f?.chainNamespace===h.state.activeChain?S.state.enableNetworkSwitch&&!S.state.allowUnsupportedChain&&h.state.activeCaipNetwork?.name===z.UNSUPPORTED_NETWORK_NAME?h.showUnsupportedChainUI():this.setCaipNetwork(f):s||r&&this.setCaipNetworkOfNamespace(r,o),this.syncConnectedWalletInfo(o),$o.isLowerCaseMatch(i,W.state.address)||this.syncAccountInfo(i,f?.id,o),s?await this.syncBalance({address:i,chainId:f?.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=q.getConnectorId(e),r=_e.getProviderId(e);if(r===hs.CONNECTOR_TYPE_ANNOUNCED||r===hs.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===hs.CONNECTOR_TYPE_WALLET_CONNECT){const i=_e.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===z.CONNECTOR_ID.COINBASE){const i=this.getConnectors().find(n=>n.id===z.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:"Coinbase Wallet",icon:this.getConnectorImage(i)},e)}}async syncBalance(e){!Lc.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=h.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=A0.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};S.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await Ro.init(s),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&(this.universalProvider.on("display_uri",e=>{Y.setUri(e)}),this.universalProvider.on("connect",Y.finalizeWcConnection),this.universalProvider.on("disconnect",()=>{this.chainNamespaces.forEach(e=>{this.resetAccount(e)}),Y.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(ji.isSessionEventData(e)){const{name:s,data:r}=e.params.event;s==="accountsChanged"&&Array.isArray(r)&&Z.isCaipAddress(r[0])&&this.syncAccount(as.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){Se.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(lr.UniversalProviderErrors).find(([,{message:a}])=>e.message.includes(a)),[r,i]=s??[],{message:n,alertErrorKey:o}=i??{};if(r&&n&&!this.reportedAlertErrors[r]){const a=lr.ALERT_ERRORS[o];a&&(Os.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){return await this.injectModalUi(),e?.uri&&Y.setUri(e.uri),e?.arguments&&e?.view==="Swap"?je.open({...e,data:{swap:e.arguments}}):je.open(e)}async close(){await this.injectModalUi(),je.close()}setLoading(e,s){je.setLoading(e,s)}async disconnect(e){await Y.disconnect(e)}getSIWX(){return S.state.siwx}getError(){return""}getChainId(){return h.state.activeCaipNetwork?.id}async switchNetwork(e){const s=this.getCaipNetworks().find(r=>r.id===e.id);if(!s){Os.open(lr.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error");return}await h.switchActiveNetwork(s)}getWalletProvider(){return h.state.activeChain?_e.state.providers[h.state.activeChain]:null}getWalletProviderType(){return _e.getProviderId(h.state.activeChain)}subscribeProviders(e){return _e.subscribeProviders(e)}getThemeMode(){return pt.state.themeMode}getThemeVariables(){return pt.state.themeVariables}setThemeMode(e){pt.setThemeMode(e),ud(pt.state.themeMode)}setTermsConditionsUrl(e){S.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){S.setPrivacyPolicyUrl(e)}setThemeVariables(e){pt.setThemeVariables(e),P0(pt.state.themeVariables)}subscribeTheme(e){return pt.subscribe(e)}getWalletInfo(){return W.state.connectedWalletInfo}getAccount(e){const s=q.getAuthConnector(e),r=h.getAccountData(e),i=h.state.activeChain,n=F.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===z.CONNECTOR_ID.AUTH?{user:r.user?{...r.user,username:F.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?h.subscribeChainProp("accountState",r,s):h.subscribe(r),q.subscribe(r)}subscribeNetwork(e){return h.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){h.subscribeKey("activeCaipNetwork",e)}getState(){return ys.state}subscribeState(e){return ys.subscribe(e)}showErrorMessage(e){$t.showError(e)}showSuccessMessage(e){$t.showSuccess(e)}getEvent(){return{...Se.state}}subscribeEvents(e){return Se.subscribe(e)}replace(e){re.replace(e)}redirect(e){re.push(e)}popTransactionStack(e){re.popTransactionStack(e)}isOpen(){return je.state.open}isTransactionStackEmpty(){return re.state.transactionStack.length===0}static getInstance(){return this.instance}updateFeatures(e){S.setFeatures(e)}updateRemoteFeatures(e){S.setRemoteFeatures(e)}updateOptions(e){const r={...S.state||{},...e};S.setOptions(r)}setConnectMethodsOrder(e){S.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){S.setWalletFeaturesOrder(e)}setCollapseWallets(e){S.setCollapseWallets(e)}setSocialsOrder(e){S.setSocialsOrder(e)}getConnectMethodsOrder(){return wo.getConnectOrderMethod(S.state.features,q.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)||h.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)&&h.removeNetwork(e,s)}}let Rc=!1;class pd extends U0{async open(e){q.isConnected()||await super.open(e)}async close(){await super.close(),this.options.manualWCControl&&Y.finalizeWcConnection()}async syncIdentity(e){return Promise.resolve()}async syncBalance(e){return Promise.resolve()}async injectModalUi(){if(!Rc&&Z.isClient()){if(await Un(()=>import("./basic-C7tUDecp.js"),__vite__mapDeps([10,11,12,13,2,3,14,15,16,17,4,5,1,6,7,8,9,18,19,20])),await Un(()=>import("./w3m-modal-nzPxg0Fr.js"),__vite__mapDeps([21,11,12,15,13,2,3,14,4,5,1,6,7,8,9,18,19,20])),!document.querySelector("w3m-modal")){const s=document.createElement("w3m-modal");!S.state.disableAppend&&!S.state.enableEmbedded&&document.body.insertAdjacentElement("beforeend",s)}Rc=!0}}}const D0="1.7.8";function L0(t){return new pd({...t,basic:!0,sdkVersion:`html-core-${D0}`})}const pC=Object.freeze(Object.defineProperty({__proto__:null,AppKit:pd,createAppKit:L0},Symbol.toStringTag,{value:"Module"}));export{Os as A,h as C,Se as E,je as M,S as O,re as R,ei as S,pt as T,wo as W,Ze as a,Bc as b,hC as c,Rt as d,uC as e,S0 as f,q as g,W as h,$t as i,V as j,lC as k,Z as l,z as m,qi as n,Y as o,Ae as p,F as q,dC as r,Xe as s,be as t,pC as u,bt as w};
890
+ `,Jr={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 Ci(t){return{formatters:void 0,fees:void 0,serializers:void 0,...t}}const Oc=Ci({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"}),xc=Ci({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"});Ci({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"});Ci({id:"000000000019d6689c085ae165831e93",caipNetworkId:"bip122:000000000019d6689c085ae165831e93",chainNamespace:"bip122",name:"Bitcoin",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}});Ci({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 k0={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"]},ji={getMethodsByChainNamespace(t){return k0[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}`,d=r[o];switch(d.chains.push(l),l){case Oc.caipNetworkId:d.chains.push(Oc.deprecatedCaipNetworkId);break;case xc.caipNetworkId:d.chains.push(xc.deprecatedCaipNetworkId);break}return d?.rpcMap&&c&&(d.rpcMap[n]=c),r},{});return this.applyNamespaceOverrides(s,e)},resolveReownName:async t=>{const e=await Qr.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 hd{constructor({provider:e,namespace:s}){this.id=z.CONNECTOR_ID.WALLET_CONNECT,this.name=Ki.ConnectorNamesMap[z.CONNECTOR_ID.WALLET_CONNECT],this.type="WALLET_CONNECT",this.imageId=Ki.ConnectorImageIds[z.CONNECTOR_ID.WALLET_CONNECT],this.getCaipNetworks=h.getCaipNetworks.bind(h),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=S.state.universalProviderConfigOverride,i=ji.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 ei.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:T0})}}const T0=["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 O0{constructor(e){this.availableConnectors=[],this.eventListeners=new Map,this.getCaipNetworks=s=>h.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:z.CONNECTOR_ID.AUTH,type:"AUTH",name:z.CONNECTOR_NAMES.AUTH,provider:e,imageId:Ki.ConnectorImageIds[z.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 hd);if(!e)throw new Error("WalletConnectConnector not found");return e}}class x0 extends O0{setUniversalProvider(e){this.addConnector(new hd({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===h.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 h.state.activeCaipNetwork?.chainNamespace===z.CHAIN.SOLANA?n=(await s.request({method:"solana_signMessage",params:{message:$c.encode(new TextEncoder().encode(r)),pubkey:i}},h.state.activeCaipNetwork?.caipNetworkId)).signature:n=await s.request({method:"personal_sign",params:[r,i]},h.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===z.CHAIN.EVM)try{await r.provider?.request({method:"wallet_switchEthereumChain",params:[{chainId:Lo(s.id)}]})}catch(i){if(i.code===Jr.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||i.code===Jr.ERROR_INVALID_CHAIN_ID||i.code===Jr.ERROR_CODE_DEFAULT||i?.data?.originalError?.code===Jr.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await r.provider?.request({method:"wallet_addEthereumChain",params:[{chainId:Lo(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 R0=["email","socials","swaps","onramp","activity","reownBranding"],Ui={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}},$0={localSettingsOverridden:new Set,getApiConfig(t,e){return e?.find(s=>s.id===t)},addWarning(t,e){if(t!==void 0){const s=Ui[e],r=s.isLegacy?`"features.${s.localFeatureName}" (now "${e}")`:`"features.${e}"`;this.localSettingsOverridden.add(r)}},processFeature(t,e,s,r,i){const n=Ui[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 Ui[t].processApi(e)},processFallbackFeature(t,e){return Ui[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 R0){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.`;Os.open({shortMessage:"Local configuration ignored",longMessage:`[Reown Config Notice] ${o}`},"warning")}return n}};class U0{constructor(e){this.chainNamespaces=[],this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(s,r)=>{if(s){const i=h.getNetworkData(s)?.requestedCaipNetworks?.find(a=>a.id===r);if(i)return i;const n=h.getNetworkData(s)?.caipNetwork;return n||h.getRequestedCaipNetworks(s).filter(a=>a.chainNamespace===s)?.[0]}return h.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{const s=this.getCaipNetwork();if(s)return s.id},this.getCaipNetworks=s=>h.getCaipNetworks(s),this.getActiveChainNamespace=()=>h.state.activeChain,this.setRequestedCaipNetworks=(s,r)=>{h.setRequestedCaipNetworks(s,r)},this.getApprovedCaipNetworkIds=()=>h.getAllApprovedCaipNetworkIds(),this.getCaipAddress=s=>h.state.activeChain===s||!s?h.state.activeCaipAddress:h.getAccountProp("caipAddress",s),this.setClientId=s=>{J.setClientId(s)},this.getProvider=s=>_e.getProvider(s),this.getProviderType=s=>_e.getProviderId(s),this.getPreferredAccountType=s=>W.state.preferredAccountTypes?.[s],this.setCaipAddress=(s,r)=>{W.setCaipAddress(s,r),s&&S.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=>{h.setActiveCaipNetwork(s)},this.setCaipNetworkOfNamespace=(s,r)=>{h.setChainNetworkData(r,{caipNetwork:s})},this.setAllAccounts=(s,r)=>{W.setAllAccounts(s,r),S.setHasMultipleAddresses(s?.length>1)},this.setStatus=(s,r)=>{W.setStatus(s,r),q.isConnected()?F.setConnectionStatus("connected"):F.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=s=>h.getAccountProp("address",s),this.setConnectors=s=>{const r=[...q.state.allConnectors,...s];q.setConnectors(r)},this.setConnections=(s,r)=>{Y.setConnections(s,r)},this.fetchIdentity=s=>J.fetchIdentity(s),this.getReownName=s=>Qr.getNamesForAddress(s),this.getConnectors=()=>q.getConnectors(),this.getConnectorImage=s=>Bc.getConnectorImage(s),this.setConnectedWalletInfo=(s,r)=>{const i=_e.getProviderId(r),n=s?{...s,type:i}:void 0;W.setConnectedWalletInfo(n,r)},this.getIsConnectedState=()=>!!h.state.activeCaipAddress,this.addAddressLabel=(s,r,i)=>{W.addAddressLabel(s,r,i)},this.removeAddressLabel=(s,r)=>{W.removeAddressLabel(s,r)},this.getAddress=s=>h.state.activeChain===s||!s?W.state.address:h.getAccountProp("address",s),this.setApprovedCaipNetworksData=s=>h.setApprovedCaipNetworksData(s),this.resetNetwork=s=>{h.resetNetwork(s)},this.addConnector=s=>{q.addConnector(s)},this.resetWcConnection=()=>{Y.resetWcConnection()},this.setAddressExplorerUrl=(s,r)=>{W.setAddressExplorerUrl(s,r)},this.setSmartAccountDeployed=(s,r)=>{W.setSmartAccountDeployed(s,r)},this.setSmartAccountEnabledNetworks=(s,r)=>{h.setSmartAccountEnabledNetworks(s,r)},this.setPreferredAccountType=(s,r)=>{W.setPreferredAccountType(s,r)},this.setEIP6963Enabled=s=>{S.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 $0.fetchRemoteFeatures(e),S.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&qn.setOnrampProviders(this.remoteFeatures.onramp),(S.state.remoteFeatures?.email||Array.isArray(S.state.remoteFeatures?.socials)&&S.state.remoteFeatures?.socials.length>0)&&await this.checkAllowedOrigins()}async checkAllowedOrigins(){const e=await V.fetchAllowedOrigins();if(e&&Z.isClient()){const s=window.location.origin;ji.isOriginAllowed(s,e,Jr.DEFAULT_ALLOWED_ANCESTORS)||Os.open(lr.ALERT_ERRORS.INVALID_APP_CONFIGURATION,"error")}else Os.open(lr.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error")}sendInitializeEvent(e){const{...s}=e;delete s.adapters,delete s.universalProvider,Se.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&&pt.setThemeMode(e.themeMode),e.themeVariables&&pt.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw new Error("ConnectionControllerClient and NetworkControllerClient must be set");h.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});const s=this.getDefaultNetwork();s&&h.setActiveCaipNetwork(s)}initializeConnectionController(e){Y.setWcBasic(e.basic??!1)}initializeConnectorController(){q.initialize(this.chainNamespaces)}initializeProjectSettings(e){S.setProjectId(e.projectId),S.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){S.setDebug(e.debug!==!1),S.setEnableWalletConnect(e.enableWalletConnect!==!1),S.setEnableWalletGuide(e.enableWalletGuide!==!1),S.setEnableWallets(e.enableWallets!==!1),S.setEIP6963Enabled(e.enableEIP6963!==!1),S.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),S.setEnableAuthLogger(e.enableAuthLogger!==!1),S.setCustomRpcUrls(e.customRpcUrls),S.setEnableEmbedded(e.enableEmbedded),S.setAllWallets(e.allWallets),S.setIncludeWalletIds(e.includeWalletIds),S.setExcludeWalletIds(e.excludeWalletIds),S.setFeaturedWalletIds(e.featuredWalletIds),S.setTokens(e.tokens),S.setTermsConditionsUrl(e.termsConditionsUrl),S.setPrivacyPolicyUrl(e.privacyPolicyUrl),S.setCustomWallets(e.customWallets),S.setFeatures(e.features),S.setAllowUnsupportedChain(e.allowUnsupportedChain),S.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),S.setPreferUniversalLinks(e.experimental_preferUniversalLinks),S.setDefaultAccountTypes(e.defaultAccountTypes);const s=F.getPreferredAccountTypes()||{},r={...S.state.defaultAccountTypes,...s};W.setPreferredAccountTypes(r);const i=this.getDefaultMetaData();if(!e.metadata&&i&&(e.metadata=i),S.setMetadata(e.metadata),S.setDisableAppend(e.disableAppend),S.setEnableEmbedded(e.enableEmbedded),S.setSIWX(e.siwx),!e.projectId){Os.open(lr.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");return}if(e.adapters?.find(o=>o.namespace===z.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw new Error("Cannot set both `siweConfig` and `siwx` options");S.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=ur.getUnsupportedNetwork(`${s}:${e}`);h.setActiveCaipNetwork(r)}}getDefaultNetwork(){return ur.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,s){return ur.extendCaipNetwork(e,{customNetworkImageUrls:s.chainImages,projectId:s.projectId})}extendCaipNetworks(e){return ur.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?ur.extendCaipNetwork(s,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectNamespace(e){try{const s=this.getAdapter(e),r=_e.getProvider(e),i=_e.getProviderId(e),{caipAddress:n}=h.getAccountData(e)||{};this.setLoading(!0,e),n&&s?.disconnect&&await s.disconnect({provider:r,providerType:i}),F.removeConnectedNamespace(e),_e.resetChain(e),this.setUser(void 0,e),this.setStatus("disconnected",e),this.setConnectedWalletInfo(void 0,e),q.removeConnectorId(e),h.resetAccount(e),h.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=h.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),F.setConnectedNamespaces([...h.state.chains.keys()]),this.chainNamespaces.forEach(n=>{q.setConnectorId(hs.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=h.state.activeChain,l=n||c,d=this.getAdapter(l);if(n&&n!==c&&!o){const w=this.getCaipNetworks().find(g=>g.chainNamespace===n);w&&this.setCaipNetwork(w)}if(!d)throw new Error("Adapter not found");const u=this.getCaipNetwork(l),p=await d.connect({id:e,info:s,type:r,provider:i,socialUri:a,chainId:o?.id||u?.id,rpcUrl:o?.rpcUrls?.default?.http?.[0]||u?.rpcUrls?.default?.http?.[0]});if(!p)return;F.addConnectedNamespace(l),this.syncProvider({...p,chainNamespace:l});const f=W.state.allAccounts,{accounts:m}=f?.length>0?{accounts:[...f]}:await d.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=h.state.activeChain,o=this.getAdapter(n);o?.reconnect&&(await o?.reconnect({id:e,info:s,type:r,provider:i,chainId:this.getCaipNetwork()?.id}),F.addConnectedNamespace(n),this.syncConnectedWalletInfo(n))},disconnect:async e=>{const s=I0(e);try{const r=await Promise.allSettled(s.map(async([n])=>this.disconnectNamespace(n)));ue.resetSend(),Y.resetWcConnection(),await ei.clearSessions(),q.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(", "));F.deleteConnectedSocialProvider(),Se.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(h.state.activeChain)?.signMessage({message:e,address:W.state.address,provider:_e.getProvider(h.state.activeChain)}))?.signature||"",sendTransaction:async e=>{const s=e.chainNamespace;if(be.SEND_SUPPORTED_NAMESPACES.includes(s)){const r=this.getAdapter(h.state.activeChain),i=_e.getProvider(s);return(await r?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:i}))?.hash||""}return""},estimateGas:async e=>{if(e.chainNamespace===z.CHAIN.EVM){const s=this.getAdapter(h.state.activeChain),r=_e.getProvider(h.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:h.state.activeChain}),W.state.profileImage||!1),getEnsAddress:async e=>await ji.resolveReownName(e),writeContract:async e=>{const s=this.getAdapter(h.state.activeChain),r=this.getCaipNetwork(),i=this.getCaipAddress(),n=_e.getProvider(h.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(h.state.activeChain)?.parseUnits({value:e,decimals:s})??0n,formatUnits:(e,s)=>this.getAdapter(h.state.activeChain)?.formatUnits({value:e,decimals:s})??"0",getCapabilities:async e=>await this.getAdapter(h.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(h.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{const s=this.getAdapter(h.state.activeChain);return s?.revokePermissions?await s.revokePermissions(e):"0x"},walletGetAssets:async e=>await this.getAdapter(h.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()},Y.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(_e.getProviderId(h.state.activeChain)===hs.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=_e.getProvider(s),n=_e.getProviderId(s);if(e.chainNamespace===h.state.activeChain)await this.getAdapter(s)?.switchNetwork({caipNetwork:e,provider:i,providerType:n});else if(this.setCaipNetwork(e),n===hs.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}=as.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 x0({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=F.getConnectionStatus();r==="connected"?this.setStatus("connecting",e):r==="disconnected"?(F.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=h.state.activeChain===e,c=h.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=h.state.activeCaipNetwork;!i||!n?.id||this.updateNativeBalance(i,n.id,n.chainNamespace)}),s.on("accountChanged",({address:i,chainId:n})=>{const o=h.state.activeChain===e;o&&n?this.syncAccount({address:i,chainId:n,chainNamespace:e}):o&&h.state.activeCaipNetwork?.id?this.syncAccount({address:i,chainId:h.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===z.CHAIN.EVM&&Z.isSafeApp()&&q.setConnectorId(z.CONNECTOR_ID.SAFE,e);const s=q.getConnectorId(e);switch(this.setStatus("connecting",e),s){case z.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case z.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=q.getConnectorId(e),i=this.getCaipNetwork(e),o=q.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=h.state.activeCaipNetwork?.id,o=i.find(a=>{const{chainId:c}=as.parseCaipAddress(a);return c===n?.toString()})||i[0];if(o){const a=as.validateCaipAddress(o),{chainId:c,address:l}=as.parseCaipAddress(a);if(_e.setProviderId(s,hs.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&h.state.activeCaipNetwork&&r?.namespace!==z.CHAIN.EVM){const d=r?.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:h.state.activeCaipNetwork});_e.setProvider(s,d)}else _e.setProvider(s,this.universalProvider);q.setConnectorId(z.CONNECTOR_ID.WALLET_CONNECT,s),F.addConnectedNamespace(s),this.syncWalletConnectAccounts(s),await this.syncAccount({address:l,chainId:c,chainNamespace:s})}else this.setStatus("disconnected",s);this.syncConnectedWalletInfo(s),await h.setApprovedCaipNetworksData(s)});await Promise.all(e)}syncWalletConnectAccounts(e){const s=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(r=>{const{address:i}=as.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}){_e.setProviderId(i,e),_e.setProvider(i,s),q.setConnectorId(r,i)}async syncAllAccounts(e){const s=q.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===h.state.activeChain,r=h.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:i,chainId:n,chainNamespace:o}=e,{chainId:a}=F.getActiveNetworkProps(),c=n||a,l=h.state.activeCaipNetwork?.name===z.UNSUPPORTED_NETWORK_NAME,d=h.getNetworkProp("supportsAllNetworks",o);if(this.setStatus("connected",o),!(l&&!d)&&c){let u=this.getCaipNetworks().find(m=>m.id.toString()===c.toString()),p=this.getCaipNetworks().find(m=>m.chainNamespace===o);if(!d&&!u&&!p){const m=this.getApprovedCaipNetworkIds()||[],w=m.find(y=>as.parseCaipNetworkId(y)?.chainId===c.toString()),g=m.find(y=>as.parseCaipNetworkId(y)?.chainNamespace===o);u=this.getCaipNetworks().find(y=>y.caipNetworkId===w),p=this.getCaipNetworks().find(y=>y.caipNetworkId===g||"deprecatedCaipNetworkId"in y&&y.deprecatedCaipNetworkId===g)}const f=u||p;f?.chainNamespace===h.state.activeChain?S.state.enableNetworkSwitch&&!S.state.allowUnsupportedChain&&h.state.activeCaipNetwork?.name===z.UNSUPPORTED_NETWORK_NAME?h.showUnsupportedChainUI():this.setCaipNetwork(f):s||r&&this.setCaipNetworkOfNamespace(r,o),this.syncConnectedWalletInfo(o),$o.isLowerCaseMatch(i,W.state.address)||this.syncAccountInfo(i,f?.id,o),s?await this.syncBalance({address:i,chainId:f?.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=q.getConnectorId(e),r=_e.getProviderId(e);if(r===hs.CONNECTOR_TYPE_ANNOUNCED||r===hs.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===hs.CONNECTOR_TYPE_WALLET_CONNECT){const i=_e.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===z.CONNECTOR_ID.COINBASE){const i=this.getConnectors().find(n=>n.id===z.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:"Coinbase Wallet",icon:this.getConnectorImage(i)},e)}}async syncBalance(e){!Lc.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=h.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=A0.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};S.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await Ro.init(s),this.listenWalletConnect()}listenWalletConnect(){this.universalProvider&&(this.universalProvider.on("display_uri",e=>{Y.setUri(e)}),this.universalProvider.on("connect",Y.finalizeWcConnection),this.universalProvider.on("disconnect",()=>{this.chainNamespaces.forEach(e=>{this.resetAccount(e)}),Y.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(ji.isSessionEventData(e)){const{name:s,data:r}=e.params.event;s==="accountsChanged"&&Array.isArray(r)&&Z.isCaipAddress(r[0])&&this.syncAccount(as.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){Se.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(lr.UniversalProviderErrors).find(([,{message:a}])=>e.message.includes(a)),[r,i]=s??[],{message:n,alertErrorKey:o}=i??{};if(r&&n&&!this.reportedAlertErrors[r]){const a=lr.ALERT_ERRORS[o];a&&(Os.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){return await this.injectModalUi(),e?.uri&&Y.setUri(e.uri),e?.arguments&&e?.view==="Swap"?je.open({...e,data:{swap:e.arguments}}):je.open(e)}async close(){await this.injectModalUi(),je.close()}setLoading(e,s){je.setLoading(e,s)}async disconnect(e){await Y.disconnect(e)}getSIWX(){return S.state.siwx}getError(){return""}getChainId(){return h.state.activeCaipNetwork?.id}async switchNetwork(e){const s=this.getCaipNetworks().find(r=>r.id===e.id);if(!s){Os.open(lr.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error");return}await h.switchActiveNetwork(s)}getWalletProvider(){return h.state.activeChain?_e.state.providers[h.state.activeChain]:null}getWalletProviderType(){return _e.getProviderId(h.state.activeChain)}subscribeProviders(e){return _e.subscribeProviders(e)}getThemeMode(){return pt.state.themeMode}getThemeVariables(){return pt.state.themeVariables}setThemeMode(e){pt.setThemeMode(e),ud(pt.state.themeMode)}setTermsConditionsUrl(e){S.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){S.setPrivacyPolicyUrl(e)}setThemeVariables(e){pt.setThemeVariables(e),P0(pt.state.themeVariables)}subscribeTheme(e){return pt.subscribe(e)}getWalletInfo(){return W.state.connectedWalletInfo}getAccount(e){const s=q.getAuthConnector(e),r=h.getAccountData(e),i=h.state.activeChain,n=F.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===z.CONNECTOR_ID.AUTH?{user:r.user?{...r.user,username:F.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?h.subscribeChainProp("accountState",r,s):h.subscribe(r),q.subscribe(r)}subscribeNetwork(e){return h.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){h.subscribeKey("activeCaipNetwork",e)}getState(){return ys.state}subscribeState(e){return ys.subscribe(e)}showErrorMessage(e){$t.showError(e)}showSuccessMessage(e){$t.showSuccess(e)}getEvent(){return{...Se.state}}subscribeEvents(e){return Se.subscribe(e)}replace(e){re.replace(e)}redirect(e){re.push(e)}popTransactionStack(e){re.popTransactionStack(e)}isOpen(){return je.state.open}isTransactionStackEmpty(){return re.state.transactionStack.length===0}static getInstance(){return this.instance}updateFeatures(e){S.setFeatures(e)}updateRemoteFeatures(e){S.setRemoteFeatures(e)}updateOptions(e){const r={...S.state||{},...e};S.setOptions(r)}setConnectMethodsOrder(e){S.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){S.setWalletFeaturesOrder(e)}setCollapseWallets(e){S.setCollapseWallets(e)}setSocialsOrder(e){S.setSocialsOrder(e)}getConnectMethodsOrder(){return wo.getConnectOrderMethod(S.state.features,q.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)||h.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)&&h.removeNetwork(e,s)}}let Rc=!1;class pd extends U0{async open(e){q.isConnected()||await super.open(e)}async close(){await super.close(),this.options.manualWCControl&&Y.finalizeWcConnection()}async syncIdentity(e){return Promise.resolve()}async syncBalance(e){return Promise.resolve()}async injectModalUi(){if(!Rc&&Z.isClient()){if(await Un(()=>import("./basic-CDUVa7W3.js"),__vite__mapDeps([10,11,12,13,2,3,14,15,16,17,4,5,1,6,7,8,9,18,19,20])),await Un(()=>import("./w3m-modal-B1spewtI.js"),__vite__mapDeps([21,11,12,15,13,2,3,14,4,5,1,6,7,8,9,18,19,20])),!document.querySelector("w3m-modal")){const s=document.createElement("w3m-modal");!S.state.disableAppend&&!S.state.enableEmbedded&&document.body.insertAdjacentElement("beforeend",s)}Rc=!0}}}const D0="1.7.8";function L0(t){return new pd({...t,basic:!0,sdkVersion:`html-core-${D0}`})}const pC=Object.freeze(Object.defineProperty({__proto__:null,AppKit:pd,createAppKit:L0},Symbol.toStringTag,{value:"Module"}));export{Os as A,h as C,Se as E,je as M,S as O,re as R,ei as S,pt as T,wo as W,Ze as a,Bc as b,hC as c,Rt as d,uC as e,S0 as f,q as g,W as h,$t as i,V as j,lC as k,Z as l,z as m,qi as n,Y as o,Ae as p,F as q,dC as r,Xe as s,be as t,pC as u,bt as w};