@dcl/explore-site 0.0.1-24138829632.commit-0946e16

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 (158) hide show
  1. package/assets/HomePage-CbNrtXMa.js +3 -0
  2. package/assets/QueryClientProvider-DUSjZ_J_.js +2 -0
  3. package/assets/RoobertPRO-Bold-DDyOqNrI.woff2 +0 -0
  4. package/assets/RoobertPRO-Bold-zQ2qeH97.ttf +0 -0
  5. package/assets/SensorsRounded-Ci-z6t1A.js +15 -0
  6. package/assets/___vite-browser-external_commonjs-proxy-BqV5D26a.js +1 -0
  7. package/assets/__federation_expose_App-BckrSixU.js +1 -0
  8. package/assets/__federation_fn_import-WDa0gv1I.js +1 -0
  9. package/assets/__federation_shared_@dcl/hooks-BmGk-LAU.js +535 -0
  10. package/assets/__federation_shared_@dcl/schemas-FcJQcJ28.js +1 -0
  11. package/assets/__federation_shared_@emotion/react-oi_M7gMJ.js +1 -0
  12. package/assets/__federation_shared_@emotion/styled-YrTPT9q1.js +1 -0
  13. package/assets/__federation_shared_@reduxjs/toolkit-R1Ell7gI.js +1 -0
  14. package/assets/__federation_shared_decentraland-ui2-D5N7yacO.js +357 -0
  15. package/assets/__federation_shared_react-B3tlNTLg.js +1 -0
  16. package/assets/__federation_shared_react-dom-Dsn5WX9N.js +1 -0
  17. package/assets/__federation_shared_react-redux-DMak3BVq.js +13 -0
  18. package/assets/__federation_shared_react-router-dom-CSW28ZSI.js +49 -0
  19. package/assets/__federation_shared_viem-DsDw7lUr.js +2 -0
  20. package/assets/__federation_shared_wagmi-h3zhLZbR.js +17 -0
  21. package/assets/__vite-optional-peer-dep_lottie-react_decentraland-ui2-BIHI7g3E.js +1 -0
  22. package/assets/_commonjsHelpers-C4iS2aBk.js +1 -0
  23. package/assets/add-Ccyt7YRh.js +15 -0
  24. package/assets/all-wallets-BIOtzF11.js +6 -0
  25. package/assets/app-store-BqACXnTM.js +17 -0
  26. package/assets/apple-zIEkvR7h.js +18 -0
  27. package/assets/arrow-bottom-CxQ54WH1.js +8 -0
  28. package/assets/arrow-bottom-circle-BjCA11Rn.js +11 -0
  29. package/assets/arrow-left-CsFQBdFD.js +8 -0
  30. package/assets/arrow-right-jT5LSgqq.js +8 -0
  31. package/assets/arrow-top-CA_1oaHw.js +8 -0
  32. package/assets/auto-track-UOggKKzv.js +1 -0
  33. package/assets/bank-81NjtLlm.js +14 -0
  34. package/assets/basic-CvR9b359.js +2128 -0
  35. package/assets/brotli_wasm_bg-NfWIZley.wasm +0 -0
  36. package/assets/browser-BjIqaPVu.js +14 -0
  37. package/assets/card-BJomEEgV.js +14 -0
  38. package/assets/ccip-DotuofV0.js +1 -0
  39. package/assets/checkmark-Cz0VZAkr.js +11 -0
  40. package/assets/checkmark-bold-blkVLUov.js +8 -0
  41. package/assets/chevron-bottom-ClawczSo.js +8 -0
  42. package/assets/chevron-left-DfJ9r4mv.js +8 -0
  43. package/assets/chevron-right-CrxmyW0K.js +8 -0
  44. package/assets/chevron-top-BVIfb-H3.js +8 -0
  45. package/assets/chrome-store-Cb5xVI0B.js +61 -0
  46. package/assets/clock-Bx-Kyhh-.js +8 -0
  47. package/assets/close-DOjpWTZi.js +8 -0
  48. package/assets/coinPlaceholder-BqONZM6Q.js +8 -0
  49. package/assets/compass-ByyIpxD6.js +8 -0
  50. package/assets/copy-BOu2-Xgv.js +15 -0
  51. package/assets/core-BGxUaCGc.js +907 -0
  52. package/assets/create-submenu-Bu20F8-Z.webp +0 -0
  53. package/assets/createClient-CSnZgvsb.js +1 -0
  54. package/assets/cursor-BqYz2L6D.js +3 -0
  55. package/assets/cursor-transparent-CWCRGDtx.js +12 -0
  56. package/assets/custom-welcome-background-BxlFQma9.webp +0 -0
  57. package/assets/defineChain-7I0Ce1VT.js +1 -0
  58. package/assets/desktop-Cd_vx0kT.js +9 -0
  59. package/assets/disconnect-D5AICJhj.js +8 -0
  60. package/assets/discord-26Vqbq7c.js +17 -0
  61. package/assets/emotion-react.browser.esm-5OnyV0Sh.js +8 -0
  62. package/assets/emotion-use-insertion-effect-with-fallbacks.browser.esm-B75LdcJS.js +1 -0
  63. package/assets/etherscan--DKVcYrP.js +6 -0
  64. package/assets/exclamation-triangle-DOsYf3fQ.js +4 -0
  65. package/assets/explore-submenu-BFVuYMi9.webp +0 -0
  66. package/assets/extension-DEaO3Zvk.js +8 -0
  67. package/assets/external-link-DcpG6wpM.js +8 -0
  68. package/assets/facebook-ByV0OclL.js +26 -0
  69. package/assets/farcaster-DI6fsEyh.js +12 -0
  70. package/assets/filters-Djn1aDVs.js +8 -0
  71. package/assets/github-B3p0LLP5.js +18 -0
  72. package/assets/google-ae7qga4R.js +18 -0
  73. package/assets/governance-submenu-VTIKvCIL.webp +0 -0
  74. package/assets/help-circle-BmzUA_Be.js +12 -0
  75. package/assets/hooks.module-Dz_XB4AG.js +1 -0
  76. package/assets/id-2hYEZqNH.js +12 -0
  77. package/assets/image-mDqi4ffo.js +4 -0
  78. package/assets/index-9zCVakoE.js +1 -0
  79. package/assets/index-BKLT1eit.js +2 -0
  80. package/assets/index-Biwg5bHN.js +1 -0
  81. package/assets/index-BzXoRVC1.js +1 -0
  82. package/assets/index-C05H8NDX.js +1 -0
  83. package/assets/index-CGCGB-at.js +1 -0
  84. package/assets/index-CNMKbeE1.js +5 -0
  85. package/assets/index-CVdhIPEJ.js +1 -0
  86. package/assets/index-CdOcIHYV.js +395 -0
  87. package/assets/index-CdrMQoR6.js +1 -0
  88. package/assets/index-Ctl4brHr.js +2 -0
  89. package/assets/index-D6O4pjzC.js +12 -0
  90. package/assets/index-D6ZMQedT.js +1 -0
  91. package/assets/index-DGVKdsht.js +1 -0
  92. package/assets/index-D_fJMF1A.js +1 -0
  93. package/assets/index-Dy0yjznp.js +1 -0
  94. package/assets/index-Dy0yjznp__bundled.js +9 -0
  95. package/assets/index-JFBsW0Hp.js +1 -0
  96. package/assets/index-OQ3TYt4p.js +7 -0
  97. package/assets/index-VfkM29PH.js +1 -0
  98. package/assets/index-VfkM29PH__bundled.js +24 -0
  99. package/assets/index-nibyPLVP.js +1 -0
  100. package/assets/index-pEp_vRda.js +8 -0
  101. package/assets/index.es-D_4_VpXc.js +38 -0
  102. package/assets/index.umd-6zndRFhB.js +1 -0
  103. package/assets/info-Bhf5PLdi.js +3 -0
  104. package/assets/info-circle-CZ5iih32.js +12 -0
  105. package/assets/inherits_browser-BlmhoU4v.js +1 -0
  106. package/assets/is-plan-event-enabled-DeNtQvA5.js +1 -0
  107. package/assets/jsx-runtime-B1l0k91v.js +1 -0
  108. package/assets/jsx-runtime-B1l0k91v__bundled.js +9 -0
  109. package/assets/learn-submenu-sfxVP5Db.webp +0 -0
  110. package/assets/lightbulb-CA3e26a0.js +3 -0
  111. package/assets/localBatchGatewayRequest-vExM5jac.js +1 -0
  112. package/assets/logo-pattern-D4X-bvlg.webp +0 -0
  113. package/assets/mail-BktjMbEk.js +8 -0
  114. package/assets/man-default1-BEO13leF.png +0 -0
  115. package/assets/marketplace-submenu-CixWTv8_.webp +0 -0
  116. package/assets/mobile-zfEM0JzU.js +9 -0
  117. package/assets/more-Dg45xuT9.js +11 -0
  118. package/assets/native-CJ5et6AR.js +1 -0
  119. package/assets/network-placeholder-duQhExzj.js +14 -0
  120. package/assets/nftPlaceholder-C3kMYu-p.js +8 -0
  121. package/assets/off-Cz636L92.js +8 -0
  122. package/assets/play-store-Cch0eiCp.js +32 -0
  123. package/assets/plus-orAhHwVf.js +13 -0
  124. package/assets/preload-helper-BrYcp76J.js +1 -0
  125. package/assets/qr-code-7plug-hj.js +6 -0
  126. package/assets/recycle-horizontal-B6ivY9Sz.js +9 -0
  127. package/assets/refresh-CqfvjhXq.js +8 -0
  128. package/assets/remoteEntry.js +1 -0
  129. package/assets/reown-logo-DGoAljI9.js +12 -0
  130. package/assets/reselect-BfUrOuXx.js +1 -0
  131. package/assets/rich-text-react-renderer_decentraland-ui2-BIHI7g3E.js +1 -0
  132. package/assets/search-nNK2K8mD.js +8 -0
  133. package/assets/secp256k1-D6s48BOl.js +1 -0
  134. package/assets/send-BPz2SBvc.js +15 -0
  135. package/assets/swapHorizontal-TvVHlgjl.js +8 -0
  136. package/assets/swapHorizontalBold-BTw_LG1-.js +8 -0
  137. package/assets/swapHorizontalMedium-C3jJnFs_.js +16 -0
  138. package/assets/swapHorizontalRoundedBold-nTFwdVeT.js +8 -0
  139. package/assets/swapVertical-CHKvPR_7.js +8 -0
  140. package/assets/telegram-C552IoSr.js +16 -0
  141. package/assets/three-dots-Nyfa4nYF.js +5 -0
  142. package/assets/top_background-Bnd2vX_F.webp +0 -0
  143. package/assets/tslib.es6-DbvBTznf.js +1 -0
  144. package/assets/twitch-7SJKGXSa.js +18 -0
  145. package/assets/twitterIcon-BBg9ypIU.js +6 -0
  146. package/assets/uid-CX4a_w4r.js +44 -0
  147. package/assets/verify-BwQ9FKM1.js +8 -0
  148. package/assets/verify-filled-BAdDAZxZ.js +8 -0
  149. package/assets/w3m-modal-BqXXR9rX.js +642 -0
  150. package/assets/wallet-DJsa1d3M.js +8 -0
  151. package/assets/wallet-placeholder-DPIkQ5vM.js +14 -0
  152. package/assets/walletconnect-osdnzzVU.js +30 -0
  153. package/assets/warning-circle-BQ9uHGTL.js +12 -0
  154. package/assets/webSocket-CIn5Ftst.js +3 -0
  155. package/assets/x-5oycQ-0v.js +12 -0
  156. package/dcl-logo.svg +1 -0
  157. package/index.html +41 -0
  158. package/package.json +21 -0
@@ -0,0 +1,907 @@
1
+ const __vite__fileDeps=["assets/basic-CvR9b359.js","assets/index-CdOcIHYV.js","assets/preload-helper-BrYcp76J.js","assets/w3m-modal-BqXXR9rX.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);
2
+ import{_ as Na}from"./preload-helper-BrYcp76J.js";import{a as Kh}from"./_commonjsHelpers-C4iS2aBk.js";import{d as Wi,s as ta,a as wn,I as Hr,b as _a,g as Gh,c as U,e as xr,f as Hl,C as Jh,h as Yh,i as Xh,j as Eo,E as ot,y as Nt,k as Ti,A as zl,l as Zh,B as sa,o as xt,m as Qh,n as ra,p as ia,q as Sn,r as zr,t as Fs,P as Aa,Q as ed,u as td,v as Nr,w as Vl,x as ns,z as Gt,D as hs,F as Ft}from"./index.es-D_4_VpXc.js";import{c as sd,g as Sa,s as rd,d as id,k as nd,a as od}from"./index-nibyPLVP.js";import{importShared as Pn}from"./__federation_fn_import-WDa0gv1I.js";var Pa={};const j={WC_NAME_SUFFIX:".reown.id",WC_NAME_SUFFIX_LEGACY:".wcn.id",BLOCKCHAIN_API_RPC_URL:"https://rpc.walletconnect.org",PULSE_API_URL:"https://pulse.walletconnect.org",W3M_API_URL:"https://api.web3modal.org",CONNECTOR_ID:{WALLET_CONNECT:"walletConnect",INJECTED:"injected",WALLET_STANDARD:"announced",COINBASE:"coinbaseWallet",COINBASE_SDK:"coinbaseWalletSDK",SAFE:"safe",LEDGER:"ledger",OKX:"okx",EIP6963:"eip6963",AUTH:"ID_AUTH"},CONNECTOR_NAMES:{AUTH:"Auth"},AUTH_CONNECTOR_SUPPORTED_CHAINS:["eip155","solana"],LIMITS:{PENDING_TRANSACTIONS:99},CHAIN:{EVM:"eip155",SOLANA:"solana",POLKADOT:"polkadot",BITCOIN:"bip122"},CHAIN_NAME_MAP:{eip155:"EVM Networks",solana:"Solana",polkadot:"Polkadot",bip122:"Bitcoin",cosmos:"Cosmos"},ADAPTER_TYPES:{BITCOIN:"bitcoin",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5"},USDT_CONTRACT_ADDRESSES:["0xdac17f958d2ee523a2206206994597c13d831ec7","0xc2132d05d31c914a87c6611c10748aeb04b58e8f","0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7","0x919C1c267BC06a7039e03fcc2eF738525769109c","0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e","0x55d398326f99059fF775485246999027B3197955","0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9"],HTTP_STATUS_CODES:{SERVICE_UNAVAILABLE:503,FORBIDDEN:403},UNSUPPORTED_NETWORK_NAME:"Unknown Network",SECURE_SITE_SDK_ORIGIN:(typeof process<"u"&&typeof Pa<"u"?Pa.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org"},Kl={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 j.CHAIN_NAME_MAP?.[r]||void 0}};var ad=20,cd=1,Vs=1e6,Oa=1e6,ld=-7,ud=21,hd=!1,ki="[big.js] ",Zs=ki+"Invalid ",On=Zs+"decimal places",dd=Zs+"rounding mode",Gl=ki+"Division by zero",ge={},Xt=void 0,pd=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function Jl(){function t(e){var s=this;if(!(s instanceof t))return e===Xt?Jl():new t(e);if(e instanceof t)s.s=e.s,s.e=e.e,s.c=e.c.slice();else{if(typeof e!="string"){if(t.strict===!0&&typeof e!="bigint")throw TypeError(Zs+"value");e=e===0&&1/e<0?"-0":String(e)}fd(s,e)}s.constructor=t}return t.prototype=ge,t.DP=ad,t.RM=cd,t.NE=ld,t.PE=ud,t.strict=hd,t.roundDown=0,t.roundHalfUp=1,t.roundHalfEven=2,t.roundUp=3,t}function fd(t,e){var s,r,i;if(!pd.test(e))throw Error(Zs+"number");for(t.s=e.charAt(0)=="-"?(e=e.slice(1),-1):1,(s=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(s<0&&(s=r),s+=+e.slice(r+1),e=e.substring(0,r)):s<0&&(s=e.length),i=e.length,r=0;r<i&&e.charAt(r)=="0";)++r;if(r==i)t.c=[t.e=0];else{for(;i>0&&e.charAt(--i)=="0";);for(t.e=s-r-1,t.c=[],s=0;r<=i;)t.c[s++]=+e.charAt(r++)}return t}function Qs(t,e,s,r){var i=t.c;if(s===Xt&&(s=t.constructor.RM),s!==0&&s!==1&&s!==2&&s!==3)throw Error(dd);if(e<1)r=s===3&&(r||!!i[0])||e===0&&(s===1&&i[0]>=5||s===2&&(i[0]>5||i[0]===5&&(r||i[1]!==Xt))),i.length=1,r?(t.e=t.e-e+1,i[0]=1):i[0]=t.e=0;else if(e<i.length){if(r=s===1&&i[e]>=5||s===2&&(i[e]>5||i[e]===5&&(r||i[e+1]!==Xt||i[e-1]&1))||s===3&&(r||!!i[0]),i.length=e,r){for(;++i[--e]>9;)if(i[e]=0,e===0){++t.e,i.unshift(1);break}}for(e=i.length;!i[--e];)i.pop()}return t}function er(t,e,s){var r=t.e,i=t.c.join(""),n=i.length;if(e)i=i.charAt(0)+(n>1?"."+i.slice(1):"")+(r<0?"e":"e+")+r;else if(r<0){for(;++r;)i="0"+i;i="0."+i}else if(r>0)if(++r>n)for(r-=n;r--;)i+="0";else r<n&&(i=i.slice(0,r)+"."+i.slice(r));else n>1&&(i=i.charAt(0)+"."+i.slice(1));return t.s<0&&s?"-"+i:i}ge.abs=function(){var t=new this.constructor(this);return t.s=1,t};ge.cmp=function(t){var e,s=this,r=s.c,i=(t=new s.constructor(t)).c,n=s.s,o=t.s,a=s.e,c=t.e;if(!r[0]||!i[0])return r[0]?n:i[0]?-o:0;if(n!=o)return n;if(e=n<0,a!=c)return a>c^e?1:-1;for(o=(a=r.length)<(c=i.length)?a:c,n=-1;++n<o;)if(r[n]!=i[n])return r[n]>i[n]^e?1:-1;return a==c?0:a>c^e?1:-1};ge.div=function(t){var e=this,s=e.constructor,r=e.c,i=(t=new s(t)).c,n=e.s==t.s?1:-1,o=s.DP;if(o!==~~o||o<0||o>Vs)throw Error(On);if(!i[0])throw Error(Gl);if(!r[0])return t.s=n,t.c=[t.e=0],t;var a,c,l,u,h,d=i.slice(),f=a=i.length,m=r.length,w=r.slice(0,a),g=w.length,y=t,b=y.c=[],E=0,N=o+(y.e=e.e-t.e)+1;for(y.s=n,n=N<0?0:N,d.unshift(0);g++<a;)w.push(0);do{for(l=0;l<10;l++){if(a!=(g=w.length))u=a>g?1:-1;else for(h=-1,u=0;++h<a;)if(i[h]!=w[h]){u=i[h]>w[h]?1:-1;break}if(u<0){for(c=g==a?i:d;g;){if(w[--g]<c[g]){for(h=g;h&&!w[--h];)w[h]=9;--w[h],w[g]+=10}w[g]-=c[g]}for(;!w[0];)w.shift()}else break}b[E++]=u?l:++l,w[0]&&u?w[g]=r[f]||0:w=[r[f]]}while((f++<m||w[0]!==Xt)&&n--);return!b[0]&&E!=1&&(b.shift(),y.e--,N--),E>N&&Qs(y,N,s.RM,w[0]!==Xt),y};ge.eq=function(t){return this.cmp(t)===0};ge.gt=function(t){return this.cmp(t)>0};ge.gte=function(t){return this.cmp(t)>-1};ge.lt=function(t){return this.cmp(t)<0};ge.lte=function(t){return this.cmp(t)<1};ge.minus=ge.sub=function(t){var e,s,r,i,n=this,o=n.constructor,a=n.s,c=(t=new o(t)).s;if(a!=c)return t.s=-c,n.plus(t);var l=n.c.slice(),u=n.e,h=t.c,d=t.e;if(!l[0]||!h[0])return h[0]?t.s=-c:l[0]?t=new o(n):t.s=1,t;if(a=u-d){for((i=a<0)?(a=-a,r=l):(d=u,r=h),r.reverse(),c=a;c--;)r.push(0);r.reverse()}else for(s=((i=l.length<h.length)?l:h).length,a=c=0;c<s;c++)if(l[c]!=h[c]){i=l[c]<h[c];break}if(i&&(r=l,l=h,h=r,t.s=-t.s),(c=(s=h.length)-(e=l.length))>0)for(;c--;)l[e++]=0;for(c=e;s>a;){if(l[--s]<h[s]){for(e=s;e&&!l[--e];)l[e]=9;--l[e],l[s]+=10}l[s]-=h[s]}for(;l[--c]===0;)l.pop();for(;l[0]===0;)l.shift(),--d;return l[0]||(t.s=1,l=[d=0]),t.c=l,t.e=d,t};ge.mod=function(t){var e,s=this,r=s.constructor,i=s.s,n=(t=new r(t)).s;if(!t.c[0])throw Error(Gl);return s.s=t.s=1,e=t.cmp(s)==1,s.s=i,t.s=n,e?new r(s):(i=r.DP,n=r.RM,r.DP=r.RM=0,s=s.div(t),r.DP=i,r.RM=n,this.minus(s.times(t)))};ge.neg=function(){var t=new this.constructor(this);return t.s=-t.s,t};ge.plus=ge.add=function(t){var e,s,r,i=this,n=i.constructor;if(t=new n(t),i.s!=t.s)return t.s=-t.s,i.minus(t);var o=i.e,a=i.c,c=t.e,l=t.c;if(!a[0]||!l[0])return l[0]||(a[0]?t=new n(i):t.s=i.s),t;if(a=a.slice(),e=o-c){for(e>0?(c=o,r=l):(e=-e,r=a),r.reverse();e--;)r.push(0);r.reverse()}for(a.length-l.length<0&&(r=l,l=a,a=r),e=l.length,s=0;e;a[e]%=10)s=(a[--e]=a[e]+l[e]+s)/10|0;for(s&&(a.unshift(s),++c),e=a.length;a[--e]===0;)a.pop();return t.c=a,t.e=c,t};ge.pow=function(t){var e=this,s=new e.constructor("1"),r=s,i=t<0;if(t!==~~t||t<-Oa||t>Oa)throw Error(Zs+"exponent");for(i&&(t=-t);t&1&&(r=r.times(e)),t>>=1,!!t;)e=e.times(e);return i?s.div(r):r};ge.prec=function(t,e){if(t!==~~t||t<1||t>Vs)throw Error(Zs+"precision");return Qs(new this.constructor(this),t,e)};ge.round=function(t,e){if(t===Xt)t=0;else if(t!==~~t||t<-Vs||t>Vs)throw Error(On);return Qs(new this.constructor(this),t+this.e+1,e)};ge.sqrt=function(){var t,e,s,r=this,i=r.constructor,n=r.s,o=r.e,a=new i("0.5");if(!r.c[0])return new i(r);if(n<0)throw Error(ki+"No square root");n=Math.sqrt(+er(r,!0,!0)),n===0||n===1/0?(e=r.c.join(""),e.length+o&1||(e+="0"),n=Math.sqrt(e),o=((o+1)/2|0)-(o<0||o&1),t=new i((n==1/0?"5e":(n=n.toExponential()).slice(0,n.indexOf("e")+1))+o)):t=new i(n+""),o=t.e+(i.DP+=4);do s=t,t=a.times(s.plus(r.div(s)));while(s.c.slice(0,o).join("")!==t.c.slice(0,o).join(""));return Qs(t,(i.DP-=4)+t.e+1,i.RM)};ge.times=ge.mul=function(t){var e,s=this,r=s.constructor,i=s.c,n=(t=new r(t)).c,o=i.length,a=n.length,c=s.e,l=t.e;if(t.s=s.s==t.s?1:-1,!i[0]||!n[0])return t.c=[t.e=0],t;for(t.e=c+l,o<a&&(e=i,i=n,n=e,l=o,o=a,a=l),e=new Array(l=o+a);l--;)e[l]=0;for(c=a;c--;){for(a=0,l=o+c;l>c;)a=e[l]+n[c]*i[l-c-1]+a,e[l--]=a%10,a=a/10|0;e[l]=a}for(a?++t.e:e.shift(),c=e.length;!e[--c];)e.pop();return t.c=e,t};ge.toExponential=function(t,e){var s=this,r=s.c[0];if(t!==Xt){if(t!==~~t||t<0||t>Vs)throw Error(On);for(s=Qs(new s.constructor(s),++t,e);s.c.length<t;)s.c.push(0)}return er(s,!0,!!r)};ge.toFixed=function(t,e){var s=this,r=s.c[0];if(t!==Xt){if(t!==~~t||t<0||t>Vs)throw Error(On);for(s=Qs(new s.constructor(s),t+s.e+1,e),t=t+s.e+1;s.c.length<t;)s.c.push(0)}return er(s,!1,!!r)};ge[Symbol.for("nodejs.util.inspect.custom")]=ge.toJSON=ge.toString=function(){var t=this,e=t.constructor;return er(t,t.e<=e.NE||t.e>=e.PE,!!t.c[0])};ge.toNumber=function(){var t=+er(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(t.toString()))throw Error(ki+"Imprecise conversion");return t};ge.toPrecision=function(t,e){var s=this,r=s.constructor,i=s.c[0];if(t!==Xt){if(t!==~~t||t<1||t>Vs)throw Error(Zs+"precision");for(s=Qs(new r(s),t,e);s.c.length<t;)s.c.push(0)}return er(s,t<=s.e||s.e<=r.NE||s.e>=r.PE,!!i)};ge.valueOf=function(){var t=this,e=t.constructor;if(e.strict===!0)throw Error(ki+"valueOf disallowed");return er(t,t.e<=e.NE||t.e>=e.PE,!0)};var Yr=Jl();const gd={bigNumber(t){return t?new Yr(t):new Yr(0)},multiply(t,e){if(t===void 0||e===void 0)return new Yr(0);const s=new Yr(t),r=new Yr(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,""))}},md=[{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"}]}],wd=[{type:"function",name:"approve",stateMutability:"nonpayable",inputs:[{name:"spender",type:"address"},{name:"amount",type:"uint256"}],outputs:[{type:"bool"}]}],yd=[{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"}]}],bd={getERC20Abi:t=>j.USDT_CONTRACT_ADDRESSES.includes(t)?yd:md,getSwapAbi:()=>wd},ds={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 Fn(t){if(!t)throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID");return`@appkit/${t}:connected_connector_id`}const Z={setItem(t,e){ni()&&e!==void 0&&localStorage.setItem(t,e)},getItem(t){if(ni())return localStorage.getItem(t)||void 0},removeItem(t){ni()&&localStorage.removeItem(t)},clear(){ni()&&localStorage.clear()}};function ni(){return typeof window<"u"&&typeof localStorage<"u"}function Es(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 vd=Symbol(),Ta=Object.getPrototypeOf,Co=new WeakMap,Ed=t=>t&&(Co.has(t)?Co.get(t):Ta(t)===Object.prototype||Ta(t)===Array.prototype),Cd=t=>Ed(t)&&t[vd]||null,ka=(t,e=!0)=>{Co.set(t,e)};var yn={VITE_REACT_APP_WEBSITE_VERSION:"0.0.1-24138829632.commit-0946e16",VITE_BASE_URL:"https://cdn.decentraland.org/@dcl/explore-site/0.0.1-24138829632.commit-0946e16",BASE_URL:"https://cdn.decentraland.org/@dcl/explore-site/0.0.1-24138829632.commit-0946e16",MODE:"production",DEV:!1,PROD:!0,SSR:!1};const Wn=t=>typeof t=="object"&&t!==null,ws=new WeakMap,oi=new WeakSet,Id=(t=Object.is,e=(l,u)=>new Proxy(l,u),s=l=>Wn(l)&&!oi.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,u,h=r)=>{const d=i.get(l);if(d?.[0]===u)return d[1];const f=Array.isArray(l)?[]:Object.create(Object.getPrototypeOf(l));return ka(f,!0),i.set(l,[u,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(oi.has(w))ka(w,!1);else if(w instanceof Promise)delete y.value,y.get=()=>h(w);else if(ws.has(w)){const[b,E]=ws.get(w);y.value=n(b,E(),h)}Object.defineProperty(f,m,y)}),Object.preventExtensions(f)},o=new WeakMap,a=[1,1],c=l=>{if(!Wn(l))throw new Error("object required");const u=o.get(l);if(u)return u;let h=a[0];const d=new Set,f=(v,x=++a[0])=>{h!==x&&(h=x,d.forEach(C=>C(v,x)))};let m=a[1];const w=(v=++a[1])=>(m!==v&&!d.size&&(m=v,y.forEach(([x])=>{const C=x[1](v);C>h&&(h=C)})),h),g=v=>(x,C)=>{const L=[...x];L[1]=[v,...L[1]],f(L,C)},y=new Map,b=(v,x)=>{if((yn?"production":void 0)!=="production"&&y.has(v))throw new Error("prop listener already exists");if(d.size){const C=x[3](g(v));y.set(v,[x,C])}else y.set(v,[x])},E=v=>{var x;const C=y.get(v);C&&(y.delete(v),(x=C[1])==null||x.call(C))},N=v=>(d.add(v),d.size===1&&y.forEach(([C,L],z)=>{if((yn?"production":void 0)!=="production"&&L)throw new Error("remove already exists");const I=C[3](g(z));y.set(z,[C,I])}),()=>{d.delete(v),d.size===0&&y.forEach(([C,L],z)=>{L&&(L(),y.set(z,[C]))})}),$=Array.isArray(l)?[]:Object.create(Object.getPrototypeOf(l)),S=e($,{deleteProperty(v,x){const C=Reflect.get(v,x);E(x);const L=Reflect.deleteProperty(v,x);return L&&f(["delete",[x],C]),L},set(v,x,C,L){const z=Reflect.has(v,x),I=Reflect.get(v,x,L);if(z&&(t(I,C)||o.has(C)&&t(I,o.get(C))))return!0;E(x),Wn(C)&&(C=Cd(C)||C);let T=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{!ws.has(C)&&s(C)&&(T=c(C));const A=!oi.has(T)&&ws.get(T);A&&b(x,A)}return Reflect.set(v,x,T,L),f(["set",[x],C,I]),!0}});o.set(l,S);const D=[$,w,n,N];return ws.set(S,D),Reflect.ownKeys(l).forEach(v=>{const x=Object.getOwnPropertyDescriptor(l,v);"value"in x&&(S[v]=l[v],delete x.value,delete x.writable),Object.defineProperty($,v,x)}),S})=>[c,ws,oi,t,e,s,r,i,n,o,a],[Nd]=Id();function Pe(t={}){return Nd(t)}function st(t,e,s){const r=ws.get(t);(yn?"production":void 0)!=="production"&&!r&&console.warn("Please use proxy object");let i;const n=[],o=r[3];let a=!1;const l=o(u=>{n.push(u),i||(i=Promise.resolve().then(()=>{i=void 0,a&&e(n.splice(0))}))});return a=!0,()=>{a=!1,l()}}function Ei(t,e){const s=ws.get(t);(yn?"production":void 0)!=="production"&&!s&&console.warn("Please use proxy object");const[r,i,n]=s;return n(r,i(),e)}function Ks(t){return oi.add(t),t}function rt(t,e,s,r){let i=t[e];return st(t,()=>{const n=t[e];Object.is(i,n)||s(i=n)})}function _d(t){const e=Pe({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}var $a={};const Hn=(typeof process<"u"&&typeof $a<"u"?$a.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",Yl=[{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"]}],Ad="WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU",Ce={FOUR_MINUTES_MS:24e4,TEN_SEC_MS:1e4,FIVE_SEC_MS:5e3,THREE_SEC_MS:3e3,ONE_SEC_MS:1e3,SECURE_SITE:Hn,SECURE_SITE_DASHBOARD:`${Hn}/dashboard`,SECURE_SITE_FAVICON:`${Hn}/images/favicon.png`,RESTRICTED_TIMEZONES:["ASIA/SHANGHAI","ASIA/URUMQI","ASIA/CHONGQING","ASIA/HARBIN","ASIA/KASHGAR","ASIA/MACAU","ASIA/HONG_KONG","ASIA/MACAO","ASIA/BEIJING","ASIA/HARBIN"],WC_COINBASE_PAY_SDK_CHAINS:["ethereum","arbitrum","polygon","berachain","avalanche-c-chain","optimism","celo","base"],WC_COINBASE_PAY_SDK_FALLBACK_CHAIN:"ethereum",WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP:{Ethereum:"ethereum","Arbitrum One":"arbitrum",Polygon:"polygon",Berachain:"berachain",Avalanche:"avalanche-c-chain","OP Mainnet":"optimism",Celo:"celo",Base:"base"},WC_COINBASE_ONRAMP_APP_ID:"bf18c88d-495a-463b-b249-0b9d3656cf5e",SWAP_SUGGESTED_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP"],SWAP_POPULAR_TOKENS:["ETH","UNI","1INCH","AAVE","SOL","ADA","AVAX","DOT","LINK","NITRO","GAIA","MILK","TRX","NEAR","GNO","WBTC","DAI","WETH","USDC","USDT","ARB","BAL","BICO","CRV","ENS","MATIC","OP","METAL","DAI","CHAMP","WOLF","SALE","BAL","BUSD","MUST","BTCpx","ROUTE","HEX","WELT","amDAI","VSQ","VISION","AURUM","pSP","SNX","VC","LINK","CHP","amUSDT","SPHERE","FOX","GIDDY","GFC","OMEN","OX_OLD","DE","WNT"],BALANCE_SUPPORTED_CHAINS:["eip155","solana"],SWAP_SUPPORTED_NETWORKS:["eip155:1","eip155:42161","eip155:10","eip155:324","eip155:8453","eip155:56","eip155:137","eip155:100","eip155:43114","eip155:250","eip155:8217","eip155:1313161554"],NAMES_SUPPORTED_CHAIN_NAMESPACES:["eip155"],ONRAMP_SUPPORTED_CHAIN_NAMESPACES:["eip155","solana"],ACTIVITY_ENABLED_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",WEB:"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_SOCIALS:["google","x","farcaster","discord","apple","github","facebook"],DEFAULT_ACCOUNT_TYPES:{bip122:"payment",eip155:"smartAccount",polkadot:"eoa",solana:"eoa"},ADAPTER_TYPES:{UNIVERSAL:"universal",SOLANA:"solana",WAGMI:"wagmi",ETHERS:"ethers",ETHERS5:"ethers5",BITCOIN:"bitcoin"}},W={cacheExpiry:{portfolio:3e4,nativeBalance:3e4,ens:3e5,identity:3e5},isCacheExpired(t,e){return Date.now()-t>e},getActiveNetworkProps(){const t=W.getActiveNamespace(),e=W.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{Z.setItem(ee.DEEPLINK_CHOICE,JSON.stringify({href:e,name:t}))}catch{console.info("Unable to set WalletConnect deep link")}},getWalletConnectDeepLink(){try{const t=Z.getItem(ee.DEEPLINK_CHOICE);if(t)return JSON.parse(t)}catch{console.info("Unable to get WalletConnect deep link")}},deleteWalletConnectDeepLink(){try{Z.removeItem(ee.DEEPLINK_CHOICE)}catch{console.info("Unable to delete WalletConnect deep link")}},setActiveNamespace(t){try{Z.setItem(ee.ACTIVE_NAMESPACE,t)}catch{console.info("Unable to set active namespace")}},setActiveCaipNetworkId(t){try{Z.setItem(ee.ACTIVE_CAIP_NETWORK_ID,t),W.setActiveNamespace(t.split(":")[0])}catch{console.info("Unable to set active caip network id")}},getActiveCaipNetworkId(){try{return Z.getItem(ee.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to get active caip network id");return}},deleteActiveCaipNetworkId(){try{Z.removeItem(ee.ACTIVE_CAIP_NETWORK_ID)}catch{console.info("Unable to delete active caip network id")}},deleteConnectedConnectorId(t){try{const e=Fn(t);Z.removeItem(e)}catch{console.info("Unable to delete connected connector id")}},setAppKitRecent(t){try{const e=W.getRecentWallets();e.find(r=>r.id===t.id)||(e.unshift(t),e.length>2&&e.pop(),Z.setItem(ee.RECENT_WALLETS,JSON.stringify(e)))}catch{console.info("Unable to set AppKit recent")}},getRecentWallets(){try{const t=Z.getItem(ee.RECENT_WALLETS);return t?JSON.parse(t):[]}catch{console.info("Unable to get AppKit recent")}return[]},setConnectedConnectorId(t,e){try{const s=Fn(t);Z.setItem(s,e)}catch{console.info("Unable to set Connected Connector Id")}},getActiveNamespace(){try{return Z.getItem(ee.ACTIVE_NAMESPACE)}catch{console.info("Unable to get active namespace")}},getConnectedConnectorId(t){if(t)try{const e=Fn(t);return Z.getItem(e)}catch{console.info("Unable to get connected connector id in namespace ",t)}},setConnectedSocialProvider(t){try{Z.setItem(ee.CONNECTED_SOCIAL,t)}catch{console.info("Unable to set connected social provider")}},getConnectedSocialProvider(){try{return Z.getItem(ee.CONNECTED_SOCIAL)}catch{console.info("Unable to get connected social provider")}},deleteConnectedSocialProvider(){try{Z.removeItem(ee.CONNECTED_SOCIAL)}catch{console.info("Unable to delete connected social provider")}},getConnectedSocialUsername(){try{return Z.getItem(ee.CONNECTED_SOCIAL_USERNAME)}catch{console.info("Unable to get connected social username")}},getStoredActiveCaipNetworkId(){return Z.getItem(ee.ACTIVE_CAIP_NETWORK_ID)?.split(":")?.[1]},setConnectionStatus(t){try{Z.setItem(ee.CONNECTION_STATUS,t)}catch{console.info("Unable to set connection status")}},getConnectionStatus(){try{return Z.getItem(ee.CONNECTION_STATUS)}catch{return}},getConnectedNamespaces(){try{const t=Z.getItem(ee.CONNECTED_NAMESPACES);return t?.length?t.split(","):[]}catch{return[]}},setConnectedNamespaces(t){try{const e=Array.from(new Set(t));Z.setItem(ee.CONNECTED_NAMESPACES,e.join(","))}catch{console.info("Unable to set namespaces in storage")}},addConnectedNamespace(t){try{const e=W.getConnectedNamespaces();e.includes(t)||(e.push(t),W.setConnectedNamespaces(e))}catch{console.info("Unable to add connected namespace")}},removeConnectedNamespace(t){try{const e=W.getConnectedNamespaces(),s=e.indexOf(t);s>-1&&(e.splice(s,1),W.setConnectedNamespaces(e))}catch{console.info("Unable to remove connected namespace")}},getTelegramSocialProvider(){try{return Z.getItem(ee.TELEGRAM_SOCIAL_PROVIDER)}catch{return console.info("Unable to get telegram social provider"),null}},setTelegramSocialProvider(t){try{Z.setItem(ee.TELEGRAM_SOCIAL_PROVIDER,t)}catch{console.info("Unable to set telegram social provider")}},removeTelegramSocialProvider(){try{Z.removeItem(ee.TELEGRAM_SOCIAL_PROVIDER)}catch{console.info("Unable to remove telegram social provider")}},getBalanceCache(){let t={};try{const e=Z.getItem(ee.PORTFOLIO_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get balance cache")}return t},removeAddressFromBalanceCache(t){try{const e=W.getBalanceCache();Z.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=W.getBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.portfolio))return s.balance;W.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateBalanceCache(t){try{const e=W.getBalanceCache();e[t.caipAddress]=t,Z.setItem(ee.PORTFOLIO_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getNativeBalanceCache(){let t={};try{const e=Z.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=W.getBalanceCache();Z.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=W.getNativeBalanceCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.nativeBalance))return s;console.info("Discarding cache for address",t),W.removeAddressFromBalanceCache(t)}catch{console.info("Unable to get balance cache for address",t)}},updateNativeBalanceCache(t){try{const e=W.getNativeBalanceCache();e[t.caipAddress]=t,Z.setItem(ee.NATIVE_BALANCE_CACHE,JSON.stringify(e))}catch{console.info("Unable to update balance cache",t)}},getEnsCache(){let t={};try{const e=Z.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=W.getEnsCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.ens))return s.ens;W.removeEnsFromCache(t)}catch{console.info("Unable to get ens name from cache",t)}},updateEnsCache(t){try{const e=W.getEnsCache();e[t.address]=t,Z.setItem(ee.ENS_CACHE,JSON.stringify(e))}catch{console.info("Unable to update ens name cache",t)}},removeEnsFromCache(t){try{const e=W.getEnsCache();Z.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=Z.getItem(ee.IDENTITY_CACHE);t=e?JSON.parse(e):{}}catch{console.info("Unable to get identity cache")}return t},getIdentityFromCacheForAddress(t){try{const s=W.getIdentityCache()[t];if(s&&!this.isCacheExpired(s.timestamp,this.cacheExpiry.identity))return s.identity;W.removeIdentityFromCache(t)}catch{console.info("Unable to get identity from cache",t)}},updateIdentityCache(t){try{const e=W.getIdentityCache();e[t.address]={identity:t.identity,timestamp:t.timestamp},Z.setItem(ee.IDENTITY_CACHE,JSON.stringify(e))}catch{console.info("Unable to update identity cache",t)}},removeIdentityFromCache(t){try{const e=W.getIdentityCache();Z.setItem(ee.IDENTITY_CACHE,JSON.stringify({...e,[t]:void 0}))}catch{console.info("Unable to remove identity from cache",t)}},clearAddressCache(){try{Z.removeItem(ee.PORTFOLIO_CACHE),Z.removeItem(ee.NATIVE_BALANCE_CACHE),Z.removeItem(ee.ENS_CACHE),Z.removeItem(ee.IDENTITY_CACHE)}catch{console.info("Unable to clear address cache")}},setPreferredAccountTypes(t){try{Z.setItem(ee.PREFERRED_ACCOUNT_TYPES,JSON.stringify(t))}catch{console.info("Unable to set preferred account types",t)}},getPreferredAccountTypes(){try{const t=Z.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={...W.getConnections(),[e]:t};Z.setItem(ee.CONNECTIONS,JSON.stringify(s))}catch(s){console.error("Unable to sync connections to storage",s)}},getConnections(){try{const t=Z.getItem(ee.CONNECTIONS);return t?JSON.parse(t):{}}catch(t){return console.error("Unable to get connections from storage",t),{}}}},X={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 X.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()<=Ce.TEN_SEC_MS:!0},isAllowedRetry(t,e=Ce.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(X.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()+Ce.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(X.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(!X.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()?W.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,X.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 j.W3M_API_URL},getBlockchainApiUrl(){return j.BLOCKCHAIN_API_RPC_URL},getAnalyticsUrl(){return j.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?Ce.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 j.CHAIN_NAME_MAP},isMac(){const t=window?.navigator.userAgent.toLowerCase();return t.includes("macintosh")&&!t.includes("safari")},formatTelegramSocialLoginUrl(t){const e=`--${encodeURIComponent(window?.location.href)}`,s="state=";if(new URL(t).host==="auth.magic.link"){const i="provider_authorization_url=",n=t.substring(t.indexOf(i)+i.length),o=this.injectIntoUrl(decodeURIComponent(n),s,e);return t.replace(n,encodeURIComponent(o))}return this.injectIntoUrl(t,s,e)},injectIntoUrl(t,e,s){const r=t.indexOf(e);if(r===-1)throw new Error(`${e} parameter not found in the URL: ${t}`);const i=t.indexOf("&",r),n=e.length,o=i!==-1?i:t.length,a=t.substring(0,r+n),c=t.substring(r+n,o),l=t.substring(i),u=c+s;return a+u+l}};async function Xr(...t){const e=await fetch(...t);if(!e.ok)throw new Error(`HTTP status code: ${e.status}`,{cause:e});return e}class $i{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 Xr(n,{method:"GET",headers:e,signal:s,cache:r})).json()}async getBlob({headers:e,signal:s,...r}){const i=this.createUrl(r);return(await Xr(i,{method:"GET",headers:e,signal:s})).blob()}async post({body:e,headers:s,signal:r,...i}){const n=this.createUrl(i);return(await Xr(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 Xr(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 Xr(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 Sd={getFeatureValue(t,e){const s=e?.[t];return s===void 0?Ce.DEFAULT_FEATURES[t]:s},filterSocialsByPlatform(t){if(!t||!t.length)return t;if(X.isTelegram()){if(X.isIos())return t.filter(e=>e!=="google");if(X.isMac())return t.filter(e=>e!=="x");if(X.isAndroid())return t.filter(e=>!["facebook","x"].includes(e))}return t}},K=Pe({features:Ce.DEFAULT_FEATURES,projectId:"",sdkType:"appkit",sdkVersion:"html-wagmi-undefined",defaultAccountTypes:Ce.DEFAULT_ACCOUNT_TYPES,enableNetworkSwitch:!0,experimental_preferUniversalLinks:!1,remoteFeatures:{}}),P={state:K,subscribeKey(t,e){return rt(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=Sd.filterSocialsByPlatform(K.remoteFeatures.socials))},setFeatures(t){if(!t)return;K.features||(K.features=Ce.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 Ei(K)}},Pd=Object.freeze({enabled:!0,events:[]}),Od=new $i({baseUrl:X.getAnalyticsUrl(),clientId:null}),Td=5,kd=60*1e3,ps=Pe({...Pd}),$d={state:ps,subscribeKey(t,e){return rt(ps,t,e)},async sendError(t,e){if(!ps.enabled)return;const s=Date.now();if(ps.events.filter(n=>{const o=new Date(n.properties.timestamp||"").getTime();return s-o<kd}).length>=Td)return;const i={type:"error",event:e,properties:{errorType:t.name,errorMessage:t.message,stackTrace:t.stack,timestamp:new Date().toISOString()}};ps.events.push(i);try{if(typeof window>"u")return;const{projectId:n,sdkType:o,sdkVersion:a}=P.state;await Od.post({path:"/e",params:{projectId:n,st:o,sv:a||"html-wagmi-4.2.2"},body:{eventId:X.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(){ps.enabled=!0},disable(){ps.enabled=!1},clearEvents(){ps.events=[]}};class Rr extends Error{constructor(e,s,r){super(e),this.name="AppKitError",this.category=s,this.originalError=r,Object.setPrototypeOf(this,Rr.prototype);let i=!1;if(r instanceof Error&&typeof r.stack=="string"&&r.stack){const n=r.stack,o=n.indexOf(`
3
+ `);if(o>-1){const a=n.substring(o+1);this.stack=`${this.name}: ${this.message}
4
+ ${a}`,i=!0}}i||(Error.captureStackTrace?Error.captureStackTrace(this,Rr):this.stack||(this.stack=`${this.name}: ${this.message}`))}}function xa(t,e){const s=t instanceof Rr?t:new Rr(t instanceof Error?t.message:String(t),e,t);throw $d.sendError(s,s.category),s}function _t(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 xa(a,e)}}:n=(...o)=>{try{return i(...o)}catch(a){return xa(a,e)}},s[r]=n}else s[r]=i}),s}const Jt={PHANTOM:{id:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",url:"https://phantom.app"},SOLFLARE:{id:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",url:"https://solflare.com"},COINBASE:{id:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",url:"https://go.cb-w.com"}},xd={handleMobileDeeplinkRedirect(t,e){const s=window.location.href,r=encodeURIComponent(s);if(t===Jt.PHANTOM.id&&!("phantom"in window)){const i=s.startsWith("https")?"https":"http",n=s.split("/")[2],o=encodeURIComponent(`${i}://${n}`);window.location.href=`${Jt.PHANTOM.url}/ul/browse/${r}?ref=${o}`}t===Jt.SOLFLARE.id&&!("solflare"in window)&&(window.location.href=`${Jt.SOLFLARE.url}/ul/v1/browse/${r}?ref=${r}`),e===j.CHAIN.SOLANA&&t===Jt.COINBASE.id&&!("coinbaseSolana"in window)&&(window.location.href=`${Jt.COINBASE.url}/dapp?cb_url=${r}`)}},mt=Pe({walletImages:{},networkImages:{},chainImages:{},connectorImages:{},tokenImages:{},currencyImages:{}}),Rd={state:mt,subscribeNetworkImages(t){return st(mt.networkImages,()=>t(mt.networkImages))},subscribeKey(t,e){return rt(mt,t,e)},subscribe(t){return st(mt,()=>t(mt))},setWalletImage(t,e){mt.walletImages[t]=e},setNetworkImage(t,e){mt.networkImages[t]=e},setChainImage(t,e){mt.chainImages[t]=e},setConnectorImage(t,e){mt.connectorImages={...mt.connectorImages,[t]:e}},setTokenImage(t,e){mt.tokenImages[t]=e},setCurrencyImage(t,e){mt.currencyImages[t]=e}},Bt=_t(Rd),Ud={eip155:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",solana:"a1b58899-f671-4276-6a5e-56ca5bd59700",polkadot:"",bip122:"0b4838db-0161-4ffe-022d-532bf03dba00",cosmos:""},zn=Pe({networkImagePromises:{}}),Xl={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||(zn.networkImagePromises[t]||(zn.networkImagePromises[t]=V._fetchNetworkImage(t)),await zn.networkImagePromises[t],this.getNetworkImageById(t))},getWalletImageById(t){if(t)return Bt.state.walletImages[t]},getWalletImage(t){if(t?.image_url)return t?.image_url;if(t?.image_id)return Bt.state.walletImages[t.image_id]},getNetworkImage(t){if(t?.assets?.imageUrl)return t?.assets?.imageUrl;if(t?.assets?.imageId)return Bt.state.networkImages[t.assets.imageId]},getNetworkImageById(t){if(t)return Bt.state.networkImages[t]},getConnectorImage(t){if(t?.imageUrl)return t.imageUrl;if(t?.imageId)return Bt.state.connectorImages[t.imageId]},getChainImage(t){return Bt.state.networkImages[Ud[t]]}},fs=Pe({message:"",variant:"info",open:!1}),Dd={state:fs,subscribeKey(t,e){return rt(fs,t,e)},open(t,e){const{debug:s}=P.state,{shortMessage:r,longMessage:i}=t;s&&(fs.message=r,fs.variant=e,fs.open=!0),i&&console.error(typeof i=="function"?i():i)},close(){fs.open=!1,fs.message="",fs.variant="info"}},Ms=_t(Dd),Ld=X.getAnalyticsUrl(),Md=new $i({baseUrl:Ld,clientId:null}),Bd=["MODAL_CREATED"],ss=Pe({timestamp:Date.now(),reportedErrors:{},data:{type:"track",event:"MODAL_CREATED"}}),Te={state:ss,subscribe(t){return st(ss,()=>t(ss))},getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=P.state;return{projectId:t,st:e,sv:s||"html-wagmi-4.2.2"}},async _sendAnalyticsEvent(t){try{const e=H.state.address;if(Bd.includes(t.data.event)||typeof window>"u")return;await Md.post({path:"/e",params:Te.getSdkProperties(),body:{eventId:X.getUUID(),url:window.location.href,domain:window.location.hostname,timestamp:t.timestamp,props:{...t.data,address:e}}}),ss.reportedErrors.FORBIDDEN=!1}catch(e){e instanceof Error&&e.cause instanceof Response&&e.cause.status===j.HTTP_STATUS_CODES.FORBIDDEN&&!ss.reportedErrors.FORBIDDEN&&(Ms.open({shortMessage:"Invalid App Configuration",longMessage:`Origin ${ni()?window.origin:"uknown"} not found on Allowlist - update configuration on cloud.reown.com`},"error"),ss.reportedErrors.FORBIDDEN=!0)}},sendEvent(t){ss.timestamp=Date.now(),ss.data=t,P.state.features?.analytics&&Te._sendAnalyticsEvent(ss)}},jd=X.getApiUrl(),at=new $i({baseUrl:jd,clientId:null}),qd=40,Ra=4,Fd=20,te=Pe({promises:{},page:1,count:0,featured:[],allFeatured:[],recommended:[],allRecommended:[],wallets:[],filteredWallets:[],search:[],isAnalyticsEnabled:!1,excludedWallets:[],isFetchingRecommendedWallets:!1}),V={state:te,subscribeKey(t,e){return rt(te,t,e)},_getSdkProperties(){const{projectId:t,sdkType:e,sdkVersion:s}=P.state;return{projectId:t,st:e||"appkit",sv:s||"html-wagmi-4.2.2"}},_filterOutExtensions(t){return P.state.isUniversalProvider?t.filter(e=>!!(e.mobile_link||e.desktop_link||e.webapp_link)):t},async _fetchWalletImage(t){const e=`${at.baseUrl}/getWalletImage/${t}`,s=await at.getBlob({path:e,params:V._getSdkProperties()});Bt.setWalletImage(t,URL.createObjectURL(s))},async _fetchNetworkImage(t){const e=`${at.baseUrl}/public/getAssetImage/${t}`,s=await at.getBlob({path:e,params:V._getSdkProperties()});Bt.setNetworkImage(t,URL.createObjectURL(s))},async _fetchConnectorImage(t){const e=`${at.baseUrl}/public/getAssetImage/${t}`,s=await at.getBlob({path:e,params:V._getSdkProperties()});Bt.setConnectorImage(t,URL.createObjectURL(s))},async _fetchCurrencyImage(t){const e=`${at.baseUrl}/public/getCurrencyImage/${t}`,s=await at.getBlob({path:e,params:V._getSdkProperties()});Bt.setCurrencyImage(t,URL.createObjectURL(s))},async _fetchTokenImage(t){const e=`${at.baseUrl}/public/getTokenImage/${t}`,s=await at.getBlob({path:e,params:V._getSdkProperties()});Bt.setTokenImage(t,URL.createObjectURL(s))},_filterWalletsByPlatform(t){return X.isMobile()?t?.filter(s=>s.mobile_link||s.id===Jt.COINBASE.id?!0:p.state.activeChain==="solana"&&(s.id===Jt.SOLFLARE.id||s.id===Jt.PHANTOM.id)):t},async fetchProjectConfig(){return(await at.get({path:"/appkit/v1/config",params:V._getSdkProperties()})).features},async fetchAllowedOrigins(){try{const{allowedOrigins:t}=await at.get({path:"/projects/v1/origins",params:V._getSdkProperties()});return t}catch{return[]}},async fetchNetworkImages(){const e=p.getAllRequestedCaipNetworks()?.map(({assets:s})=>s?.imageId).filter(Boolean).filter(s=>!Xl.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(Jt).map(n=>n.id));const r=await at.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}=P.state;if(t?.length){const e={...V._getSdkProperties(),page:1,entries:t?.length??Ra,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}=P.state,r=[...e??[],...s??[]].filter(Boolean),i=p.getRequestedCaipNetworkIds().join(","),n={page:1,entries:Ra,include:t,exclude:r,chains:i},{data:o,count:a}=await V.fetchWallets(n),c=W.getRecentWallets(),l=o.map(h=>h.image_id).filter(Boolean),u=c.map(h=>h.image_id).filter(Boolean);await Promise.allSettled([...l,...u].map(h=>V._fetchWalletImage(h))),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}=P.state,i=p.getRequestedCaipNetworkIds().join(","),n=[...te.recommended.map(({id:u})=>u),...s??[],...r??[]].filter(Boolean),o={page:t,entries:qd,include:e,exclude:n,chains:i},{data:a,count:c}=await V.fetchWallets(o),l=a.slice(0,Fd).map(u=>u.image_id).filter(Boolean);await Promise.allSettled(l.map(u=>V._fetchWalletImage(u))),te.wallets=X.uniqueBy([...te.wallets,...V._filterOutExtensions(a)],"id").filter(u=>u.chains?.some(h=>i.includes(h))),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}=P.state,i=p.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);Te.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)),X.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(){P.state.features?.analytics&&V.fetchAnalyticsConfig()},async fetchAnalyticsConfig(){try{const{isAnalyticsEnabled:t}=await at.get({path:"/getAnalyticsConfig",params:V._getSdkProperties()});P.setFeatures({analytics:t})}catch{P.setFeatures({analytics:!1})}},filterByNamespaces(t){if(!t?.length){te.featured=te.allFeatured,te.recommended=te.allRecommended;return}const e=p.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=p.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)))}},me=Pe({view:"Connect",history:["Connect"],transactionStack:[]}),Wd={state:me,subscribeKey(t,e){return rt(me,t,e)},pushTransactionStack(t){me.transactionStack.push(t)},popTransactionStack(t){const e=me.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!==me.view&&(me.view=t,me.history.push(t),me.data=e)},reset(t,e){me.view=t,me.history=[t],me.data=e},replace(t,e){me.history.at(-1)===t||(me.view=t,me.history[me.history.length-1]=t,me.data=e)},goBack(){const t=p.state.activeCaipAddress,e=re.state.view==="ConnectingFarcaster",s=!t&&e;if(me.history.length>1){me.history.pop();const[r]=me.history.slice(-1);r&&(t&&r==="Connect"?me.view="Account":me.view=r)}else Ke.close();me.data?.wallet&&(me.data.wallet=void 0),setTimeout(()=>{if(s){H.setFarcasterUrl(void 0,p.state.activeChain);const r=q.getAuthConnector();r?.provider?.reload();const i=Ei(P.state);r?.provider?.syncDappData?.({metadata:i.metadata,sdkVersion:i.sdkVersion,projectId:i.projectId,sdkType:i.sdkType})}},100)},goBackToIndex(t){if(me.history.length>1){me.history=me.history.slice(0,t+1);const[e]=me.history.slice(-1);e&&(me.view=e)}},goBackOrCloseModal(){re.state.history.length>1?re.goBack():Ke.close()}},re=_t(Wd),rs=Pe({themeMode:"dark",themeVariables:{},w3mThemeVariables:void 0}),Io={state:rs,subscribe(t){return st(rs,()=>t(rs))},setThemeMode(t){rs.themeMode=t;try{const e=q.getAuthConnector();if(e){const s=Io.getSnapshot().themeVariables;e.provider.syncTheme({themeMode:t,themeVariables:s,w3mThemeVariables:Es(s,t)})}}catch{console.info("Unable to sync theme to auth connector")}},setThemeVariables(t){rs.themeVariables={...rs.themeVariables,...t};try{const e=q.getAuthConnector();if(e){const s=Io.getSnapshot().themeVariables;e.provider.syncTheme({themeVariables:s,w3mThemeVariables:Es(rs.themeVariables,rs.themeMode)})}}catch{console.info("Unable to sync theme to auth connector")}},getSnapshot(){return Ei(rs)}},bt=_t(Io),Zl={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0,cosmos:void 0},ae=Pe({allConnectors:[],connectors:[],activeConnector:void 0,filterByNamespace:void 0,activeConnectorIds:{...Zl},filterByNamespaceMap:{eip155:!0,solana:!0,polkadot:!0,bip122:!0,cosmos:!0}}),Hd={state:ae,subscribe(t){return st(ae,()=>{t(ae)})},subscribeKey(t,e){return rt(ae,t,e)},initialize(t){t.forEach(e=>{const s=W.getConnectedConnectorId(e);s&&q.setConnectorId(s,e)})},setActiveConnector(t){t&&(ae.activeConnector=Ks(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(Ks(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===j.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===j.CONNECTOR_ID.AUTH){const e=t,s=Ei(P.state),r=bt.getSnapshot().themeMode,i=bt.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:Es(i,r)}),q.setConnectors([t])}else q.setConnectors([t])},getAuthConnector(t){const e=t||p.state.activeChain,s=ae.connectors.find(r=>r.id===j.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===p.state.activeChain).find(r=>r.explorerId===t||r.info?.rdns===e)},syncIfAuthConnector(t){if(t.id!=="ID_AUTH")return;const e=t,s=Ei(P.state),r=bt.getSnapshot().themeMode,i=bt.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:Es(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=p.state.activeChain;xd.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},W.setConnectedConnectorId(e,t))},removeConnectorId(t){ae.activeConnectorIds={...ae.activeConnectorIds,[t]:void 0},W.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={...Zl}}},q=_t(Hd),hi={SAFE_RPC_METHODS:["eth_accounts","eth_blockNumber","eth_call","eth_chainId","eth_estimateGas","eth_feeHistory","eth_gasPrice","eth_getAccount","eth_getBalance","eth_getBlockByHash","eth_getBlockByNumber","eth_getBlockReceipts","eth_getBlockTransactionCountByHash","eth_getBlockTransactionCountByNumber","eth_getCode","eth_getFilterChanges","eth_getFilterLogs","eth_getLogs","eth_getProof","eth_getStorageAt","eth_getTransactionByBlockHashAndIndex","eth_getTransactionByBlockNumberAndIndex","eth_getTransactionByHash","eth_getTransactionCount","eth_getTransactionReceipt","eth_getUncleCountByBlockHash","eth_getUncleCountByBlockNumber","eth_maxPriorityFeePerGas","eth_newBlockFilter","eth_newFilter","eth_newPendingTransactionFilter","eth_sendRawTransaction","eth_syncing","eth_uninstallFilter","wallet_getCapabilities","wallet_getCallsStatus","eth_getUserOperationReceipt","eth_estimateUserOperationGas","eth_getUserOperationByHash","eth_supportedEntryPoints","wallet_getAssets"],NOT_SAFE_RPC_METHODS:["personal_sign","eth_signTypedData_v4","eth_sendTransaction","solana_signMessage","solana_signTransaction","solana_signAllTransactions","solana_signAndSendTransaction","wallet_sendCalls","wallet_grantPermissions","wallet_revokePermissions","eth_sendUserOperation"],GET_CHAIN_ID:"eth_chainId",RPC_METHOD_NOT_ALLOWED_MESSAGE:"Requested RPC call is not allowed",RPC_METHOD_NOT_ALLOWED_UI_MESSAGE:"Action not allowed",ACCOUNT_TYPES:{EOA:"eoa",SMART_ACCOUNT:"smartAccount"}},Ds=Object.freeze({message:"",variant:"success",svg:void 0,open:!1,autoClose:!0}),Le=Pe({...Ds}),zd={state:Le,subscribeKey(t,e){return rt(Le,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=X.parseError(t);this._showMessage({message:e,variant:"error"})},hide(){Le.message=Ds.message,Le.variant=Ds.variant,Le.svg=Ds.svg,Le.open=Ds.open,Le.autoClose=Ds.autoClose},_showMessage({message:t,svg:e,variant:s="success",autoClose:r=Ds.autoClose}){Le.open?(Le.open=!1,setTimeout(()=>{Le.message=t,Le.variant=s,Le.svg=e,Le.open=!0,Le.autoClose=r},150)):(Le.message=t,Le.variant=s,Le.svg=e,Le.open=!0,Le.autoClose=r)}},jt=zd,Ne=Pe({transactions:[],coinbaseTransactions:{},transactionsByYear:{},lastNetworkInView:void 0,loading:!1,empty:!1,next:void 0}),Vd={state:Ne,subscribe(t){return st(Ne,()=>t(Ne))},setLastNetworkInView(t){Ne.lastNetworkInView=t},async fetchTransactions(t,e){if(!t)throw new Error("Transactions can't be fetched without an accountAddress");Ne.loading=!0;try{const s=await J.fetchTransactions({account:t,cursor:Ne.next,onramp:e,cache:e==="coinbase"?"no-cache":void 0,chainId:p.state.activeCaipNetwork?.caipNetworkId}),r=ai.filterSpamTransactions(s.data),i=ai.filterByConnectedChain(r),n=[...Ne.transactions,...i];Ne.loading=!1,e==="coinbase"?Ne.coinbaseTransactions=ai.groupTransactionsByYearAndMonth(Ne.coinbaseTransactions,s.data):(Ne.transactions=n,Ne.transactionsByYear=ai.groupTransactionsByYearAndMonth(Ne.transactionsByYear,i)),Ne.empty=n.length===0,Ne.next=s.next?s.next:void 0}catch{const r=p.state.activeChain;Te.sendEvent({type:"track",event:"ERROR_FETCH_TRANSACTIONS",properties:{address:t,projectId:P.state.projectId,cursor:Ne.next,isSmartAccount:H.state.preferredAccountTypes?.[r]===hi.ACCOUNT_TYPES.SMART_ACCOUNT}}),jt.showError("Failed to fetch transactions"),Ne.loading=!1,Ne.empty=!0,Ne.next=void 0}},groupTransactionsByYearAndMonth(t={},e=[]){const s=t;return e.forEach(r=>{const i=new Date(r.metadata.minedAt).getFullYear(),n=new Date(r.metadata.minedAt).getMonth(),o=s[i]??{},c=(o[n]??[]).filter(l=>l.id!==r.id);s[i]={...o,[n]:[...c,r].sort((l,u)=>new Date(u.metadata.minedAt).getTime()-new Date(l.metadata.minedAt).getTime())}}),s},filterSpamTransactions(t){return t.filter(e=>!e.transfers.every(r=>r.nft_info?.flags.is_spam===!0))},filterByConnectedChain(t){const e=p.state.activeCaipNetwork?.caipNetworkId;return t.filter(r=>r.metadata.chain===e)},clearCursor(){Ne.next=void 0},resetTransactions(){Ne.transactions=[],Ne.transactionsByYear={},Ne.lastNetworkInView=void 0,Ne.loading=!1,Ne.empty=!1,Ne.next=void 0}},ai=_t(Vd,"API_ERROR"),Ae=Pe({connections:new Map,wcError:!1,buffering:!1,status:"disconnected"});let $s;const Kd={state:Ae,subscribeKey(t,e){return rt(Ae,t,e)},_getClient(){return Ae._client},setClient(t){Ae._client=Ks(t)},async connectWalletConnect(){if(X.isTelegram()||X.isSafari()&&X.isIos()){if($s){await $s,$s=void 0;return}if(!X.isPairingExpired(Ae?.wcPairingExpiry)){const t=Ae.wcUri;Ae.wcUri=t;return}$s=Y._getClient()?.connectWalletConnect?.().catch(()=>{}),Y.state.status="connecting",await $s,$s=void 0,Ae.wcPairingExpiry=void 0,Y.state.status="connected"}else await Y._getClient()?.connectWalletConnect?.()},async connectExternal(t,e,s=!0){await Y._getClient()?.connectExternal?.(t),s&&p.setActiveNamespace(e)},async reconnectExternal(t){await Y._getClient()?.reconnectExternal?.(t);const e=t.chain||p.state.activeChain;e&&q.setConnectorId(t.id,e)},async setPreferredAccountType(t,e){Ke.setLoading(!0,p.state.activeChain);const s=q.getAuthConnector();s&&(H.setPreferredAccountType(t,e),await s.provider.setPreferredAccount(t),W.setPreferredAccountTypes(H.state.preferredAccountTypes??{[e]:t}),await Y.reconnectExternal(s),Ke.setLoading(!1,p.state.activeChain),Te.sendEvent({type:"track",event:"SET_PREFERRED_ACCOUNT_TYPE",properties:{accountType:t,network:p.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(){Ae.wcUri=void 0,Ae.wcPairingExpiry=void 0,Ae.wcLinking=void 0,Ae.recentWallet=void 0,Ae.status="disconnected",ai.resetTransactions(),W.deleteWalletConnectDeepLink()},resetUri(){Ae.wcUri=void 0,Ae.wcPairingExpiry=void 0,$s=void 0},finalizeWcConnection(){const{wcLinking:t,recentWallet:e}=Y.state;t&&W.setWalletConnectDeepLink(t),e&&W.setAppKitRecent(e),Te.sendEvent({type:"track",event:"CONNECT_SUCCESS",properties:{method:t?"mobile":"qrcode",name:re.state.data?.wallet?.name||"Unknown"}})},setWcBasic(t){Ae.wcBasic=t},setUri(t){Ae.wcUri=t,Ae.wcPairingExpiry=X.getPairingExpiry()},setWcLinking(t){Ae.wcLinking=t},setWcError(t){Ae.wcError=t,Ae.buffering=!1},setRecentWallet(t){Ae.recentWallet=t},setBuffering(t){Ae.buffering=t},setStatus(t){Ae.status=t},async disconnect(t){try{await Y._getClient()?.disconnect(t)}catch(e){throw new Rr("Failed to disconnect","INTERNAL_SDK_ERROR",e)}},setConnections(t,e){Ae.connections.set(e,t)},switchAccount({connection:t,address:e,namespace:s}){if(q.state.activeConnectorIds[s]===t.connectorId){const n=p.state.activeCaipNetwork;if(n){const o=`${s}:${n.id}:${e}`;H.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=_t(Kd),ir=Pe({loading:!1,open:!1,selectedNetworkId:void 0,activeChain:void 0,initialized:!1}),Is={state:ir,subscribe(t){return st(ir,()=>t(ir))},subscribeOpen(t){return rt(ir,"open",t)},set(t){Object.assign(ir,{...ir,...t})}},{formatUnits:Gd}=await Pn("viem"),Vn={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 Gd(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"}},Ua={async getMyTokensWithBalance(t){const e=H.state.address,s=p.state.activeCaipNetwork;if(!e||!s)return[];if(s.chainNamespace==="eip155"){const i=await this.getEIP155Balances(e,s);if(i)return this.filterLowQualityTokens(i)}const r=await J.getBalance(e,s.caipNetworkId,t);return this.filterLowQualityTokens(r.balances)},async getEIP155Balances(t,e){try{const s=Vn.getChainIdHexFromCAIP2ChainId(e.caipNetworkId);if(!(await Y.getCapabilities(t))?.[s]?.assetDiscovery?.supported)return null;const i=await Y.walletGetAssets({account:t,chainFilter:[s]});return Vn.isWalletGetAssetsResponse(i)?(i[s]||[]).map(o=>Vn.createBalance(o,e.caipNetworkId)):null}catch{return null}},filterLowQualityTokens(t){return t.filter(e=>e.quantity.decimals!=="0")},mapBalancesToSwapTokens(t){return t?.map(e=>({...e,address:e?.address?e.address:p.getActiveNetworkTokenAddress(),decimals:parseInt(e.quantity.decimals,10),logoUri:e.iconUrl,eip2612:!1}))||[]}},fe=Pe({tokenBalances:[],loading:!1}),Jd={state:fe,subscribe(t){return st(fe,()=>t(fe))},subscribeKey(t,e){return rt(fe,t,e)},setToken(t){t&&(fe.token=Ks(t))},setTokenAmount(t){fe.sendTokenAmount=t},setReceiverAddress(t){fe.receiverAddress=t},setReceiverProfileImageUrl(t){fe.receiverProfileImageUrl=t},setReceiverProfileName(t){fe.receiverProfileName=t},setNetworkBalanceInUsd(t){fe.networkBalanceInUSD=t},setLoading(t){fe.loading=t},async sendToken(){try{switch(he.setLoading(!0),p.state.activeCaipNetwork?.chainNamespace){case"eip155":await he.sendEvmToken();return;case"solana":await he.sendSolanaToken();return;default:throw new Error("Unsupported chain")}}finally{he.setLoading(!1)}},async sendEvmToken(){const t=p.state.activeChain,e=H.state.preferredAccountTypes?.[t];if(!he.state.sendTokenAmount||!he.state.receiverAddress)throw new Error("An amount and receiver address are required");if(!he.state.token)throw new Error("A token is required");he.state.token?.address?(Te.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===hi.ACCOUNT_TYPES.SMART_ACCOUNT,token:he.state.token.address,amount:he.state.sendTokenAmount,network:p.state.activeCaipNetwork?.caipNetworkId||""}}),await he.sendERC20Token({receiverAddress:he.state.receiverAddress,tokenAddress:he.state.token.address,sendTokenAmount:he.state.sendTokenAmount,decimals:he.state.token.quantity.decimals})):(Te.sendEvent({type:"track",event:"SEND_INITIATED",properties:{isSmartAccount:e===hi.ACCOUNT_TYPES.SMART_ACCOUNT,token:he.state.token.symbol||"",amount:he.state.sendTokenAmount,network:p.state.activeCaipNetwork?.caipNetworkId||""}}),await he.sendNativeToken({receiverAddress:he.state.receiverAddress,sendTokenAmount:he.state.sendTokenAmount,decimals:he.state.token.quantity.decimals}))},async fetchTokenBalance(t){fe.loading=!0;const e=p.state.activeCaipNetwork?.caipNetworkId,s=p.state.activeCaipNetwork?.chainNamespace,r=p.state.activeCaipAddress,i=r?X.getPlainAddress(r):void 0;if(fe.lastRetry&&!X.isAllowedRetry(fe.lastRetry,30*Ce.ONE_SEC_MS))return fe.loading=!1,[];try{if(i&&e&&s){const n=await Ua.getMyTokensWithBalance();return fe.tokenBalances=n,fe.lastRetry=void 0,n}}catch(n){fe.lastRetry=Date.now(),t?.(n),jt.showError("Token Balance Unavailable")}finally{fe.loading=!1}return[]},fetchNetworkBalance(){if(fe.tokenBalances.length===0)return;const t=Ua.mapBalancesToSwapTokens(fe.tokenBalances);if(!t)return;const e=t.find(s=>s.address===p.getActiveNetworkTokenAddress());e&&(fe.networkBalanceInUSD=e?gd.multiply(e.quantity.numeric,e.price).toString():"0")},async sendNativeToken(t){re.pushTransactionStack({});const e=t.receiverAddress,s=H.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)}),Te.sendEvent({type:"track",event:"SEND_SUCCESS",properties:{isSmartAccount:H.state.preferredAccountTypes?.eip155===hi.ACCOUNT_TYPES.SMART_ACCOUNT,token:he.state.token?.symbol||"",amount:t.sendTokenAmount,network:p.state.activeCaipNetwork?.caipNetworkId||""}}),Y._getClient()?.updateBalance("eip155"),he.resetSend()},async sendERC20Token(t){re.pushTransactionStack({onSuccess(){re.replace("Account")}});const e=Y.parseUnits(t.sendTokenAmount.toString(),Number(t.decimals));if(H.state.address&&t.sendTokenAmount&&t.receiverAddress&&t.tokenAddress){const s=X.getPlainAddress(t.tokenAddress);await Y.writeContract({fromAddress:H.state.address,tokenAddress:s,args:[t.receiverAddress,e??BigInt(0)],method:"transfer",abi:bd.getERC20Abi(s),chainNamespace:"eip155"}),he.resetSend()}},async sendSolanaToken(){if(!he.state.sendTokenAmount||!he.state.receiverAddress)throw new Error("An amount and receiver address are required");re.pushTransactionStack({onSuccess(){re.replace("Account")}}),await Y.sendTransaction({chainNamespace:"solana",to:he.state.receiverAddress,value:he.state.sendTokenAmount}),Y._getClient()?.updateBalance("solana"),he.resetSend()},resetSend(){fe.token=void 0,fe.sendTokenAmount=void 0,fe.receiverAddress=void 0,fe.receiverProfileImageUrl=void 0,fe.receiverProfileName=void 0,fe.loading=!1,fe.tokenBalances=[]}},he=_t(Jd),Kn={currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[],user:void 0},Hi={caipNetwork:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]},M=Pe({chains:_d(),activeCaipAddress:void 0,activeChain:void 0,activeCaipNetwork:void 0,noAdapters:!1,universalAdapter:{networkControllerClient:void 0,connectionControllerClient:void 0},isSwitchingNamespace:!1}),Yd={state:M,subscribe(t){return st(M,()=>{t(M)})},subscribeKey(t,e){return rt(M,t,e)},subscribeChainProp(t,e,s){let r;return st(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}=W.getActiveNetworkProps(),n=e?.find(u=>u.id.toString()===r?.toString()),a=t.find(u=>u?.namespace===i)||t?.[0],c=t.map(u=>u.namespace).filter(u=>u!==void 0),l=P.state.enableEmbedded?new Set([...c]):new Set([...e?.map(u=>u.chainNamespace)??[]]);(t?.length===0||!a)&&(M.noAdapters=!0),M.noAdapters||(M.activeChain=a?.namespace,M.activeCaipNetwork=n,p.setChainNetworkData(a?.namespace,{caipNetwork:n}),M.activeChain&&Is.set({activeChain:a?.namespace})),l.forEach(u=>{const h=e?.filter(d=>d.chainNamespace===u);p.state.chains.set(u,{namespace:u,networkState:Pe({...Hi,caipNetwork:h?.[0]}),accountState:Pe(Kn),caipNetworks:h??[],...s}),p.setRequestedCaipNetworks(h??[],u)})},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&&p.setActiveCaipNetwork(s)}}M.chains.delete(t)},addAdapter(t,{networkControllerClient:e,connectionControllerClient:s},r){M.chains.set(t.namespace,{namespace:t.namespace,networkState:{...Hi,caipNetwork:r[0]},accountState:Kn,caipNetworks:r,connectionControllerClient:s,networkControllerClient:e}),p.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}),p.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]&&p.setActiveCaipNetwork(s.caipNetworks[0]),M.chains.set(t,{...s,caipNetworks:i}),p.setRequestedCaipNetworks(i||[],t),i.length===0&&q.filterByNamespace(t,!1)}},setAdapterNetworkState(t,e){const s=M.chains.get(t);s&&(s.networkState={...s.networkState||Hi,...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||Kn,...e};M.chains.set(t,{...r,accountState:i}),(M.chains.size===1||M.activeChain===t)&&(e.caipAddress&&(M.activeCaipAddress=e.caipAddress),H.replaceState(i))}},setChainNetworkData(t,e){if(!t)return;const s=M.chains.get(t);if(s){const r={...s.networkState||Hi,...e};M.chains.set(t,{...s,networkState:r})}},setAccountProp(t,e,s,r=!0){p.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,p.setChainNetworkData(t,{caipNetwork:s}),W.setActiveCaipNetworkId(s?.caipNetworkId),Is.set({activeChain:t,selectedNetworkId:s?.caipNetworkId}))},setActiveCaipNetwork(t){if(!t)return;M.activeChain!==t.chainNamespace&&p.setIsSwitchingNamespace(!0);const e=M.chains.get(t.chainNamespace);M.activeChain=t.chainNamespace,M.activeCaipNetwork=t,p.setChainNetworkData(t.chainNamespace,{caipNetwork:t}),e?.accountState?.address?M.activeCaipAddress=`${t.chainNamespace}:${t.id}:${e?.accountState?.address}`:M.activeCaipAddress=void 0,p.setAccountProp("caipAddress",M.activeCaipAddress,t.chainNamespace),e&&H.replaceState(e.accountState),he.resetSend(),Is.set({activeChain:M.activeChain,selectedNetworkId:M.activeCaipNetwork?.caipNetworkId}),W.setActiveCaipNetworkId(t.caipNetworkId),!p.checkIfSupportedNetwork(t.chainNamespace)&&P.state.enableNetworkSwitch&&!P.state.allowUnsupportedChain&&!Y.state.wcBasic&&p.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!==p.state.activeChain,s=p.getNetworkData(t)?.caipNetwork,r=p.getCaipNetworkByNamespace(t,s?.id);e&&r&&await p.switchActiveNetwork(r)},async switchActiveNetwork(t){const s=!p.state.chains.get(p.state.activeChain)?.caipNetworks?.some(i=>i.id===M.activeCaipNetwork?.id),r=p.getNetworkControllerClient(t.chainNamespace);if(r){try{await r.switchCaipNetwork(t),s&&Ke.close()}catch{re.goBack()}Te.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 X.sortRequestedNetworks(s,r)},getAllRequestedCaipNetworks(){const t=[];return M.chains.forEach(e=>{const s=p.getRequestedCaipNetworks(e.namespace);t.push(...s)}),t},setRequestedCaipNetworks(t,e){p.setAdapterNetworkState(e,{requestedCaipNetworks:t});const r=p.getAllRequestedCaipNetworks().map(n=>n.chainNamespace),i=Array.from(new Set(r));q.filterByNamespaces(i)},getAllApprovedCaipNetworkIds(){const t=[];return M.chains.forEach(e=>{const s=p.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 p.getNetworkControllerClient()?.getApprovedCaipNetworksData();p.setAdapterNetworkState(t,{approvedCaipNetworkIds:s?.approvedCaipNetworkIds,supportsAllNetworks:s?.supportsAllNetworks})},checkIfSupportedNetwork(t,e){const s=e||M.activeCaipNetwork,r=p.getRequestedCaipNetworks(t);return r.length?r?.some(i=>i.id===s?.id):!0},checkIfSupportedChainId(t){return M.activeChain?p.getRequestedCaipNetworks(M.activeChain)?.some(s=>s.id===t):!0},setSmartAccountEnabledNetworks(t,e){p.setAdapterNetworkState(e,{smartAccountEnabledNetworks:t})},checkIfSmartAccountEnabled(){const t=Kl.caipNetworkIdToNumber(M.activeCaipNetwork?.caipNetworkId),e=M.activeChain;return!e||!t?!1:!!p.getNetworkProp("smartAccountEnabledNetworks",e)?.includes(Number(t))},getActiveNetworkTokenAddress(){const t=M.activeCaipNetwork?.chainNamespace||"eip155",e=M.activeCaipNetwork?.id||1,s=Ce.NATIVE_TOKEN_ADDRESS[t];return`${t}:${e}:${s}`},showUnsupportedChainUI(){Ke.open({view:"UnsupportedChain"})},checkIfNamesSupported(){const t=M.activeCaipNetwork;return!!(t?.chainNamespace&&Ce.NAMES_SUPPORTED_CHAIN_NAMESPACES.includes(t.chainNamespace))},resetNetwork(t){p.setAdapterNetworkState(t,{approvedCaipNetworkIds:void 0,supportsAllNetworks:!0,smartAccountEnabledNetworks:[]})},resetAccount(t){const e=t;if(!e)throw new Error("Chain is required to set account prop");M.activeCaipAddress=void 0,p.setChainAccountData(e,{smartAccountDeployed:!1,currentTab:0,caipAddress:void 0,address:void 0,balance:void 0,balanceSymbol:void 0,profileName:void 0,profileImage:void 0,addressExplorerUrl:void 0,tokenBalance:[],connectedWalletInfo:void 0,preferredAccountTypes:void 0,socialProvider:void 0,socialWindow:void 0,farcasterUrl:void 0,allAccounts:[],user:void 0,status:"disconnected"}),q.removeConnectorId(e)},setIsSwitchingNamespace(t){M.isSwitchingNamespace=t},getFirstCaipNetworkSupportsAuthConnector(){const t=[];let e;if(M.chains.forEach(s=>{j.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?p.state.chains.get(t)?.accountState:H.state},getNetworkData(t){const e=t||M.activeChain;if(e)return p.state.chains.get(e)?.networkState},getCaipNetworkByNamespace(t,e){if(!t)return;const s=p.state.chains.get(t),r=s?.caipNetworks?.find(i=>i.id===e);return r||s?.networkState?.caipNetwork||s?.caipNetworks?.[0]},getRequestedCaipNetworkIds(){const t=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?p.getRequestedCaipNetworks(t):p.getAllRequestedCaipNetworks()}},p=_t(Yd),Xd={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"}]}]},Ql=X.getBlockchainApiUrl(),ct=Pe({clientId:null,api:new $i({baseUrl:Ql,clientId:null}),supportedChains:{http:[],ws:[]}}),J={state:ct,async get(t){const{st:e,sv:s}=J.getSdkProperties(),r=P.state.projectId,i={...t.params||{},st:e,sv:s,projectId:r};return ct.api.get({...t,params:i})},getSdkProperties(){const{sdkType:t,sdkVersion:e}=P.state;return{st:t||"unknown",sv:e||"unknown"}},async isNetworkSupported(t){if(!t)return!1;try{ct.supportedChains.http.length||await J.getSupportedNetworks()}catch{return!1}return ct.supportedChains.http.includes(t)},async getSupportedNetworks(){try{const t=await J.get({path:"v1/supported-chains"});return ct.supportedChains=t,t}catch{return ct.supportedChains}},async fetchIdentity({address:t,caipNetworkId:e}){if(!await J.isNetworkSupported(e))return{avatar:"",name:""};const r=W.getIdentityFromCacheForAddress(t);if(r)return r;const i=await J.get({path:`/v1/identity/${t}`,params:{sender:p.state.activeCaipAddress?X.getPlainAddress(p.state.activeCaipAddress):void 0}});return W.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(p.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(p.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(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:"/v1/convert/tokens",params:{chainId:t}}):{tokens:[]}},async fetchTokenPrice({addresses:t}){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?ct.api.post({path:"/v1/fungible/price",body:{currency:"usd",addresses:t,projectId:P.state.projectId},headers:{"Content-Type":"application/json"}}):{fungibles:[]}},async fetchSwapAllowance({tokenAddress:t,userAddress:e}){return await J.isNetworkSupported(p.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(p.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(p.state.activeCaipNetwork?.caipNetworkId))throw new Error("Network not supported for Swaps");return ct.api.post({path:"/v1/convert/build-transaction",headers:{"Content-Type":"application/json"},body:{amount:t,eip155:{slippage:Ce.CONVERT_SLIPPAGE_TOLERANCE},projectId:P.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(p.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(p.state.activeCaipNetwork?.caipNetworkId))return jt.showError("Token Balance Unavailable"),{balances:[]};const o=`${e}:${t}`,a=W.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 W.updateBalanceCache({caipAddress:o,balance:c,timestamp:Date.now()}),c},async lookupEnsName(t){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/profile/account/${t}`,params:{apiVersion:"2"}}):{addresses:{},attributes:[]}},async reverseLookupEnsName({address:t}){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/profile/reverse/${t}`,params:{sender:H.state.address,apiVersion:"2"}}):[]},async getEnsNameSuggestions(t){return await J.isNetworkSupported(p.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(p.state.activeCaipNetwork?.caipNetworkId)?ct.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(p.state.activeCaipNetwork?.caipNetworkId)?(await ct.api.post({path:"/v1/generators/onrampurl",params:{projectId:P.state.projectId},body:{destinationWallets:t,defaultNetwork:s,partnerUserId:e,defaultExperience:"buy",presetCryptoAmount:r,presetFiatAmount:i}})).url:""},async getOnrampOptions(){if(!await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId))return{paymentCurrencies:[],purchaseCurrencies:[]};try{return await J.get({path:"/v1/onramp/options"})}catch{return Xd}},async getOnrampQuote({purchaseCurrency:t,paymentCurrency:e,amount:s,network:r}){try{return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?await ct.api.post({path:"/v1/onramp/quote",params:{projectId:P.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(p.state.activeCaipNetwork?.caipNetworkId)?J.get({path:`/v1/sessions/${t}`}):[]},async revokeSmartSession(t,e,s){return await J.isNetworkSupported(p.state.activeCaipNetwork?.caipNetworkId)?ct.api.post({path:`/v1/sessions/${t}/revoke`,params:{projectId:P.state.projectId},body:{pci:e,signature:s}}):{success:!1}},setClientId(t){ct.clientId=t,ct.api=new $i({baseUrl:Ql,clientId:t})}},At=Pe({currentTab:0,tokenBalance:[],smartAccountDeployed:!1,addressLabels:new Map,allAccounts:[]}),Zd={state:At,replaceState(t){t&&Object.assign(At,Ks(t))},subscribe(t){return p.subscribeChainProp("accountState",e=>{if(e)return t(e)})},subscribeKey(t,e,s){let r;return p.subscribeChainProp("accountState",i=>{if(i){const n=i[t];r!==n&&(r=n,e(n))}},s)},setStatus(t,e){p.setAccountProp("status",t,e)},getCaipAddress(t){return p.getAccountProp("caipAddress",t)},setCaipAddress(t,e){const s=t?X.getPlainAddress(t):void 0;e===p.state.activeChain&&(p.state.activeCaipAddress=t),p.setAccountProp("caipAddress",t,e),p.setAccountProp("address",s,e)},setBalance(t,e,s){p.setAccountProp("balance",t,s),p.setAccountProp("balanceSymbol",e,s)},setProfileName(t,e){p.setAccountProp("profileName",t,e)},setProfileImage(t,e){p.setAccountProp("profileImage",t,e)},setUser(t,e){p.setAccountProp("user",t,e)},setAddressExplorerUrl(t,e){p.setAccountProp("addressExplorerUrl",t,e)},setSmartAccountDeployed(t,e){p.setAccountProp("smartAccountDeployed",t,e)},setCurrentTab(t){p.setAccountProp("currentTab",t,p.state.activeChain)},setTokenBalance(t,e){t&&p.setAccountProp("tokenBalance",t,e)},setShouldUpdateToAddress(t,e){p.setAccountProp("shouldUpdateToAddress",t,e)},setAllAccounts(t,e){p.setAccountProp("allAccounts",t,e)},addAddressLabel(t,e,s){const r=p.getAccountProp("addressLabels",s)||new Map;r.set(t,e),p.setAccountProp("addressLabels",r,s)},removeAddressLabel(t,e){const s=p.getAccountProp("addressLabels",e)||new Map;s.delete(t),p.setAccountProp("addressLabels",s,e)},setConnectedWalletInfo(t,e){p.setAccountProp("connectedWalletInfo",t,e,!1)},setPreferredAccountType(t,e){p.setAccountProp("preferredAccountTypes",{...At.preferredAccountTypes,[e]:t},e)},setPreferredAccountTypes(t){At.preferredAccountTypes=t},setSocialProvider(t,e){t&&p.setAccountProp("socialProvider",t,e)},setSocialWindow(t,e){p.setAccountProp("socialWindow",t?Ks(t):void 0,e)},setFarcasterUrl(t,e){p.setAccountProp("farcasterUrl",t,e)},async fetchTokenBalance(t){At.balanceLoading=!0;const e=p.state.activeCaipNetwork?.caipNetworkId,s=p.state.activeCaipNetwork?.chainNamespace,r=p.state.activeCaipAddress,i=r?X.getPlainAddress(r):void 0;if(At.lastRetry&&!X.isAllowedRetry(At.lastRetry,30*Ce.ONE_SEC_MS))return At.balanceLoading=!1,[];try{if(i&&e&&s){const o=(await J.getBalance(i,e)).balances.filter(a=>a.quantity.decimals!=="0");return H.setTokenBalance(o,s),At.lastRetry=void 0,At.balanceLoading=!1,o}}catch(n){At.lastRetry=Date.now(),t?.(n),jt.showError("Token Balance Unavailable")}finally{At.balanceLoading=!1}return[]},resetAccount(t){p.resetAccount(t)}},H=_t(Zd),Qd={onSwitchNetwork({network:t,ignoreSwitchConfirmation:e=!1}){const s=p.state.activeCaipNetwork,r=re.state.data;if(t.id===s?.id)return;const n=H.getCaipAddress(p.state.activeChain),o=t.chainNamespace!==p.state.activeChain,a=H.getCaipAddress(t.chainNamespace),l=q.getConnectorId(p.state.activeChain)===j.CONNECTOR_ID.AUTH,u=j.AUTH_CONNECTOR_SUPPORTED_CHAINS.find(h=>h===t.chainNamespace);e||l&&u?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})}},lt=Pe({loading:!1,loadingNamespaceMap:new Map,open:!1,shake:!1,namespace:void 0}),ep={state:lt,subscribe(t){return st(lt,()=>t(lt))},subscribeKey(t,e){return rt(lt,t,e)},async open(t){const e=H.state.status==="connected",s=t?.namespace,r=p.state.activeChain,i=s&&s!==r,n=p.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),Ke.setLoading(!0,s),s&&i){const o=p.getNetworkData(s)?.caipNetwork||p.getRequestedCaipNetworks(s)[0];o&&Qd.onSwitchNetwork({network:o,ignoreSwitchConfirmation:!0})}else{const o=p.state.noAdapters;P.state.manualWCControl||o&&!n?X.isMobile()?re.reset("AllWallets"):re.reset("ConnectingWalletConnectBasic"):t?.view?re.reset(t.view,t.data):n?re.reset("Account"):re.reset("Connect")}lt.open=!0,Is.set({open:!0}),Te.sendEvent({type:"track",event:"MODAL_OPEN",properties:{connected:!!n}})},close(){const t=P.state.enableEmbedded,e=!!p.state.activeCaipAddress;lt.open&&Te.sendEvent({type:"track",event:"MODAL_CLOSE",properties:{connected:e}}),lt.open=!1,re.reset("Connect"),Ke.clearLoading(),t?e?re.replace("Account"):re.push("Connect"):Is.set({open:!1}),Y.resetUri()},setLoading(t,e){e&&lt.loadingNamespaceMap.set(e,t),lt.loading=t,Is.set({loading:t})},clearLoading(){lt.loadingNamespaceMap.clear(),lt.loading=!1},shake(){lt.shake||(lt.shake=!0,setTimeout(()=>{lt.shake=!1},500))}},Ke=_t(ep),di={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"}]},No={id:"USD",payment_method_limits:[{id:"card",min:"10.00",max:"7500.00"},{id:"ach_bank_account",min:"10.00",max:"25000.00"}]},tp={providers:Yl,selectedProvider:null,error:null,purchaseCurrency:di,paymentCurrency:No,purchaseCurrencies:[di],paymentCurrencies:[],quotesLoading:!1},oe=Pe(tp),sp={state:oe,subscribe(t){return st(oe,()=>t(oe))},subscribeKey(t,e){return rt(oe,t,e)},setSelectedProvider(t){if(t&&t.name==="meld"){const e=p.state.activeChain===j.CHAIN.SOLANA?"SOL":"USDC",s=H.state.address??"",r=new URL(t.url);r.searchParams.append("publicKey",Ad),r.searchParams.append("destinationCurrencyCode",e),r.searchParams.append("walletAddress",s),r.searchParams.append("externalCustomerId",P.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=Yl.filter(r=>e.includes(r.name));oe.providers=s}else oe.providers=[]},setPurchaseCurrency(t){oe.purchaseCurrency=t},setPaymentCurrency(t){oe.paymentCurrency=t},setPurchaseAmount(t){_o.state.purchaseAmount=t},setPaymentAmount(t){_o.state.paymentAmount=t},async getAvailableCurrencies(){const t=await J.getOnrampOptions();oe.purchaseCurrencies=t.purchaseCurrencies,oe.paymentCurrencies=t.paymentCurrencies,oe.paymentCurrency=t.paymentCurrencies[0]||No,oe.purchaseCurrency=t.purchaseCurrencies[0]||di,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=di,oe.paymentCurrency=No,oe.purchaseCurrencies=[di],oe.paymentCurrencies=[],oe.paymentAmount=void 0,oe.purchaseAmount=void 0,oe.quotesLoading=!1}},_o=_t(sp),Da=2147483648,rp={convertEVMChainIdToCoinType(t){if(t>=Da)throw new Error("Invalid chainId");return(Da|t)>>>0}},St=Pe({suggestions:[],loading:!1}),ip={state:St,subscribe(t){return st(St,()=>t(St))},subscribeKey(t,e){return rt(St,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{St.loading=!0,St.suggestions=[];const e=await J.getEnsNameSuggestions(t);return St.suggestions=e.suggestions.map(s=>({...s,name:s.name}))||[],St.suggestions}catch(e){const s=pi.parseEnsApiError(e,"Error fetching name suggestions");throw new Error(s)}finally{St.loading=!1}},async getNamesForAddress(t){try{if(!p.state.activeCaipNetwork)return[];const s=W.getEnsFromCacheForAddress(t);if(s)return s;const r=await J.reverseLookupEnsName({address:t});return W.updateEnsCache({address:t,ens:r,timestamp:Date.now()}),r}catch(e){const s=pi.parseEnsApiError(e,"Error fetching names for address");throw new Error(s)}},async registerName(t){const e=p.state.activeCaipNetwork;if(!e)throw new Error("Network not found");const s=H.state.address,r=q.getAuthConnector();if(!s||!r)throw new Error("Address or auth connector not found");St.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);St.loading=!1;const o=e.id;if(!o)throw new Error("Network not found");const a=rp.convertEVMChainIdToCoinType(Number(o));await J.registerEnsName({coinType:a,address:s,signature:n,message:i}),H.setProfileName(t,e.chainNamespace),re.replace("RegisterAccountNameSuccess")}catch(i){const n=pi.parseEnsApiError(i,`Error registering name ${t}`);throw re.replace("RegisterAccountName"),new Error(n)}finally{St.loading=!1}},validateName(t){return/^[a-zA-Z0-9-]{4,}$/u.test(t)},parseEnsApiError(t,e){return t?.reasons?.[0]?.description||e}},pi=_t(ip);var eu={exports:{}},Pr=typeof Reflect=="object"?Reflect:null,La=Pr&&typeof Pr.apply=="function"?Pr.apply:function(e,s,r){return Function.prototype.apply.call(e,s,r)},nn;Pr&&typeof Pr.ownKeys=="function"?nn=Pr.ownKeys:Object.getOwnPropertySymbols?nn=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:nn=function(e){return Object.getOwnPropertyNames(e)};function np(t){console&&console.warn&&console.warn(t)}var tu=Number.isNaN||function(e){return e!==e};function ye(){ye.init.call(this)}eu.exports=ye;eu.exports.once=lp;ye.EventEmitter=ye;ye.prototype._events=void 0;ye.prototype._eventsCount=0;ye.prototype._maxListeners=void 0;var Ma=10;function Tn(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(ye,"defaultMaxListeners",{enumerable:!0,get:function(){return Ma},set:function(t){if(typeof t!="number"||t<0||tu(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Ma=t}});ye.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};ye.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||tu(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function su(t){return t._maxListeners===void 0?ye.defaultMaxListeners:t._maxListeners}ye.prototype.getMaxListeners=function(){return su(this)};ye.prototype.emit=function(e){for(var s=[],r=1;r<arguments.length;r++)s.push(arguments[r]);var i=e==="error",n=this._events;if(n!==void 0)i=i&&n.error===void 0;else if(!i)return!1;if(i){var o;if(s.length>0&&(o=s[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=n[e];if(c===void 0)return!1;if(typeof c=="function")La(c,this,s);else for(var l=c.length,u=au(c,l),r=0;r<l;++r)La(u[r],this,s);return!0};function ru(t,e,s,r){var i,n,o;if(Tn(s),n=t._events,n===void 0?(n=t._events=Object.create(null),t._eventsCount=0):(n.newListener!==void 0&&(t.emit("newListener",e,s.listener?s.listener:s),n=t._events),o=n[e]),o===void 0)o=n[e]=s,++t._eventsCount;else if(typeof o=="function"?o=n[e]=r?[s,o]:[o,s]:r?o.unshift(s):o.push(s),i=su(t),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,np(a)}return t}ye.prototype.addListener=function(e,s){return ru(this,e,s,!1)};ye.prototype.on=ye.prototype.addListener;ye.prototype.prependListener=function(e,s){return ru(this,e,s,!0)};function op(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function iu(t,e,s){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:s},i=op.bind(r);return i.listener=s,r.wrapFn=i,i}ye.prototype.once=function(e,s){return Tn(s),this.on(e,iu(this,e,s)),this};ye.prototype.prependOnceListener=function(e,s){return Tn(s),this.prependListener(e,iu(this,e,s)),this};ye.prototype.removeListener=function(e,s){var r,i,n,o,a;if(Tn(s),i=this._events,i===void 0)return this;if(r=i[e],r===void 0)return this;if(r===s||r.listener===s)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||s));else if(typeof r!="function"){for(n=-1,o=r.length-1;o>=0;o--)if(r[o]===s||r[o].listener===s){a=r[o].listener,n=o;break}if(n<0)return this;n===0?r.shift():ap(r,n),r.length===1&&(i[e]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||s)}return this};ye.prototype.off=ye.prototype.removeListener;ye.prototype.removeAllListeners=function(e){var s,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var n=Object.keys(r),o;for(i=0;i<n.length;++i)o=n[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(s=r[e],typeof s=="function")this.removeListener(e,s);else if(s!==void 0)for(i=s.length-1;i>=0;i--)this.removeListener(e,s[i]);return this};function nu(t,e,s){var r=t._events;if(r===void 0)return[];var i=r[e];return i===void 0?[]:typeof i=="function"?s?[i.listener||i]:[i]:s?cp(i):au(i,i.length)}ye.prototype.listeners=function(e){return nu(this,e,!0)};ye.prototype.rawListeners=function(e){return nu(this,e,!1)};ye.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):ou.call(t,e)};ye.prototype.listenerCount=ou;function ou(t){var e=this._events;if(e!==void 0){var s=e[t];if(typeof s=="function")return 1;if(s!==void 0)return s.length}return 0}ye.prototype.eventNames=function(){return this._eventsCount>0?nn(this._events):[]};function au(t,e){for(var s=new Array(e),r=0;r<e;++r)s[r]=t[r];return s}function ap(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function cp(t){for(var e=new Array(t.length),s=0;s<e.length;++s)e[s]=t[s].listener||t[s];return e}function lp(t,e){return new Promise(function(s,r){function i(o){t.removeListener(e,n),r(o)}function n(){typeof t.removeListener=="function"&&t.removeListener("error",i),s([].slice.call(arguments))}cu(t,e,n,{once:!0}),e!=="error"&&up(t,i,{once:!0})})}function up(t,e,s){typeof t.on=="function"&&cu(t,"error",e,s)}function cu(t,e,s,r){if(typeof t.on=="function")r.once?t.once(e,s):t.on(e,s);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(n){r.once&&t.removeEventListener(e,i),s(n)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}const fi={getSIWX(){return P.state.siwx},async initializeIfEnabled(){const t=P.state.siwx,e=p.getActiveCaipAddress();if(!(t&&e))return;const[s,r,i]=e.split(":");if(p.checkIfSupportedNetwork(s))try{if((await t.getSessions(`${s}:${r}`,i)).length)return;await Ke.open({view:"SIWXSignMessage"})}catch(n){console.error("SIWXUtil:initializeIfEnabled",n),Te.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:this.getSIWXEventProperties()}),await Y._getClient()?.disconnect().catch(console.error),re.reset("Connect"),jt.showError("A problem occurred while trying initialize authentication")}},async requestSignMessage(){const t=P.state.siwx,e=X.getPlainAddress(p.getActiveCaipAddress()),s=p.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)===j.CONNECTOR_ID.AUTH&&re.pushTransactionStack({});const a=await r.signMessage(n);await t.addSession({data:i,message:n,signature:a}),Ke.close(),Te.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:this.getSIWXEventProperties()})}catch(i){const n=this.getSIWXEventProperties();(!Ke.state.open||re.state.view==="ApproveTransaction")&&await Ke.open({view:"SIWXSignMessage"}),n.isSmartAccount?jt.showError("This application might not support Smart Accounts"):jt.showError("Signature declined"),Te.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:n}),console.error("SWIXUtil:requestSignMessage",i)}},async cancelSignMessage(){try{this.getSIWX()?.getRequired?.()?await Y.disconnect():Ke.close(),re.reset("Connect"),Te.sendEvent({event:"CLICK_CANCEL_SIWX",type:"track",properties:this.getSIWXEventProperties()})}catch(t){console.error("SIWXUtil:cancelSignMessage",t)}},async getSessions(){const t=P.state.siwx,e=X.getPlainAddress(p.getActiveCaipAddress()),s=p.getActiveCaipNetwork();return t&&e&&s?t.getSessions(s.caipNetworkId,e):[]},async isSIWXCloseDisabled(){const t=this.getSIWX();if(t){const e=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=fi.getSIWX(),i=new Set(e.map(a=>a.split(":")[0]));if(!r||i.size!==1||!i.has("eip155"))return!1;const n=await r.createMessage({chainId:p.getActiveCaipNetwork()?.caipNetworkId||"",accountAddress:""}),o=await t.authenticate({nonce:n.nonce,domain:n.domain,uri:n.uri,exp:n.expirationTime,iat:n.issuedAt,nbf:n.notBefore,requestId:n.requestId,version:n.version,resources:n.resources,statement:n.statement,chainId:n.chainId,methods:s,chains:[n.chainId,...e.filter(a=>a!==n.chainId)]});if(jt.showLoading("Authenticating...",{autoClose:!1}),H.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),Te.sendEvent({type:"track",event:"SIWX_AUTH_SUCCESS",properties:fi.getSIWXEventProperties()})}catch(c){throw console.error("SIWX:universalProviderAuth - failed to set sessions",c),Te.sendEvent({type:"track",event:"SIWX_AUTH_ERROR",properties:fi.getSIWXEventProperties()}),await t.disconnect().catch(console.error),c}finally{jt.hide()}}return!0},getSIWXEventProperties(){const t=p.state.activeChain;return{network:p.state.activeCaipNetwork?.caipNetworkId||"",isSmartAccount:H.state.preferredAccountTypes?.[t]===hi.ACCOUNT_TYPES.SMART_ACCOUNT}},async clearSessions(){const t=this.getSIWX();t&&await t.setSessions([])}};var na={exports:{}},Or=typeof Reflect=="object"?Reflect:null,Ba=Or&&typeof Or.apply=="function"?Or.apply:function(e,s,r){return Function.prototype.apply.call(e,s,r)},on;Or&&typeof Or.ownKeys=="function"?on=Or.ownKeys:Object.getOwnPropertySymbols?on=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:on=function(e){return Object.getOwnPropertyNames(e)};function hp(t){console&&console.warn&&console.warn(t)}var lu=Number.isNaN||function(e){return e!==e};function be(){be.init.call(this)}na.exports=be;na.exports.once=gp;be.EventEmitter=be;be.prototype._events=void 0;be.prototype._eventsCount=0;be.prototype._maxListeners=void 0;var ja=10;function kn(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(be,"defaultMaxListeners",{enumerable:!0,get:function(){return ja},set:function(t){if(typeof t!="number"||t<0||lu(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");ja=t}});be.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};be.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||lu(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function uu(t){return t._maxListeners===void 0?be.defaultMaxListeners:t._maxListeners}be.prototype.getMaxListeners=function(){return uu(this)};be.prototype.emit=function(e){for(var s=[],r=1;r<arguments.length;r++)s.push(arguments[r]);var i=e==="error",n=this._events;if(n!==void 0)i=i&&n.error===void 0;else if(!i)return!1;if(i){var o;if(s.length>0&&(o=s[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=n[e];if(c===void 0)return!1;if(typeof c=="function")Ba(c,this,s);else for(var l=c.length,u=gu(c,l),r=0;r<l;++r)Ba(u[r],this,s);return!0};function hu(t,e,s,r){var i,n,o;if(kn(s),n=t._events,n===void 0?(n=t._events=Object.create(null),t._eventsCount=0):(n.newListener!==void 0&&(t.emit("newListener",e,s.listener?s.listener:s),n=t._events),o=n[e]),o===void 0)o=n[e]=s,++t._eventsCount;else if(typeof o=="function"?o=n[e]=r?[s,o]:[o,s]:r?o.unshift(s):o.push(s),i=uu(t),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,hp(a)}return t}be.prototype.addListener=function(e,s){return hu(this,e,s,!1)};be.prototype.on=be.prototype.addListener;be.prototype.prependListener=function(e,s){return hu(this,e,s,!0)};function dp(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function du(t,e,s){var r={fired:!1,wrapFn:void 0,target:t,type:e,listener:s},i=dp.bind(r);return i.listener=s,r.wrapFn=i,i}be.prototype.once=function(e,s){return kn(s),this.on(e,du(this,e,s)),this};be.prototype.prependOnceListener=function(e,s){return kn(s),this.prependListener(e,du(this,e,s)),this};be.prototype.removeListener=function(e,s){var r,i,n,o,a;if(kn(s),i=this._events,i===void 0)return this;if(r=i[e],r===void 0)return this;if(r===s||r.listener===s)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,r.listener||s));else if(typeof r!="function"){for(n=-1,o=r.length-1;o>=0;o--)if(r[o]===s||r[o].listener===s){a=r[o].listener,n=o;break}if(n<0)return this;n===0?r.shift():pp(r,n),r.length===1&&(i[e]=r[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||s)}return this};be.prototype.off=be.prototype.removeListener;be.prototype.removeAllListeners=function(e){var s,r,i;if(r=this._events,r===void 0)return this;if(r.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):r[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete r[e]),this;if(arguments.length===0){var n=Object.keys(r),o;for(i=0;i<n.length;++i)o=n[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(s=r[e],typeof s=="function")this.removeListener(e,s);else if(s!==void 0)for(i=s.length-1;i>=0;i--)this.removeListener(e,s[i]);return this};function pu(t,e,s){var r=t._events;if(r===void 0)return[];var i=r[e];return i===void 0?[]:typeof i=="function"?s?[i.listener||i]:[i]:s?fp(i):gu(i,i.length)}be.prototype.listeners=function(e){return pu(this,e,!0)};be.prototype.rawListeners=function(e){return pu(this,e,!1)};be.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):fu.call(t,e)};be.prototype.listenerCount=fu;function fu(t){var e=this._events;if(e!==void 0){var s=e[t];if(typeof s=="function")return 1;if(s!==void 0)return s.length}return 0}be.prototype.eventNames=function(){return this._eventsCount>0?on(this._events):[]};function gu(t,e){for(var s=new Array(e),r=0;r<e;++r)s[r]=t[r];return s}function pp(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function fp(t){for(var e=new Array(t.length),s=0;s<e.length;++s)e[s]=t[s].listener||t[s];return e}function gp(t,e){return new Promise(function(s,r){function i(o){t.removeListener(e,n),r(o)}function n(){typeof t.removeListener=="function"&&t.removeListener("error",i),s([].slice.call(arguments))}mu(t,e,n,{once:!0}),e!=="error"&&mp(t,i,{once:!0})})}function mp(t,e,s){typeof t.on=="function"&&mu(t,"error",e,s)}function mu(t,e,s,r){if(typeof t.on=="function")r.once?t.once(e,s):t.on(e,s);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(n){r.once&&t.removeEventListener(e,i),s(n)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}var Os=na.exports;const oa=Kh(Os);function wp(t){return!t||typeof t.then!="function"?Promise.resolve(t):t}function We(t,...e){try{return wp(t(...e))}catch(s){return Promise.reject(s)}}function yp(t){const e=typeof t;return t===null||e!=="object"&&e!=="function"}function bp(t){const e=Object.getPrototypeOf(t);return!e||e.isPrototypeOf(Object)}function an(t){if(yp(t))return String(t);if(bp(t)||Array.isArray(t))return JSON.stringify(t);if(typeof t.toJSON=="function")return an(t.toJSON());throw new Error("[unstorage] Cannot stringify value!")}const Ao="base64:";function vp(t){return typeof t=="string"?t:Ao+Ip(t)}function Ep(t){return typeof t!="string"||!t.startsWith(Ao)?t:Cp(t.slice(Ao.length))}function Cp(t){return globalThis.Buffer?Buffer.from(t,"base64"):Uint8Array.from(globalThis.atob(t),e=>e.codePointAt(0))}function Ip(t){return globalThis.Buffer?Buffer.from(t).toString("base64"):globalThis.btoa(String.fromCodePoint(...t))}function dt(t){return t&&t.split("?")[0]?.replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,"")||""}function Np(...t){return dt(t.join(":"))}function zi(t){return t=dt(t),t?t+":":""}function _p(t,e){if(e===void 0)return!0;let s=0,r=t.indexOf(":");for(;r>-1;)s++,r=t.indexOf(":",r+1);return s<=e}function Ap(t,e){return e?t.startsWith(e)&&t[t.length-1]!=="$":t[t.length-1]!=="$"}const Sp="memory",Pp=()=>{const t=new Map;return{name:Sp,getInstance:()=>t,hasItem(e){return t.has(e)},getItem(e){return t.get(e)??null},getItemRaw(e){return t.get(e)??null},setItem(e,s){t.set(e,s)},setItemRaw(e,s){t.set(e,s)},removeItem(e){t.delete(e)},getKeys(){return[...t.keys()]},clear(){t.clear()},dispose(){t.clear()}}};function Op(t={}){const e={mounts:{"":t.driver||Pp()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},s=l=>{for(const u of e.mountpoints)if(l.startsWith(u))return{base:u,relativeKey:l.slice(u.length),driver:e.mounts[u]};return{base:"",relativeKey:l,driver:e.mounts[""]}},r=(l,u)=>e.mountpoints.filter(h=>h.startsWith(l)||u&&l.startsWith(h)).map(h=>({relativeBase:l.length>h.length?l.slice(h.length):void 0,mountpoint:h,driver:e.mounts[h]})),i=(l,u)=>{if(e.watching){u=dt(u);for(const h of e.watchListeners)h(l,u)}},n=async()=>{if(!e.watching){e.watching=!0;for(const l in e.mounts)e.unwatch[l]=await qa(e.mounts[l],i,l)}},o=async()=>{if(e.watching){for(const l in e.unwatch)await e.unwatch[l]();e.unwatch={},e.watching=!1}},a=(l,u,h)=>{const d=new Map,f=m=>{let w=d.get(m.base);return w||(w={driver:m.driver,base:m.base,items:[]},d.set(m.base,w)),w};for(const m of l){const w=typeof m=="string",g=dt(w?m:m.key),y=w?void 0:m.value,b=w||!m.options?u:{...u,...m.options},E=s(g);f(E).items.push({key:g,value:y,relativeKey:E.relativeKey,options:b})}return Promise.all([...d.values()].map(m=>h(m))).then(m=>m.flat())},c={hasItem(l,u={}){l=dt(l);const{relativeKey:h,driver:d}=s(l);return We(d.hasItem,h,u)},getItem(l,u={}){l=dt(l);const{relativeKey:h,driver:d}=s(l);return We(d.getItem,h,u).then(f=>Wi(f))},getItems(l,u={}){return a(l,u,h=>h.driver.getItems?We(h.driver.getItems,h.items.map(d=>({key:d.relativeKey,options:d.options})),u).then(d=>d.map(f=>({key:Np(h.base,f.key),value:Wi(f.value)}))):Promise.all(h.items.map(d=>We(h.driver.getItem,d.relativeKey,d.options).then(f=>({key:d.key,value:Wi(f)})))))},getItemRaw(l,u={}){l=dt(l);const{relativeKey:h,driver:d}=s(l);return d.getItemRaw?We(d.getItemRaw,h,u):We(d.getItem,h,u).then(f=>Ep(f))},async setItem(l,u,h={}){if(u===void 0)return c.removeItem(l);l=dt(l);const{relativeKey:d,driver:f}=s(l);f.setItem&&(await We(f.setItem,d,an(u),h),f.watch||i("update",l))},async setItems(l,u){await a(l,u,async h=>{if(h.driver.setItems)return We(h.driver.setItems,h.items.map(d=>({key:d.relativeKey,value:an(d.value),options:d.options})),u);h.driver.setItem&&await Promise.all(h.items.map(d=>We(h.driver.setItem,d.relativeKey,an(d.value),d.options)))})},async setItemRaw(l,u,h={}){if(u===void 0)return c.removeItem(l,h);l=dt(l);const{relativeKey:d,driver:f}=s(l);if(f.setItemRaw)await We(f.setItemRaw,d,u,h);else if(f.setItem)await We(f.setItem,d,vp(u),h);else return;f.watch||i("update",l)},async removeItem(l,u={}){typeof u=="boolean"&&(u={removeMeta:u}),l=dt(l);const{relativeKey:h,driver:d}=s(l);d.removeItem&&(await We(d.removeItem,h,u),(u.removeMeta||u.removeMata)&&await We(d.removeItem,h+"$",u),d.watch||i("remove",l))},async getMeta(l,u={}){typeof u=="boolean"&&(u={nativeOnly:u}),l=dt(l);const{relativeKey:h,driver:d}=s(l),f=Object.create(null);if(d.getMeta&&Object.assign(f,await We(d.getMeta,h,u)),!u.nativeOnly){const m=await We(d.getItem,h+"$",u).then(w=>Wi(w));m&&typeof m=="object"&&(typeof m.atime=="string"&&(m.atime=new Date(m.atime)),typeof m.mtime=="string"&&(m.mtime=new Date(m.mtime)),Object.assign(f,m))}return f},setMeta(l,u,h={}){return this.setItem(l+"$",u,h)},removeMeta(l,u={}){return this.removeItem(l+"$",u)},async getKeys(l,u={}){l=zi(l);const h=r(l,!0);let d=[];const f=[];let m=!0;for(const g of h){g.driver.flags?.maxDepth||(m=!1);const y=await We(g.driver.getKeys,g.relativeBase,u);for(const b of y){const E=g.mountpoint+dt(b);d.some(N=>E.startsWith(N))||f.push(E)}d=[g.mountpoint,...d.filter(b=>!b.startsWith(g.mountpoint))]}const w=u.maxDepth!==void 0&&!m;return f.filter(g=>(!w||_p(g,u.maxDepth))&&Ap(g,l))},async clear(l,u={}){l=zi(l),await Promise.all(r(l,!1).map(async h=>{if(h.driver.clear)return We(h.driver.clear,h.relativeBase,u);if(h.driver.removeItem){const d=await h.driver.getKeys(h.relativeBase||"",u);return Promise.all(d.map(f=>h.driver.removeItem(f,u)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(l=>Fa(l)))},async watch(l){return await n(),e.watchListeners.push(l),async()=>{e.watchListeners=e.watchListeners.filter(u=>u!==l),e.watchListeners.length===0&&await o()}},async unwatch(){e.watchListeners=[],await o()},mount(l,u){if(l=zi(l),l&&e.mounts[l])throw new Error(`already mounted at ${l}`);return l&&(e.mountpoints.push(l),e.mountpoints.sort((h,d)=>d.length-h.length)),e.mounts[l]=u,e.watching&&Promise.resolve(qa(u,i,l)).then(h=>{e.unwatch[l]=h}).catch(console.error),c},async unmount(l,u=!0){l=zi(l),!(!l||!e.mounts[l])&&(e.watching&&l in e.unwatch&&(e.unwatch[l]?.(),delete e.unwatch[l]),u&&await Fa(e.mounts[l]),e.mountpoints=e.mountpoints.filter(h=>h!==l),delete e.mounts[l])},getMount(l=""){l=dt(l)+":";const u=s(l);return{driver:u.driver,base:u.base}},getMounts(l="",u={}){return l=dt(l),r(l,u.parents).map(d=>({driver:d.driver,base:d.mountpoint}))},keys:(l,u={})=>c.getKeys(l,u),get:(l,u={})=>c.getItem(l,u),set:(l,u,h={})=>c.setItem(l,u,h),has:(l,u={})=>c.hasItem(l,u),del:(l,u={})=>c.removeItem(l,u),remove:(l,u={})=>c.removeItem(l,u)};return c}function qa(t,e,s){return t.watch?t.watch((r,i)=>e(r,s+i)):()=>{}}async function Fa(t){typeof t.dispose=="function"&&await We(t.dispose)}const Tp="idb-keyval";var kp=(t={})=>{const e=t.base&&t.base.length>0?`${t.base}:`:"",s=i=>e+i;let r;return t.dbName&&t.storeName&&(r=sd(t.dbName,t.storeName)),{name:Tp,options:t,async hasItem(i){return!(typeof await Sa(s(i),r)>"u")},async getItem(i){return await Sa(s(i),r)??null},setItem(i,n){return rd(s(i),n,r)},removeItem(i){return id(s(i),r)},getKeys(){return nd(r)},clear(){return od(r)}}};const $p="WALLET_CONNECT_V2_INDEXED_DB",xp="keyvaluestorage";let Rp=class{constructor(){this.indexedDb=Op({driver:kp({dbName:$p,storeName:xp})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){const s=await this.indexedDb.getItem(e);if(s!==null)return s}async setItem(e,s){await this.indexedDb.setItem(e,ta(s))}async removeItem(e){await this.indexedDb.removeItem(e)}};var Gn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},cn={exports:{}};(function(){let t;function e(){}t=e,t.prototype.getItem=function(s){return this.hasOwnProperty(s)?String(this[s]):null},t.prototype.setItem=function(s,r){this[s]=String(r)},t.prototype.removeItem=function(s){delete this[s]},t.prototype.clear=function(){const s=this;Object.keys(s).forEach(function(r){s[r]=void 0,delete s[r]})},t.prototype.key=function(s){return s=s||0,Object.keys(this)[s]},t.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof Gn<"u"&&Gn.localStorage?cn.exports=Gn.localStorage:typeof window<"u"&&window.localStorage?cn.exports=window.localStorage:cn.exports=new e})();function Up(t){var e;return[t[0],wn((e=t[1])!=null?e:"")]}let Dp=class{constructor(){this.localStorage=cn.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(Up)}async getItem(e){const s=this.localStorage.getItem(e);if(s!==null)return wn(s)}async setItem(e,s){this.localStorage.setItem(e,ta(s))}async removeItem(e){this.localStorage.removeItem(e)}};const Lp="wc_storage_version",Wa=1,Mp=async(t,e,s)=>{const r=Lp,i=await e.getItem(r);if(i&&i>=Wa){s(e);return}const n=await t.getKeys();if(!n.length){s(e);return}const o=[];for(;n.length;){const a=n.shift();if(!a)continue;const c=a.toLowerCase();if(c.includes("wc@")||c.includes("walletconnect")||c.includes("wc_")||c.includes("wallet_connect")){const l=await t.getItem(a);await e.setItem(a,l),o.push(a)}}await e.setItem(r,Wa),s(e),Bp(t,o)},Bp=async(t,e)=>{e.length&&e.forEach(async s=>{await t.removeItem(s)})};let jp=class{constructor(){this.initialized=!1,this.setInitialized=s=>{this.storage=s,this.initialized=!0};const e=new Dp;this.storage=e;try{const s=new Rp;Mp(e,s,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,s){return await this.initialize(),this.storage.setItem(e,s)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{const s=setInterval(()=>{this.initialized&&(clearInterval(s),e())},20)})}};var qp=Object.defineProperty,Fp=(t,e,s)=>e in t?qp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ha=(t,e,s)=>Fp(t,typeof e!="symbol"?e+"":e,s);let Wp=class extends Hr{constructor(e){super(),this.opts=e,Ha(this,"protocol","wc"),Ha(this,"version",2)}};var Hp=Object.defineProperty,zp=(t,e,s)=>e in t?Hp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Vp=(t,e,s)=>zp(t,e+"",s);let Kp=class extends Hr{constructor(e,s){super(),this.core=e,this.logger=s,Vp(this,"records",new Map)}},Gp=class{constructor(e,s){this.logger=e,this.core=s}},Jp=class extends Hr{constructor(e,s){super(),this.relayer=e,this.logger=s}},Yp=class extends Hr{constructor(e){super()}},Xp=class{constructor(e,s,r,i){this.core=e,this.logger=s,this.name=r}},Zp=class extends Hr{constructor(e,s){super(),this.relayer=e,this.logger=s}},Qp=class extends Hr{constructor(e,s){super(),this.core=e,this.logger=s}},ef=class{constructor(e,s,r){this.core=e,this.logger=s,this.store=r}},tf=class{constructor(e,s){this.projectId=e,this.logger=s}},sf=class{constructor(e,s,r){this.core=e,this.logger=s,this.telemetryEnabled=r}};var rf=Object.defineProperty,nf=(t,e,s)=>e in t?rf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,za=(t,e,s)=>nf(t,typeof e!="symbol"?e+"":e,s);let of=class{constructor(e){this.opts=e,za(this,"protocol","wc"),za(this,"version",2)}},af=class{constructor(e){this.client=e}};function cf(t){if(t.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let l=0;l<e.length;l++)e[l]=255;for(let l=0;l<t.length;l++){const u=t.charAt(l),h=u.charCodeAt(0);if(e[h]!==255)throw new TypeError(u+" is ambiguous");e[h]=l}const s=t.length,r=t.charAt(0),i=Math.log(s)/Math.log(256),n=Math.log(256)/Math.log(s);function o(l){if(l instanceof Uint8Array||(ArrayBuffer.isView(l)?l=new Uint8Array(l.buffer,l.byteOffset,l.byteLength):Array.isArray(l)&&(l=Uint8Array.from(l))),!(l instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(l.length===0)return"";let u=0,h=0,d=0;const f=l.length;for(;d!==f&&l[d]===0;)d++,u++;const m=(f-d)*n+1>>>0,w=new Uint8Array(m);for(;d!==f;){let b=l[d],E=0;for(let N=m-1;(b!==0||E<h)&&N!==-1;N--,E++)b+=256*w[N]>>>0,w[N]=b%s>>>0,b=b/s>>>0;if(b!==0)throw new Error("Non-zero carry");h=E,d++}let g=m-h;for(;g!==m&&w[g]===0;)g++;let y=r.repeat(u);for(;g<m;++g)y+=t.charAt(w[g]);return y}function a(l){if(typeof l!="string")throw new TypeError("Expected String");if(l.length===0)return new Uint8Array;let u=0,h=0,d=0;for(;l[u]===r;)h++,u++;const f=(l.length-u)*i+1>>>0,m=new Uint8Array(f);for(;u<l.length;){const b=l.charCodeAt(u);if(b>255)return;let E=e[b];if(E===255)return;let N=0;for(let $=f-1;(E!==0||N<d)&&$!==-1;$--,N++)E+=s*m[$]>>>0,m[$]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");d=N,u++}let w=f-d;for(;w!==f&&m[w]===0;)w++;const g=new Uint8Array(h+(f-w));let y=h;for(;w!==f;)g[y++]=m[w++];return g}function c(l){const u=a(l);if(u)return u;throw new Error("Non-base"+s+" character")}return{encode:o,decodeUnsafe:a,decode:c}}var lf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";const wu=cf(lf);function yu(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(t):new Uint8Array(t)}function gi(t,e){e||(e=t.reduce((i,n)=>i+n.length,0));const s=yu(e);let r=0;for(const i of t)s.set(i,r),r+=i.length;return s}function bu(t,e,s,r){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:s},decoder:{decode:r}}}const Va=bu("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Jn=bu("ascii","a",t=>{let e="a";for(let s=0;s<t.length;s++)e+=String.fromCharCode(t[s]);return e},t=>{t=t.substring(1);const e=yu(t.length);for(let s=0;s<t.length;s++)e[s]=t.charCodeAt(s);return e}),vu={utf8:Va,"utf-8":Va,hex:_a.base16,latin1:Jn,ascii:Jn,binary:Jn,..._a};function $t(t,e="utf8"){const s=vu[e];if(!s)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t,"utf8"):s.decoder.decode(`${s.prefix}${t}`)}function gt(t,e="utf8"){const s=vu[e];if(!s)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):s.encoder.encode(t).substring(1)}var uf={};const{recoverAddress:hf}=await Pn("viem"),df=":";function Tr(t){const[e,s]=t.split(df);return{namespace:e,reference:s}}function Eu(t,e){return t.includes(":")?[t]:e.chains||[]}var pf=Object.defineProperty,ff=Object.defineProperties,gf=Object.getOwnPropertyDescriptors,Ka=Object.getOwnPropertySymbols,mf=Object.prototype.hasOwnProperty,wf=Object.prototype.propertyIsEnumerable,Ga=(t,e,s)=>e in t?pf(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ja=(t,e)=>{for(var s in e||(e={}))mf.call(e,s)&&Ga(t,s,e[s]);if(Ka)for(var s of Ka(e))wf.call(e,s)&&Ga(t,s,e[s]);return t},yf=(t,e)=>ff(t,gf(e));const bf="ReactNative",Ct={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},vf="js";function bn(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function Ts(){return!xr()&&!!Hl()&&navigator.product===bf}function Ef(){return Ts()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="android"}function Cf(){return Ts()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="ios"}function Vr(){return!bn()&&!!Hl()&&!!xr()}function xi(){return Ts()?Ct.reactNative:bn()?Ct.node:Vr()?Ct.browser:Ct.unknown}function Ya(){var t;try{return Ts()&&typeof global<"u"&&typeof(global==null?void 0:global.Application)<"u"?(t=global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function If(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 Nf(t){var e,s;const r=Cu();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!=="")),yf(Ja(Ja({},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 Cu(){return Gh()||{name:"",description:"",url:"",icons:[""]}}function _f(){if(xi()===Ct.reactNative&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"){const{OS:s,Version:r}=global.Platform;return[s,r].join("-")}const t=Yh();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 Af(){var t;const e=xi();return e===Ct.browser?[e,((t=Xh())==null?void 0:t.host)||"unknown"].join(":"):e}function Iu(t,e,s){const r=_f(),i=Af();return[[t,e].join("-"),[vf,s].join("-"),r,i].join("/")}function Sf({protocol:t,version:e,relayUrl:s,sdkVersion:r,auth:i,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const l=s.split("?"),u=Iu(t,e,r),h={auth:i,ua:u,projectId:n,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:a||void 0},d=If(l[1]||"",h);return l[0]+"?"+d}function Ws(t,e){return t.filter(s=>e.includes(s)).length===t.length}function So(t){return Object.fromEntries(t.entries())}function Po(t){return new Map(Object.entries(t))}function Ls(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 Cs(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 Nu(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 Pf(t){return Nu("topic",t)}function Of(t){return Nu("id",t)}function _u(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 Me(t,e){return U.fromMiliseconds(Date.now()+U.toMiliseconds(t))}function ys(t){return Date.now()>=U.toMiliseconds(t)}function pe(t,e){return`${t}${e?`:${e}`:""}`}function Zt(t=[],e=[]){return[...new Set([...t,...e])]}async function Tf({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=kf(n,t,e),a=xi();if(a===Ct.browser){if(!((r=xr())!=null&&r.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}$f(o)}else a===Ct.reactNative&&typeof(global==null?void 0:global.Linking)<"u"&&await global.Linking.openURL(o)}catch(i){console.error(i)}}function kf(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}${Df(r,!0)}`}else i=`${i}/wc?${r}`;return i}function $f(t){let e="_self";Uf()?e="_top":(Rf()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function xf(t,e){let s="";try{if(Vr()&&(s=localStorage.getItem(e),s))return s;s=await t.getItem(e)}catch(r){console.error(r)}return s}function Xa(t,e){if(!t.includes(e))return null;const s=t.split(/([&,?,=])/),r=s.indexOf(e);return s[r+2]}function Za(){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 aa(){return typeof process<"u"&&uf.IS_VITEST==="true"}function Rf(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Uf(){try{return window.self!==window.top}catch{return!1}}function Df(t,e=!1){const s=Buffer.from(t).toString("base64");return e?s.replace(/[=]/g,""):s}function Au(t){return Buffer.from(t,"base64").toString("utf-8")}function Lf(t){return new Promise(e=>setTimeout(e,t))}function Ci(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Mf(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Ri(t,...e){if(!Mf(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 ca(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Ci(t.outputLen),Ci(t.blockLen)}function Ur(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 Su(t,e){Ri(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}const Vi=BigInt(2**32-1),Qa=BigInt(32);function Bf(t,e=!1){return e?{h:Number(t&Vi),l:Number(t>>Qa&Vi)}:{h:Number(t>>Qa&Vi)|0,l:Number(t&Vi)|0}}function jf(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}=Bf(t[i],e);[s[i],r[i]]=[n,o]}return[s,r]}const qf=(t,e,s)=>t<<s|e>>>32-s,Ff=(t,e,s)=>e<<s|t>>>32-s,Wf=(t,e,s)=>e<<s-32|t>>>64-s,Hf=(t,e,s)=>t<<s-32|e>>>64-s,nr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function zf(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function Yn(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Ht(t,e){return t<<32-e|t>>>e}const ec=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Vf(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}function tc(t){for(let e=0;e<t.length;e++)t[e]=Vf(t[e])}function Kf(t){if(typeof t!="string")throw new Error("utf8ToBytes expected string, got "+typeof t);return new Uint8Array(new TextEncoder().encode(t))}function Dr(t){return typeof t=="string"&&(t=Kf(t)),Ri(t),t}function Gf(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];Ri(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 la=class{clone(){return this._cloneInto()}};function Pu(t){const e=r=>t().update(Dr(r)).digest(),s=t();return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=()=>t(),e}function Kr(t=32){if(nr&&typeof nr.getRandomValues=="function")return nr.getRandomValues(new Uint8Array(t));if(nr&&typeof nr.randomBytes=="function")return nr.randomBytes(t);throw new Error("crypto.getRandomValues must be defined")}const Ou=[],Tu=[],ku=[],Jf=BigInt(0),Zr=BigInt(1),Yf=BigInt(2),Xf=BigInt(7),Zf=BigInt(256),Qf=BigInt(113);for(let t=0,e=Zr,s=1,r=0;t<24;t++){[s,r]=[r,(2*s+3*r)%5],Ou.push(2*(5*r+s)),Tu.push((t+1)*(t+2)/2%64);let i=Jf;for(let n=0;n<7;n++)e=(e<<Zr^(e>>Xf)*Qf)%Zf,e&Yf&&(i^=Zr<<(Zr<<BigInt(n))-Zr);ku.push(i)}const[eg,tg]=jf(ku,!0),sc=(t,e,s)=>s>32?Wf(t,e,s):qf(t,e,s),rc=(t,e,s)=>s>32?Hf(t,e,s):Ff(t,e,s);function sg(t,e=24){const s=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let o=0;o<10;o++)s[o]=t[o]^t[o+10]^t[o+20]^t[o+30]^t[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,l=s[c],u=s[c+1],h=sc(l,u,1)^s[a],d=rc(l,u,1)^s[a+1];for(let f=0;f<50;f+=10)t[o+f]^=h,t[o+f+1]^=d}let i=t[2],n=t[3];for(let o=0;o<24;o++){const a=Tu[o],c=sc(i,n,a),l=rc(i,n,a),u=Ou[o];i=t[u],n=t[u+1],t[u]=c,t[u+1]=l}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)s[a]=t[o+a];for(let a=0;a<10;a++)t[o+a]^=~s[(a+2)%10]&s[(a+4)%10]}t[0]^=eg[r],t[1]^=tg[r]}s.fill(0)}let rg=class $u extends la{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,Ci(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=zf(this.state)}keccak(){ec||tc(this.state32),sg(this.state32,this.rounds),ec||tc(this.state32),this.posOut=0,this.pos=0}update(e){Ur(this);const{blockLen:s,state:r}=this;e=Dr(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&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){Ur(this,!1),Ri(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 Ci(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Su(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 $u(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 ig=(t,e,s)=>Pu(()=>new rg(e,t,s)),ng=ig(1,136,256/8),og="https://rpc.walletconnect.org/v1";function xu(t){const e=`Ethereum Signed Message:
5
+ ${t.length}`,s=new TextEncoder().encode(e+t);return"0x"+Buffer.from(ng(s)).toString("hex")}async function ag(t,e,s,r,i,n){switch(s.t){case"eip191":return await cg(t,e,s.s);case"eip1271":return await lg(t,e,s.s,r,i,n);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${s.t}`)}}async function cg(t,e,s){return(await hf({hash:xu(e),signature:s})).toLowerCase()===t.toLowerCase()}async function lg(t,e,s,r,i,n){const o=Tr(r);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const a="0x1626ba7e",c="0000000000000000000000000000000000000000000000000000000000000040",l="0000000000000000000000000000000000000000000000000000000000000041",u=s.substring(2),h=xu(e).substring(2),d=a+h+c+l+u,f=await fetch(`${n||og}/?chainId=${r}&projectId=${i}`,{method:"POST",body:JSON.stringify({id:ug(),jsonrpc:"2.0",method:"eth_call",params:[{to:t,data:d},"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 ug(){return Date.now()+Math.floor(Math.random()*1e3)}function hg(t){const e=atob(t),s=new Uint8Array(e.length);for(let o=0;o<e.length;o++)s[o]=e.charCodeAt(o);const r=s[0];if(r===0)throw new Error("No signatures found");const i=1+r*64;if(s.length<i)throw new Error("Transaction data too short for claimed signature count");if(s.length<100)throw new Error("Transaction too short");const n=Buffer.from(t,"base64").slice(1,65);return wu.encode(n)}var dg=Object.defineProperty,pg=Object.defineProperties,fg=Object.getOwnPropertyDescriptors,ic=Object.getOwnPropertySymbols,gg=Object.prototype.hasOwnProperty,mg=Object.prototype.propertyIsEnumerable,nc=(t,e,s)=>e in t?dg(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,wg=(t,e)=>{for(var s in e||(e={}))gg.call(e,s)&&nc(t,s,e[s]);if(ic)for(var s of ic(e))mg.call(e,s)&&nc(t,s,e[s]);return t},yg=(t,e)=>pg(t,fg(e));const bg="did:pkh:",ua=t=>t?.split(":"),vg=t=>{const e=t&&ua(t);if(e)return t.includes(bg)?e[3]:e[1]},Oo=t=>{const e=t&&ua(t);if(e)return e[2]+":"+e[3]},vn=t=>{const e=t&&ua(t);if(e)return e.pop()};async function oc(t){const{cacao:e,projectId:s}=t,{s:r,p:i}=e,n=Ru(i,i.iss),o=vn(i.iss);return await ag(o,n,r,Oo(i.iss),s)}const Ru=(t,e)=>{const s=`${t.domain} wants you to sign in with your Ethereum account:`,r=vn(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: ${vg(e)}`,c=`Nonce: ${t.nonce}`,l=`Issued At: ${t.iat}`,u=t.exp?`Expiration Time: ${t.exp}`:void 0,h=t.nbf?`Not Before: ${t.nbf}`:void 0,d=t.requestId?`Request ID: ${t.requestId}`:void 0,f=t.resources?`Resources:${t.resources.map(w=>`
6
+ - ${w}`).join("")}`:void 0,m=ln(t.resources);if(m){const w=Ii(m);i=Og(i,w)}return[s,r,"",i,"",n,o,a,c,l,u,h,d,f].filter(w=>w!=null).join(`
7
+ `)};function Eg(t){return Buffer.from(JSON.stringify(t)).toString("base64")}function Cg(t){return JSON.parse(Buffer.from(t,"base64").toString("utf-8"))}function Gs(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 Ig(t,e,s,r={}){return s?.sort((i,n)=>i.localeCompare(n)),{att:{[t]:Ng(e,s,r)}}}function Ng(t,e,s={}){e=e?.sort((i,n)=>i.localeCompare(n));const r=e.map(i=>({[`${t}/${i}`]:[s]}));return Object.assign({},...r)}function Uu(t){return Gs(t),`urn:recap:${Eg(t).replace(/=/g,"")}`}function Ii(t){const e=Cg(t.replace("urn:recap:",""));return Gs(e),e}function _g(t,e,s){const r=Ig(t,e,s);return Uu(r)}function Ag(t){return t&&t.includes("urn:recap:")}function Sg(t,e){const s=Ii(t),r=Ii(e),i=Pg(s,r);return Uu(i)}function Pg(t,e){Gs(t),Gs(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]=yg(wg({},r.att[i]),{[a]:((c=t.att[i])==null?void 0:c[a])||((l=e.att[i])==null?void 0:l[a])})})}),r}function Og(t="",e){Gs(e);const s="I further authorize the stated URI to perform the following actions on my behalf: ";if(t.includes(s))return t;const r=[];let i=0;Object.keys(e.att).forEach(a=>{const c=Object.keys(e.att[a]).map(h=>({ability:h.split("/")[0],action:h.split("/")[1]}));c.sort((h,d)=>h.action.localeCompare(d.action));const l={};c.forEach(h=>{l[h.ability]||(l[h.ability]=[]),l[h.ability].push(h.action)});const u=Object.keys(l).map(h=>(i++,`(${i}) '${h}': '${l[h].join("', '")}' for '${a}'.`));r.push(u.join(", ").replace(".,","."))});const n=r.join(" "),o=`${s}${n}`;return`${t?t+" ":""}${o}`}function ac(t){var e;const s=Ii(t);Gs(s);const r=(e=s.att)==null?void 0:e.eip155;return r?Object.keys(r).map(i=>i.split("/")[1]):[]}function cc(t){const e=Ii(t);Gs(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 ln(t){if(!t)return;const e=t?.[t.length-1];return Ag(e)?e:void 0}function Xn(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function Du(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Et(t,...e){if(!Du(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 lc(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 Tg(t,e){Et(t);const s=e.outputLen;if(t.length<s)throw new Error("digestInto() expects output buffer of length at least "+s)}function uc(t){if(typeof t!="boolean")throw new Error(`boolean expected, not ${t}`)}const Ns=t=>new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4)),kg=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),$g=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!$g)throw new Error("Non little-endian hardware is not supported");function xg(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function To(t){if(typeof t=="string")t=xg(t);else if(Du(t))t=ko(t);else throw new Error("Uint8Array expected, got "+typeof t);return t}function Rg(t,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(t,e)}function Ug(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 Dg=(t,e)=>{function s(r,...i){if(Et(r),t.nonceLength!==void 0){const l=i[0];if(!l)throw new Error("nonce / iv required");t.varSizeNonce?Et(l):Et(l,t.nonceLength)}const n=t.tagLength;n&&i[1]!==void 0&&Et(i[1]);const o=e(r,...i),a=(l,u)=>{if(u!==void 0){if(l!==2)throw new Error("cipher output not supported");Et(u)}};let c=!1;return{encrypt(l,u){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,Et(l),a(o.encrypt.length,u),o.encrypt(l,u)},decrypt(l,u){if(Et(l),n&&l.length<n)throw new Error("invalid ciphertext length: smaller than tagLength="+n);return a(o.decrypt.length,u),o.decrypt(l,u)}}}return Object.assign(s,t),s};function hc(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&&!Lg(e))throw new Error("invalid output, must be aligned");return e}function dc(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 Lg(t){return t.byteOffset%4===0}function ko(t){return Uint8Array.from(t)}function Lr(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}const Lu=t=>Uint8Array.from(t.split("").map(e=>e.charCodeAt(0))),Mg=Lu("expand 16-byte k"),Bg=Lu("expand 32-byte k"),jg=Ns(Mg),qg=Ns(Bg);function ce(t,e){return t<<e|t>>>32-e}function $o(t){return t.byteOffset%4===0}const Ki=64,Fg=16,Mu=2**32-1,pc=new Uint32Array;function Wg(t,e,s,r,i,n,o,a){const c=i.length,l=new Uint8Array(Ki),u=Ns(l),h=$o(i)&&$o(n),d=h?Ns(i):pc,f=h?Ns(n):pc;for(let m=0;m<c;o++){if(t(e,s,r,u,o,a),o>=Mu)throw new Error("arx: counter overflow");const w=Math.min(Ki,c-m);if(h&&w===Ki){const g=m/4;if(m%4!==0)throw new Error("arx: invalid block position");for(let y=0,b;y<Fg;y++)b=g+y,f[b]=d[b]^u[y];m+=Ki;continue}for(let g=0,y;g<w;g++)y=m+g,n[y]=i[y]^l[g];m+=w}}function Hg(t,e){const{allowShortKeys:s,extendNonceFn:r,counterLength:i,counterRight:n,rounds:o}=Rg({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof t!="function")throw new Error("core must be a function");return Xn(i),Xn(o),uc(n),uc(s),(a,c,l,u,h=0)=>{Et(a),Et(c),Et(l);const d=l.length;if(u===void 0&&(u=new Uint8Array(d)),Et(u),Xn(h),h<0||h>=Mu)throw new Error("arx: counter overflow");if(u.length<d)throw new Error(`arx: output (${u.length}) is shorter than data (${d})`);const f=[];let m=a.length,w,g;if(m===32)f.push(w=ko(a)),g=qg;else if(m===16&&s)w=new Uint8Array(32),w.set(a),w.set(a,16),g=jg,f.push(w);else throw new Error(`arx: invalid 32-byte key, got length=${m}`);$o(c)||f.push(c=ko(c));const y=Ns(w);if(r){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");r(g,y,Ns(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 N=new Uint8Array(12);N.set(c,n?0:12-c.length),c=N,f.push(c)}const E=Ns(c);return Wg(t,g,y,E,l,u,h,o),Lr(...f),u}}const Je=(t,e)=>t[e++]&255|(t[e++]&255)<<8;class zg{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=To(e),Et(e,32);const s=Je(e,0),r=Je(e,2),i=Je(e,4),n=Je(e,6),o=Je(e,8),a=Je(e,10),c=Je(e,12),l=Je(e,14);this.r[0]=s&8191,this.r[1]=(s>>>13|r<<3)&8191,this.r[2]=(r>>>10|i<<6)&7939,this.r[3]=(i>>>7|n<<9)&8191,this.r[4]=(n>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|l<<8)&8191,this.r[9]=l>>>5&127;for(let u=0;u<8;u++)this.pad[u]=Je(e,16+2*u)}process(e,s,r=!1){const i=r?0:2048,{h:n,r:o}=this,a=o[0],c=o[1],l=o[2],u=o[3],h=o[4],d=o[5],f=o[6],m=o[7],w=o[8],g=o[9],y=Je(e,s+0),b=Je(e,s+2),E=Je(e,s+4),N=Je(e,s+6),$=Je(e,s+8),O=Je(e,s+10),S=Je(e,s+12),D=Je(e,s+14);let v=n[0]+(y&8191),x=n[1]+((y>>>13|b<<3)&8191),C=n[2]+((b>>>10|E<<6)&8191),L=n[3]+((E>>>7|N<<9)&8191),z=n[4]+((N>>>4|$<<12)&8191),I=n[5]+($>>>1&8191),T=n[6]+(($>>>14|O<<2)&8191),A=n[7]+((O>>>11|S<<5)&8191),B=n[8]+((S>>>8|D<<8)&8191),F=n[9]+(D>>>5|i),k=0,G=k+v*a+x*(5*g)+C*(5*w)+L*(5*m)+z*(5*f);k=G>>>13,G&=8191,G+=I*(5*d)+T*(5*h)+A*(5*u)+B*(5*l)+F*(5*c),k+=G>>>13,G&=8191;let Q=k+v*c+x*a+C*(5*g)+L*(5*w)+z*(5*m);k=Q>>>13,Q&=8191,Q+=I*(5*f)+T*(5*d)+A*(5*h)+B*(5*u)+F*(5*l),k+=Q>>>13,Q&=8191;let se=k+v*l+x*c+C*a+L*(5*g)+z*(5*w);k=se>>>13,se&=8191,se+=I*(5*m)+T*(5*f)+A*(5*d)+B*(5*h)+F*(5*u),k+=se>>>13,se&=8191;let Ie=k+v*u+x*l+C*c+L*a+z*(5*g);k=Ie>>>13,Ie&=8191,Ie+=I*(5*w)+T*(5*m)+A*(5*f)+B*(5*d)+F*(5*h),k+=Ie>>>13,Ie&=8191;let de=k+v*h+x*u+C*l+L*c+z*a;k=de>>>13,de&=8191,de+=I*(5*g)+T*(5*w)+A*(5*m)+B*(5*f)+F*(5*d),k+=de>>>13,de&=8191;let $e=k+v*d+x*h+C*u+L*l+z*c;k=$e>>>13,$e&=8191,$e+=I*a+T*(5*g)+A*(5*w)+B*(5*m)+F*(5*f),k+=$e>>>13,$e&=8191;let je=k+v*f+x*d+C*h+L*u+z*l;k=je>>>13,je&=8191,je+=I*c+T*a+A*(5*g)+B*(5*w)+F*(5*m),k+=je>>>13,je&=8191;let Qe=k+v*m+x*f+C*d+L*h+z*u;k=Qe>>>13,Qe&=8191,Qe+=I*l+T*c+A*a+B*(5*g)+F*(5*w),k+=Qe>>>13,Qe&=8191;let Ue=k+v*w+x*m+C*f+L*d+z*h;k=Ue>>>13,Ue&=8191,Ue+=I*u+T*l+A*c+B*a+F*(5*g),k+=Ue>>>13,Ue&=8191;let De=k+v*g+x*w+C*m+L*f+z*d;k=De>>>13,De&=8191,De+=I*h+T*u+A*l+B*c+F*a,k+=De>>>13,De&=8191,k=(k<<2)+k|0,k=k+G|0,G=k&8191,k=k>>>13,Q+=k,n[0]=G,n[1]=Q,n[2]=se,n[3]=Ie,n[4]=de,n[5]=$e,n[6]=je,n[7]=Qe,n[8]=Ue,n[9]=De}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;Lr(r)}update(e){lc(this);const{buffer:s,blockLen:r}=this;e=To(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(){Lr(this.h,this.r,this.buffer,this.pad)}digestInto(e){lc(this),Tg(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 Vg(t){const e=(r,i)=>t(i).update(To(r)).digest(),s=t(new Uint8Array(32));return e.outputLen=s.outputLen,e.blockLen=s.blockLen,e.create=r=>t(r),e}const Kg=Vg(t=>new zg(t));function Gg(t,e,s,r,i,n=20){let o=t[0],a=t[1],c=t[2],l=t[3],u=e[0],h=e[1],d=e[2],f=e[3],m=e[4],w=e[5],g=e[6],y=e[7],b=i,E=s[0],N=s[1],$=s[2],O=o,S=a,D=c,v=l,x=u,C=h,L=d,z=f,I=m,T=w,A=g,B=y,F=b,k=E,G=N,Q=$;for(let Ie=0;Ie<n;Ie+=2)O=O+x|0,F=ce(F^O,16),I=I+F|0,x=ce(x^I,12),O=O+x|0,F=ce(F^O,8),I=I+F|0,x=ce(x^I,7),S=S+C|0,k=ce(k^S,16),T=T+k|0,C=ce(C^T,12),S=S+C|0,k=ce(k^S,8),T=T+k|0,C=ce(C^T,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+z|0,Q=ce(Q^v,16),B=B+Q|0,z=ce(z^B,12),v=v+z|0,Q=ce(Q^v,8),B=B+Q|0,z=ce(z^B,7),O=O+C|0,Q=ce(Q^O,16),A=A+Q|0,C=ce(C^A,12),O=O+C|0,Q=ce(Q^O,8),A=A+Q|0,C=ce(C^A,7),S=S+L|0,F=ce(F^S,16),B=B+F|0,L=ce(L^B,12),S=S+L|0,F=ce(F^S,8),B=B+F|0,L=ce(L^B,7),D=D+z|0,k=ce(k^D,16),I=I+k|0,z=ce(z^I,12),D=D+z|0,k=ce(k^D,8),I=I+k|0,z=ce(z^I,7),v=v+x|0,G=ce(G^v,16),T=T+G|0,x=ce(x^T,12),v=v+x|0,G=ce(G^v,8),T=T+G|0,x=ce(x^T,7);let se=0;r[se++]=o+O|0,r[se++]=a+S|0,r[se++]=c+D|0,r[se++]=l+v|0,r[se++]=u+x|0,r[se++]=h+C|0,r[se++]=d+L|0,r[se++]=f+z|0,r[se++]=m+I|0,r[se++]=w+T|0,r[se++]=g+A|0,r[se++]=y+B|0,r[se++]=b+F|0,r[se++]=E+k|0,r[se++]=N+G|0,r[se++]=$+Q|0}const Jg=Hg(Gg,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Yg=new Uint8Array(16),fc=(t,e)=>{t.update(e);const s=e.length%16;s&&t.update(Yg.subarray(s))},Xg=new Uint8Array(32);function gc(t,e,s,r,i){const n=t(e,s,Xg),o=Kg.create(n);i&&fc(o,i),fc(o,r);const a=new Uint8Array(16),c=kg(a);dc(c,0,BigInt(i?i.length:0),!0),dc(c,8,BigInt(r.length),!0),o.update(a);const l=o.digest();return Lr(n,a),l}const Zg=t=>(e,s,r)=>({encrypt(i,n){const o=i.length;n=hc(o+16,n,!1),n.set(i);const a=n.subarray(0,-16);t(e,s,a,a,1);const c=gc(t,e,s,a,r);return n.set(c,o),Lr(c),n},decrypt(i,n){n=hc(i.length-16,n,!1);const o=i.subarray(0,-16),a=i.subarray(-16),c=gc(t,e,s,o,r);if(!Ug(a,c))throw new Error("invalid tag");return n.set(i.subarray(0,-16)),t(e,s,n,n,1),Lr(c),n}}),Bu=Dg({blockSize:64,nonceLength:12,tagLength:16},Zg(Jg));let ju=class extends la{constructor(e,s){super(),this.finished=!1,this.destroyed=!1,ca(e);const r=Dr(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 Ur(this),this.iHash.update(e),this}digestInto(e){Ur(this),Ri(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 $n=(t,e,s)=>new ju(t,e).update(s).digest();$n.create=(t,e)=>new ju(t,e);function Qg(t,e,s){return ca(t),s===void 0&&(s=new Uint8Array(t.outputLen)),$n(t,Dr(s),Dr(e))}const Zn=new Uint8Array([0]),mc=new Uint8Array;function em(t,e,s,r=32){if(ca(t),Ci(r),r>255*t.outputLen)throw new Error("Length should be <= 255*HashLen");const i=Math.ceil(r/t.outputLen);s===void 0&&(s=mc);const n=new Uint8Array(i*t.outputLen),o=$n.create(t,e),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let l=0;l<i;l++)Zn[0]=l+1,a.update(l===0?mc:c).update(s).update(Zn).digestInto(c),n.set(c,t.outputLen*l),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),Zn.fill(0),n.slice(0,r)}const tm=(t,e,s,r,i)=>em(t,Qg(t,e,s),r,i);function sm(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 rm(t,e,s){return t&e^~t&s}function im(t,e,s){return t&e^t&s^e&s}let nm=class extends la{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=Yn(this.buffer)}update(e){Ur(this);const{view:s,buffer:r,blockLen:i}=this;e=Dr(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=Yn(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){Ur(this),Su(e,this),this.finished=!0;const{buffer:s,view:r,blockLen:i,isLE:n}=this;let{pos:o}=this;s[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(r,0),o=0);for(let h=o;h<i;h++)s[h]=0;sm(r,i-8,BigInt(this.length*8),n),this.process(r,0);const a=Yn(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const l=c/4,u=this.get();if(l>u.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<l;h++)a.setUint32(4*h,u[h],n)}digest(){const{buffer:e,outputLen:s}=this;this.digestInto(e);const r=e.slice(0,s);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:s,buffer:r,length:i,finished:n,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=n,e.destroyed=o,i%s&&e.buffer.set(r),e}};const om=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]),gs=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ms=new Uint32Array(64);class am extends nm{constructor(){super(64,32,8,!1),this.A=gs[0]|0,this.B=gs[1]|0,this.C=gs[2]|0,this.D=gs[3]|0,this.E=gs[4]|0,this.F=gs[5]|0,this.G=gs[6]|0,this.H=gs[7]|0}get(){const{A:e,B:s,C:r,D:i,E:n,F:o,G:a,H:c}=this;return[e,s,r,i,n,o,a,c]}set(e,s,r,i,n,o,a,c){this.A=e|0,this.B=s|0,this.C=r|0,this.D=i|0,this.E=n|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,s){for(let h=0;h<16;h++,s+=4)ms[h]=e.getUint32(s,!1);for(let h=16;h<64;h++){const d=ms[h-15],f=ms[h-2],m=Ht(d,7)^Ht(d,18)^d>>>3,w=Ht(f,17)^Ht(f,19)^f>>>10;ms[h]=w+ms[h-7]+m+ms[h-16]|0}let{A:r,B:i,C:n,D:o,E:a,F:c,G:l,H:u}=this;for(let h=0;h<64;h++){const d=Ht(a,6)^Ht(a,11)^Ht(a,25),f=u+d+rm(a,c,l)+om[h]+ms[h]|0,m=(Ht(r,2)^Ht(r,13)^Ht(r,22))+im(r,i,n)|0;u=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,u=u+this.H|0,this.set(r,i,n,o,a,c,l,u)}roundClean(){ms.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Ui=Pu(()=>new am);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const xn=BigInt(0),Rn=BigInt(1),cm=BigInt(2);function Js(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function Di(t){if(!Js(t))throw new Error("Uint8Array expected")}function Mr(t,e){if(typeof e!="boolean")throw new Error(t+" boolean expected, got "+e)}const lm=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Br(t){Di(t);let e="";for(let s=0;s<t.length;s++)e+=lm[t[s]];return e}function _r(t){const e=t.toString(16);return e.length&1?"0"+e:e}function ha(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return t===""?xn:BigInt("0x"+t)}const is={_0:48,_9:57,A:65,F:70,a:97,f:102};function wc(t){if(t>=is._0&&t<=is._9)return t-is._0;if(t>=is.A&&t<=is.F)return t-(is.A-10);if(t>=is.a&&t<=is.f)return t-(is.a-10)}function jr(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=wc(t.charCodeAt(n)),a=wc(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 zs(t){return ha(Br(t))}function Ni(t){return Di(t),ha(Br(Uint8Array.from(t).reverse()))}function qr(t,e){return jr(t.toString(16).padStart(e*2,"0"))}function Un(t,e){return qr(t,e).reverse()}function um(t){return jr(_r(t))}function vt(t,e,s){let r;if(typeof e=="string")try{r=jr(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 _i(...t){let e=0;for(let r=0;r<t.length;r++){const i=t[r];Di(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 hm(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 dm(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}const Qn=t=>typeof t=="bigint"&&xn<=t;function Dn(t,e,s){return Qn(t)&&Qn(e)&&Qn(s)&&e<=t&&t<s}function ls(t,e,s,r){if(!Dn(e,s,r))throw new Error("expected valid "+t+": "+s+" <= n < "+r+", got "+e)}function qu(t){let e;for(e=0;t>xn;t>>=Rn,e+=1);return e}function pm(t,e){return t>>BigInt(e)&Rn}function fm(t,e,s){return t|(s?Rn:xn)<<BigInt(e)}const da=t=>(cm<<BigInt(t-1))-Rn,eo=t=>new Uint8Array(t),yc=t=>Uint8Array.from(t);function Fu(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=eo(t),i=eo(t),n=0;const o=()=>{r.fill(1),i.fill(0),n=0},a=(...u)=>s(i,r,...u),c=(u=eo())=>{i=a(yc([0]),u),r=a(),u.length!==0&&(i=a(yc([1]),u),r=a())},l=()=>{if(n++>=1e3)throw new Error("drbg: tried 1000 values");let u=0;const h=[];for(;u<e;){r=a();const d=r.slice();h.push(d),u+=r.length}return _i(...h)};return(u,h)=>{o(),c(u);let d;for(;!(d=h(l()));)c();return o(),d}}const gm={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 Gr(t,e,s={}){const r=(i,n,o)=>{const a=gm[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 mm=()=>{throw new Error("not implemented")};function xo(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 wm=Object.freeze({__proto__:null,isBytes:Js,abytes:Di,abool:Mr,bytesToHex:Br,numberToHexUnpadded:_r,hexToNumber:ha,hexToBytes:jr,bytesToNumberBE:zs,bytesToNumberLE:Ni,numberToBytesBE:qr,numberToBytesLE:Un,numberToVarBytesBE:um,ensureBytes:vt,concatBytes:_i,equalBytes:hm,utf8ToBytes:dm,inRange:Dn,aInRange:ls,bitLen:qu,bitGet:pm,bitSet:fm,bitMask:da,createHmacDrbg:Fu,validateObject:Gr,notImplemented:mm,memoized:xo});const Ge=BigInt(0),ke=BigInt(1),Bs=BigInt(2),ym=BigInt(3),Ro=BigInt(4),bc=BigInt(5),vc=BigInt(8);function ft(t,e){const s=t%e;return s>=Ge?s:e+s}function Wu(t,e,s){if(e<Ge)throw new Error("invalid exponent, negatives unsupported");if(s<=Ge)throw new Error("invalid modulus");if(s===ke)return Ge;let r=ke;for(;e>Ge;)e&ke&&(r=r*t%s),t=t*t%s,e>>=ke;return r}function Mt(t,e,s){let r=t;for(;e-- >Ge;)r*=r,r%=s;return r}function Uo(t,e){if(t===Ge)throw new Error("invert: expected non-zero number");if(e<=Ge)throw new Error("invert: expected positive modulus, got "+e);let s=ft(t,e),r=e,i=Ge,n=ke;for(;s!==Ge;){const o=r/s,a=r%s,c=i-n*o;r=s,s=a,i=n,n=c}if(r!==ke)throw new Error("invert: does not exist");return ft(i,e)}function bm(t){const e=(t-ke)/Bs;let s,r,i;for(s=t-ke,r=0;s%Bs===Ge;s/=Bs,r++);for(i=Bs;i<t&&Wu(i,e,t)!==t-ke;i++)if(i>1e3)throw new Error("Cannot find square root: likely non-prime P");if(r===1){const o=(t+ke)/Ro;return function(a,c){const l=a.pow(c,o);if(!a.eql(a.sqr(l),c))throw new Error("Cannot find square root");return l}}const n=(s+ke)/Bs;return function(o,a){if(o.pow(a,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let c=r,l=o.pow(o.mul(o.ONE,i),s),u=o.pow(a,n),h=o.pow(a,s);for(;!o.eql(h,o.ONE);){if(o.eql(h,o.ZERO))return o.ZERO;let d=1;for(let m=o.sqr(h);d<c&&!o.eql(m,o.ONE);d++)m=o.sqr(m);const f=o.pow(l,ke<<BigInt(c-d-1));l=o.sqr(f),u=o.mul(u,f),h=o.mul(h,l),c=d}return u}}function vm(t){if(t%Ro===ym){const e=(t+ke)/Ro;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%vc===bc){const e=(t-bc)/vc;return function(s,r){const i=s.mul(r,Bs),n=s.pow(i,e),o=s.mul(r,n),a=s.mul(s.mul(o,Bs),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 bm(t)}const Em=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Cm(t){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},s=Em.reduce((r,i)=>(r[i]="function",r),e);return Gr(t,s)}function Im(t,e,s){if(s<Ge)throw new Error("invalid exponent, negatives unsupported");if(s===Ge)return t.ONE;if(s===ke)return e;let r=t.ONE,i=e;for(;s>Ge;)s&ke&&(r=t.mul(r,i)),i=t.sqr(i),s>>=ke;return r}function Nm(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 Hu(t,e){const s=e!==void 0?e:t.toString(2).length,r=Math.ceil(s/8);return{nBitLength:s,nByteLength:r}}function zu(t,e,s=!1,r={}){if(t<=Ge)throw new Error("invalid field: expected ORDER > 0, got "+t);const{nBitLength:i,nByteLength:n}=Hu(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:da(i),ZERO:Ge,ONE:ke,create:c=>ft(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return Ge<=c&&c<t},is0:c=>c===Ge,isOdd:c=>(c&ke)===ke,neg:c=>ft(-c,t),eql:(c,l)=>c===l,sqr:c=>ft(c*c,t),add:(c,l)=>ft(c+l,t),sub:(c,l)=>ft(c-l,t),mul:(c,l)=>ft(c*l,t),pow:(c,l)=>Im(a,c,l),div:(c,l)=>ft(c*Uo(l,t),t),sqrN:c=>c*c,addN:(c,l)=>c+l,subN:(c,l)=>c-l,mulN:(c,l)=>c*l,inv:c=>Uo(c,t),sqrt:r.sqrt||(c=>(o||(o=vm(t)),o(a,c))),invertBatch:c=>Nm(a,c),cmov:(c,l,u)=>u?l:c,toBytes:c=>s?Un(c,n):qr(c,n),fromBytes:c=>{if(c.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+c.length);return s?Ni(c):zs(c)}});return Object.freeze(a)}function Vu(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 Ku(t){const e=Vu(t);return e+Math.ceil(e/2)}function _m(t,e,s=!1){const r=t.length,i=Vu(e),n=Ku(e);if(r<16||r<n||r>1024)throw new Error("expected "+n+"-1024 bytes of input, got "+r);const o=s?Ni(t):zs(t),a=ft(o,e-ke)+ke;return s?Un(a,i):qr(a,i)}const Ec=BigInt(0),Gi=BigInt(1);function to(t,e){const s=e.negate();return t?s:e}function Gu(t,e){if(!Number.isSafeInteger(t)||t<=0||t>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+t)}function so(t,e){Gu(t,e);const s=Math.ceil(e/t)+1,r=2**(t-1);return{windows:s,windowSize:r}}function Am(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 Sm(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 ro=new WeakMap,Ju=new WeakMap;function io(t){return Ju.get(t)||1}function Pm(t,e){return{constTimeNegate:to,hasPrecomputes(s){return io(s)!==1},unsafeLadder(s,r,i=t.ZERO){let n=s;for(;r>Ec;)r&Gi&&(i=i.add(n)),n=n.double(),r>>=Gi;return i},precomputeWindow(s,r){const{windows:i,windowSize:n}=so(r,e),o=[];let a=s,c=a;for(let l=0;l<i;l++){c=a,o.push(c);for(let u=1;u<n;u++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(s,r,i){const{windows:n,windowSize:o}=so(s,e);let a=t.ZERO,c=t.BASE;const l=BigInt(2**s-1),u=2**s,h=BigInt(s);for(let d=0;d<n;d++){const f=d*o;let m=Number(i&l);i>>=h,m>o&&(m-=u,i+=Gi);const w=f,g=f+Math.abs(m)-1,y=d%2!==0,b=m<0;m===0?c=c.add(to(y,r[w])):a=a.add(to(b,r[g]))}return{p:a,f:c}},wNAFUnsafe(s,r,i,n=t.ZERO){const{windows:o,windowSize:a}=so(s,e),c=BigInt(2**s-1),l=2**s,u=BigInt(s);for(let h=0;h<o;h++){const d=h*a;if(i===Ec)break;let f=Number(i&c);if(i>>=u,f>a&&(f-=l,i+=Gi),f===0)continue;let m=r[d+Math.abs(f)-1];f<0&&(m=m.negate()),n=n.add(m)}return n},getPrecomputes(s,r,i){let n=ro.get(r);return n||(n=this.precomputeWindow(r,s),s!==1&&ro.set(r,i(n))),n},wNAFCached(s,r,i){const n=io(s);return this.wNAF(n,this.getPrecomputes(n,s,i),r)},wNAFCachedUnsafe(s,r,i,n){const o=io(s);return o===1?this.unsafeLadder(s,r,n):this.wNAFUnsafe(o,this.getPrecomputes(o,s,i),r,n)},setWindowSize(s,r){Gu(r,e),Ju.set(s,r),ro.delete(s)}}}function Om(t,e,s,r){if(Am(s,t),Sm(r,e),s.length!==r.length)throw new Error("arrays of points and scalars must have equal length");const i=t.ZERO,n=qu(BigInt(s.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=new Array(a+1).fill(i),l=Math.floor((e.BITS-1)/o)*o;let u=i;for(let h=l;h>=0;h-=o){c.fill(i);for(let f=0;f<r.length;f++){const m=r[f],w=Number(m>>BigInt(h)&BigInt(a));c[w]=c[w].add(s[f])}let d=i;for(let f=c.length-1,m=i;f>0;f--)m=m.add(c[f]),d=d.add(m);if(u=u.add(d),h!==0)for(let f=0;f<o;f++)u=u.double()}return u}function Yu(t){return Cm(t.Fp),Gr(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Hu(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);const or=BigInt(0),no=BigInt(1);function Tm(t){return Gr(t,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...t})}function km(t){const e=Tm(t),{P:s}=e,r=b=>ft(b,s),i=e.montgomeryBits,n=Math.ceil(i/8),o=e.nByteLength,a=e.adjustScalarBytes||(b=>b),c=e.powPminus2||(b=>Wu(b,s-BigInt(2),s));function l(b,E,N){const $=r(b*(E-N));return E=r(E-$),N=r(N+$),[E,N]}const u=(e.a-BigInt(2))/BigInt(4);function h(b,E){ls("u",b,or,s),ls("scalar",E,or,s);const N=E,$=b;let O=no,S=or,D=b,v=no,x=or,C;for(let z=BigInt(i-1);z>=or;z--){const I=N>>z&no;x^=I,C=l(x,O,D),O=C[0],D=C[1],C=l(x,S,v),S=C[0],v=C[1],x=I;const T=O+S,A=r(T*T),B=O-S,F=r(B*B),k=A-F,G=D+v,Q=D-v,se=r(Q*T),Ie=r(G*B),de=se+Ie,$e=se-Ie;D=r(de*de),v=r($*r($e*$e)),O=r(A*F),S=r(k*(A+r(u*k)))}C=l(x,O,D),O=C[0],D=C[1],C=l(x,S,v),S=C[0],v=C[1];const L=c(S);return r(O*L)}function d(b){return Un(r(b),n)}function f(b){const E=vt("u coordinate",b,n);return o===32&&(E[31]&=127),Ni(E)}function m(b){const E=vt("scalar",b),N=E.length;if(N!==n&&N!==o){let $=""+n+" or "+o;throw new Error("invalid scalar, expected "+$+" bytes, got "+N)}return Ni(a(E))}function w(b,E){const N=f(E),$=m(b),O=h(N,$);if(O===or)throw new Error("invalid private or public key received");return d(O)}const g=d(e.Gu);function y(b){return w(b,g)}return{scalarMult:w,scalarMultBase:y,getSharedSecret:(b,E)=>w(b,E),getPublicKey:b=>y(b),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:g}}const Do=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const $m=BigInt(1),Cc=BigInt(2),xm=BigInt(3),Rm=BigInt(5);BigInt(8);function Um(t){const e=BigInt(10),s=BigInt(20),r=BigInt(40),i=BigInt(80),n=Do,o=t*t%n*t%n,a=Mt(o,Cc,n)*o%n,c=Mt(a,$m,n)*t%n,l=Mt(c,Rm,n)*c%n,u=Mt(l,e,n)*l%n,h=Mt(u,s,n)*u%n,d=Mt(h,r,n)*h%n,f=Mt(d,i,n)*d%n,m=Mt(f,i,n)*d%n,w=Mt(m,e,n)*l%n;return{pow_p_5_8:Mt(w,Cc,n)*t%n,b2:o}}function Dm(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}const Lo=km({P:Do,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:t=>{const e=Do,{pow_p_5_8:s,b2:r}=Um(t);return ft(Mt(s,xm,e)*r,e)},adjustScalarBytes:Dm,randomBytes:Kr});function Ic(t){t.lowS!==void 0&&Mr("lowS",t.lowS),t.prehash!==void 0&&Mr("prehash",t.prehash)}function Lm(t){const e=Yu(t);Gr(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:s,Fp:r,a:i}=e;if(s){if(!r.eql(i,r.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof s!="object"||typeof s.beta!="bigint"||typeof s.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:Mm,hexToBytes:Bm}=wm;class jm extends Error{constructor(e=""){super(e)}}const as={Err:jm,_tlv:{encode:(t,e)=>{const{Err:s}=as;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=_r(r);if(i.length/2&128)throw new s("tlv.encode: long form length too big");const n=r>127?_r(i.length/2|128):"";return _r(t)+n+i+e},decode(t,e){const{Err:s}=as;let r=0;if(t<0||t>256)throw new s("tlv.encode: wrong tag");if(e.length<2||e[r++]!==t)throw new s("tlv.decode: wrong tlv");const i=e[r++],n=!!(i&128);let o=0;if(!n)o=i;else{const c=i&127;if(!c)throw new s("tlv.decode(long): indefinite length not supported");if(c>4)throw new s("tlv.decode(long): byte length is too big");const l=e.subarray(r,r+c);if(l.length!==c)throw new s("tlv.decode: length bytes not complete");if(l[0]===0)throw new s("tlv.decode(long): zero leftmost byte");for(const u of l)o=o<<8|u;if(r+=c,o<128)throw new s("tlv.decode(long): not minimal encoding")}const a=e.subarray(r,r+o);if(a.length!==o)throw new s("tlv.decode: wrong value length");return{v:a,l:e.subarray(r+o)}}},_int:{encode(t){const{Err:e}=as;if(t<cs)throw new e("integer: negative integers are not allowed");let s=_r(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}=as;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 Mm(t)}},toSig(t){const{Err:e,_int:s,_tlv:r}=as,i=typeof t=="string"?Bm(t):t;Di(i);const{v:n,l:o}=r.decode(48,i);if(o.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:c}=r.decode(2,n),{v:l,l:u}=r.decode(2,c);if(u.length)throw new e("invalid signature: left bytes after parsing");return{r:s.decode(a),s:s.decode(l)}},hexFromSig(t){const{_tlv:e,_int:s}=as,r=e.encode(2,s.encode(t.r)),i=e.encode(2,s.encode(t.s)),n=r+i;return e.encode(48,n)}},cs=BigInt(0),He=BigInt(1);BigInt(2);const Nc=BigInt(3);BigInt(4);function qm(t){const e=Lm(t),{Fp:s}=e,r=zu(e.n,e.nBitLength),i=e.toBytes||((w,g,y)=>{const b=g.toAffine();return _i(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),E=s.mul(b,w);return s.add(s.add(E,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 Dn(w,He,e.n)}function c(w){const{allowedPrivateKeyLengths:g,nByteLength:y,wrapPrivateKey:b,n:E}=e;if(g&&typeof w!="bigint"){if(Js(w)&&(w=Br(w)),typeof w!="string"||!g.includes(w.length))throw new Error("invalid private key");w=w.padStart(y*2,"0")}let N;try{N=typeof w=="bigint"?w:zs(vt("private key",w,y))}catch{throw new Error("invalid private key, expected hex or "+y+" bytes, got "+typeof w)}return b&&(N=ft(N,E)),ls("private key",N,He,E),N}function l(w){if(!(w instanceof d))throw new Error("ProjectivePoint expected")}const u=xo((w,g)=>{const{px:y,py:b,pz:E}=w;if(s.eql(E,s.ONE))return{x:y,y:b};const N=w.is0();g==null&&(g=N?s.ONE:s.inv(E));const $=s.mul(y,g),O=s.mul(b,g),S=s.mul(E,g);if(N)return{x:s.ZERO,y:s.ZERO};if(!s.eql(S,s.ONE))throw new Error("invZ was invalid");return{x:$,y:O}}),h=xo(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),E=o(g);if(!s.eql(b,E))throw new Error("bad point: equation left != right");if(!w.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{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 d)throw new Error("projective point not allowed");const E=N=>s.eql(N,s.ZERO);return E(y)&&E(b)?d.ZERO:new d(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,E)=>b.toAffine(y[E])).map(d.fromAffine)}static fromHex(g){const y=d.fromAffine(n(vt("pointHex",g)));return y.assertValidity(),y}static fromPrivateKey(g){return d.BASE.multiply(c(g))}static msm(g,y){return Om(d,r,g,y)}_setWindowSize(g){m.setWindowSize(this,g)}assertValidity(){h(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:E}=this,{px:N,py:$,pz:O}=g,S=s.eql(s.mul(y,O),s.mul(N,E)),D=s.eql(s.mul(b,O),s.mul($,E));return S&&D}negate(){return new d(this.px,s.neg(this.py),this.pz)}double(){const{a:g,b:y}=e,b=s.mul(y,Nc),{px:E,py:N,pz:$}=this;let O=s.ZERO,S=s.ZERO,D=s.ZERO,v=s.mul(E,E),x=s.mul(N,N),C=s.mul($,$),L=s.mul(E,N);return L=s.add(L,L),D=s.mul(E,$),D=s.add(D,D),O=s.mul(g,D),S=s.mul(b,C),S=s.add(O,S),O=s.sub(x,S),S=s.add(x,S),S=s.mul(O,S),O=s.mul(L,O),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=s.add(S,v),C=s.mul(N,$),C=s.add(C,C),v=s.mul(C,L),O=s.sub(O,v),D=s.mul(C,x),D=s.add(D,D),D=s.add(D,D),new d(O,S,D)}add(g){l(g);const{px:y,py:b,pz:E}=this,{px:N,py:$,pz:O}=g;let S=s.ZERO,D=s.ZERO,v=s.ZERO;const x=e.a,C=s.mul(e.b,Nc);let L=s.mul(y,N),z=s.mul(b,$),I=s.mul(E,O),T=s.add(y,b),A=s.add(N,$);T=s.mul(T,A),A=s.add(L,z),T=s.sub(T,A),A=s.add(y,E);let B=s.add(N,O);return A=s.mul(A,B),B=s.add(L,I),A=s.sub(A,B),B=s.add(b,E),S=s.add($,O),B=s.mul(B,S),S=s.add(z,I),B=s.sub(B,S),v=s.mul(x,A),S=s.mul(C,I),v=s.add(S,v),S=s.sub(z,v),v=s.add(z,v),D=s.mul(S,v),z=s.add(L,L),z=s.add(z,L),I=s.mul(x,I),A=s.mul(C,A),z=s.add(z,I),I=s.sub(L,I),I=s.mul(x,I),A=s.add(A,I),L=s.mul(z,A),D=s.add(D,L),L=s.mul(B,A),S=s.mul(T,S),S=s.sub(S,L),L=s.mul(T,z),v=s.mul(B,v),v=s.add(v,L),new d(S,D,v)}subtract(g){return this.add(g.negate())}is0(){return this.equals(d.ZERO)}wNAF(g){return m.wNAFCached(this,g,d.normalizeZ)}multiplyUnsafe(g){const{endo:y,n:b}=e;ls("scalar",g,cs,b);const E=d.ZERO;if(g===cs)return E;if(this.is0()||g===He)return this;if(!y||m.hasPrecomputes(this))return m.wNAFCachedUnsafe(this,g,d.normalizeZ);let{k1neg:N,k1:$,k2neg:O,k2:S}=y.splitScalar(g),D=E,v=E,x=this;for(;$>cs||S>cs;)$&He&&(D=D.add(x)),S&He&&(v=v.add(x)),x=x.double(),$>>=He,S>>=He;return N&&(D=D.negate()),O&&(v=v.negate()),v=new d(s.mul(v.px,y.beta),v.py,v.pz),D.add(v)}multiply(g){const{endo:y,n:b}=e;ls("scalar",g,He,b);let E,N;if(y){const{k1neg:$,k1:O,k2neg:S,k2:D}=y.splitScalar(g);let{p:v,f:x}=this.wNAF(O),{p:C,f:L}=this.wNAF(D);v=m.constTimeNegate($,v),C=m.constTimeNegate(S,C),C=new d(s.mul(C.px,y.beta),C.py,C.pz),E=v.add(C),N=x.add(L)}else{const{p:$,f:O}=this.wNAF(g);E=$,N=O}return d.normalizeZ([E,N])[0]}multiplyAndAddUnsafe(g,y,b){const E=d.BASE,N=(O,S)=>S===cs||S===He||!O.equals(E)?O.multiplyUnsafe(S):O.multiply(S),$=N(this,y).add(N(g,b));return $.is0()?void 0:$}toAffine(g){return u(this,g)}isTorsionFree(){const{h:g,isTorsionFree:y}=e;if(g===He)return!0;if(y)return y(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:g,clearCofactor:y}=e;return g===He?this:y?y(d,this):this.multiplyUnsafe(e.h)}toRawBytes(g=!0){return Mr("isCompressed",g),this.assertValidity(),i(d,this,g)}toHex(g=!0){return Mr("isCompressed",g),Br(this.toRawBytes(g))}}d.BASE=new d(e.Gx,e.Gy,s.ONE),d.ZERO=new d(s.ZERO,s.ONE,s.ZERO);const f=e.nBitLength,m=Pm(d,e.endo?Math.ceil(f/2):f);return{CURVE:e,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function Fm(t){const e=Yu(t);return Gr(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Wm(t){const e=Fm(t),{Fp:s,n:r}=e,i=s.BYTES+1,n=2*s.BYTES+1;function o(I){return ft(I,r)}function a(I){return Uo(I,r)}const{ProjectivePoint:c,normPrivateKeyToScalar:l,weierstrassEquation:u,isWithinCurveOrder:h}=qm({...e,toBytes(I,T,A){const B=T.toAffine(),F=s.toBytes(B.x),k=_i;return Mr("isCompressed",A),A?k(Uint8Array.from([T.hasEvenY()?2:3]),F):k(Uint8Array.from([4]),F,s.toBytes(B.y))},fromBytes(I){const T=I.length,A=I[0],B=I.subarray(1);if(T===i&&(A===2||A===3)){const F=zs(B);if(!Dn(F,He,s.ORDER))throw new Error("Point is not on curve");const k=u(F);let G;try{G=s.sqrt(k)}catch(se){const Ie=se instanceof Error?": "+se.message:"";throw new Error("Point is not on curve"+Ie)}const Q=(G&He)===He;return(A&1)===1!==Q&&(G=s.neg(G)),{x:F,y:G}}else if(T===n&&A===4){const F=s.fromBytes(B.subarray(0,s.BYTES)),k=s.fromBytes(B.subarray(s.BYTES,2*s.BYTES));return{x:F,y:k}}else{const F=i,k=n;throw new Error("invalid Point, expected length of "+F+", or uncompressed "+k+", got "+T)}}}),d=I=>Br(qr(I,e.nByteLength));function f(I){const T=r>>He;return I>T}function m(I){return f(I)?o(-I):I}const w=(I,T,A)=>zs(I.slice(T,A));class g{constructor(T,A,B){this.r=T,this.s=A,this.recovery=B,this.assertValidity()}static fromCompact(T){const A=e.nByteLength;return T=vt("compactSignature",T,A*2),new g(w(T,0,A),w(T,A,2*A))}static fromDER(T){const{r:A,s:B}=as.toSig(vt("DER",T));return new g(A,B)}assertValidity(){ls("r",this.r,He,r),ls("s",this.s,He,r)}addRecoveryBit(T){return new g(this.r,this.s,T)}recoverPublicKey(T){const{r:A,s:B,recovery:F}=this,k=O(vt("msgHash",T));if(F==null||![0,1,2,3].includes(F))throw new Error("recovery id invalid");const G=F===2||F===3?A+e.n:A;if(G>=s.ORDER)throw new Error("recovery id 2 or 3 invalid");const Q=F&1?"03":"02",se=c.fromHex(Q+d(G)),Ie=a(G),de=o(-k*Ie),$e=o(B*Ie),je=c.BASE.multiplyAndAddUnsafe(se,de,$e);if(!je)throw new Error("point at infinify");return je.assertValidity(),je}hasHighS(){return f(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return jr(this.toDERHex())}toDERHex(){return as.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return jr(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}const y={isValidPrivateKey(I){try{return l(I),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{const I=Ku(e.n);return _m(e.randomBytes(I),e.n)},precompute(I=8,T=c.BASE){return T._setWindowSize(I),T.multiply(BigInt(3)),T}};function b(I,T=!0){return c.fromPrivateKey(I).toRawBytes(T)}function E(I){const T=Js(I),A=typeof I=="string",B=(T||A)&&I.length;return T?B===i||B===n:A?B===2*i||B===2*n:I instanceof c}function N(I,T,A=!0){if(E(I))throw new Error("first arg must be private key");if(!E(T))throw new Error("second arg must be public key");return c.fromHex(T).multiply(l(I)).toRawBytes(A)}const $=e.bits2int||function(I){if(I.length>8192)throw new Error("input is too large");const T=zs(I),A=I.length*8-e.nBitLength;return A>0?T>>BigInt(A):T},O=e.bits2int_modN||function(I){return o($(I))},S=da(e.nBitLength);function D(I){return ls("num < 2^"+e.nBitLength,I,cs,S),qr(I,e.nByteLength)}function v(I,T,A=x){if(["recovered","canonical"].some(Ue=>Ue in A))throw new Error("sign() legacy options not supported");const{hash:B,randomBytes:F}=e;let{lowS:k,prehash:G,extraEntropy:Q}=A;k==null&&(k=!0),I=vt("msgHash",I),Ic(A),G&&(I=vt("prehashed msgHash",B(I)));const se=O(I),Ie=l(T),de=[D(Ie),D(se)];if(Q!=null&&Q!==!1){const Ue=Q===!0?F(s.BYTES):Q;de.push(vt("extraEntropy",Ue))}const $e=_i(...de),je=se;function Qe(Ue){const De=$(Ue);if(!h(De))return;const ks=a(De),es=c.BASE.multiply(De).toAffine(),Wt=o(es.x);if(Wt===cs)return;const ts=o(ks*o(je+Wt*Ie));if(ts===cs)return;let rr=(es.x===Wt?0:2)|Number(es.y&He),Fi=ts;return k&&f(ts)&&(Fi=m(ts),rr^=1),new g(Wt,Fi,rr)}return{seed:$e,k2sig:Qe}}const x={lowS:e.lowS,prehash:!1},C={lowS:e.lowS,prehash:!1};function L(I,T,A=x){const{seed:B,k2sig:F}=v(I,T,A),k=e;return Fu(k.hash.outputLen,k.nByteLength,k.hmac)(B,F)}c.BASE._setWindowSize(8);function z(I,T,A,B=C){const F=I;T=vt("msgHash",T),A=vt("publicKey",A);const{lowS:k,prehash:G,format:Q}=B;if(Ic(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 F=="string"||Js(F),Ie=!se&&!Q&&typeof F=="object"&&F!==null&&typeof F.r=="bigint"&&typeof F.s=="bigint";if(!se&&!Ie)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let de,$e;try{if(Ie&&(de=new g(F.r,F.s)),se){try{Q!=="compact"&&(de=g.fromDER(F))}catch(ts){if(!(ts instanceof as.Err))throw ts}!de&&Q!=="der"&&(de=g.fromCompact(F))}$e=c.fromHex(A)}catch{return!1}if(!de||k&&de.hasHighS())return!1;G&&(T=e.hash(T));const{r:je,s:Qe}=de,Ue=O(T),De=a(Qe),ks=o(Ue*De),es=o(je*De),Wt=c.BASE.multiplyAndAddUnsafe($e,ks,es)?.toAffine();return Wt?o(Wt.x)===je:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:N,sign:L,verify:z,ProjectivePoint:c,Signature:g,utils:y}}function Hm(t){return{hash:t,hmac:(e,...s)=>$n(t,e,Gf(...s)),randomBytes:Kr}}function zm(t,e){const s=r=>Wm({...t,...Hm(r)});return{...s(e),create:s}}const Xu=zu(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),Vm=Xu.create(BigInt("-3")),Km=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Gm=zm({a:Vm,b:Km,Fp:Xu,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},Ui),Zu="base10",nt="base16",qt="base64pad",bs="base64url",Li="utf8",Qu=0,us=1,Mi=2,Jm=0,_c=1,mi=12,pa=32;function Ym(){const t=Lo.utils.randomPrivateKey(),e=Lo.getPublicKey(t);return{privateKey:gt(t,nt),publicKey:gt(e,nt)}}function Mo(){const t=Kr(pa);return gt(t,nt)}function Xm(t,e){const s=Lo.getSharedSecret($t(t,nt),$t(e,nt)),r=tm(Ui,s,void 0,void 0,pa);return gt(r,nt)}function un(t){const e=Ui($t(t,nt));return gt(e,nt)}function Yt(t){const e=Ui($t(t,Li));return gt(e,nt)}function eh(t){return $t(`${t}`,Zu)}function Ys(t){return Number(gt(t,Zu))}function th(t){return t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function sh(t){const e=t.replace(/-/g,"+").replace(/_/g,"/"),s=(4-e.length%4)%4;return e+"=".repeat(s)}function Zm(t){const e=eh(typeof t.type<"u"?t.type:Qu);if(Ys(e)===us&&typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const s=typeof t.senderPublicKey<"u"?$t(t.senderPublicKey,nt):void 0,r=typeof t.iv<"u"?$t(t.iv,nt):Kr(mi),i=$t(t.symKey,nt),n=Bu(i,r).encrypt($t(t.message,Li)),o=rh({type:e,sealed:n,iv:r,senderPublicKey:s});return t.encoding===bs?th(o):o}function Qm(t){const e=$t(t.symKey,nt),{sealed:s,iv:r}=Ai({encoded:t.encoded,encoding:t.encoding}),i=Bu(e,r).decrypt(s);if(i===null)throw new Error("Failed to decrypt");return gt(i,Li)}function ew(t,e){const s=eh(Mi),r=Kr(mi),i=$t(t,Li),n=rh({type:s,sealed:i,iv:r});return e===bs?th(n):n}function tw(t,e){const{sealed:s}=Ai({encoded:t,encoding:e});return gt(s,Li)}function rh(t){if(Ys(t.type)===Mi)return gt(gi([t.type,t.sealed]),qt);if(Ys(t.type)===us){if(typeof t.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return gt(gi([t.type,t.senderPublicKey,t.iv,t.sealed]),qt)}return gt(gi([t.type,t.iv,t.sealed]),qt)}function Ai(t){const e=(t.encoding||qt)===bs?sh(t.encoded):t.encoded,s=$t(e,qt),r=s.slice(Jm,_c),i=_c;if(Ys(r)===us){const c=i+pa,l=c+mi,u=s.slice(i,c),h=s.slice(c,l),d=s.slice(l);return{type:r,sealed:d,iv:h,senderPublicKey:u}}if(Ys(r)===Mi){const c=s.slice(i),l=Kr(mi);return{type:r,sealed:c,iv:l}}const n=i+mi,o=s.slice(i,n),a=s.slice(n);return{type:r,sealed:a,iv:o}}function sw(t,e){const s=Ai({encoded:t,encoding:e?.encoding});return ih({type:Ys(s.type),senderPublicKey:typeof s.senderPublicKey<"u"?gt(s.senderPublicKey,nt):void 0,receiverPublicKey:e?.receiverPublicKey})}function ih(t){const e=t?.type||Qu;if(e===us){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 Ac(t){return t.type===us&&typeof t.senderPublicKey=="string"&&typeof t.receiverPublicKey=="string"}function Sc(t){return t.type===Mi}function rw(t){const e=Buffer.from(t.x,"base64"),s=Buffer.from(t.y,"base64");return gi([new Uint8Array([4]),e,s])}function iw(t,e){const[s,r,i]=t.split("."),n=Buffer.from(sh(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=Ui(c),u=rw(e);if(!Gm.verify(gi([o,a]),l,u))throw new Error("Invalid signature");return Eo(t).payload}const nw="irn";function En(t){return t?.relay||{protocol:nw}}function ci(t){const e=Jh[t];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${t}`);return e}function ow(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 Pc(t){if(!t.includes("wc:")){const l=Au(t);l!=null&&l.includes("wc:")&&(t=l)}t=t.includes("wc://")?t.replace("wc://",""):t,t=t.includes("wc:")?t.replace("wc:",""):t;const e=t.indexOf(":"),s=t.indexOf("?")!==-1?t.indexOf("?"):void 0,r=t.substring(0,e),i=t.substring(e+1,s).split("@"),n=typeof s<"u"?t.substring(s):"",o=new URLSearchParams(n),a={};o.forEach((l,u)=>{a[u]=l});const c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:r,topic:aw(i[0]),version:parseInt(i[1],10),symKey:a.symKey,relay:ow(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function aw(t){return t.startsWith("//")?t.substring(2):t}function cw(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 Oc(t){const e=new URLSearchParams,s=cw(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 Ji(t,e,s){return`${t}?wc_ev=${s}&topic=${e}`}var lw=Object.defineProperty,uw=Object.defineProperties,hw=Object.getOwnPropertyDescriptors,Tc=Object.getOwnPropertySymbols,dw=Object.prototype.hasOwnProperty,pw=Object.prototype.propertyIsEnumerable,kc=(t,e,s)=>e in t?lw(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,fw=(t,e)=>{for(var s in e||(e={}))dw.call(e,s)&&kc(t,s,e[s]);if(Tc)for(var s of Tc(e))pw.call(e,s)&&kc(t,s,e[s]);return t},gw=(t,e)=>uw(t,hw(e));function Jr(t){const e=[];return t.forEach(s=>{const[r,i]=s.split(":");e.push(`${r}:${i}`)}),e}function mw(t){const e=[];return Object.values(t).forEach(s=>{e.push(...Jr(s.accounts))}),e}function ww(t,e){const s=[];return Object.values(t).forEach(r=>{Jr(r.accounts).includes(e)&&s.push(...r.methods)}),s}function yw(t,e){const s=[];return Object.values(t).forEach(r=>{Jr(r.accounts).includes(e)&&s.push(...r.events)}),s}function Ln(t){return t.includes(":")}function Ar(t){return Ln(t)?t.split(":")[0]:t}function $c(t){var e,s,r;const i={};if(!As(t))return i;for(const[n,o]of Object.entries(t)){const a=Ln(n)?[n]:o.chains,c=o.methods||[],l=o.events||[],u=Ar(n);i[u]=gw(fw({},i[u]),{chains:Zt(a,(e=i[u])==null?void 0:e.chains),methods:Zt(c,(s=i[u])==null?void 0:s.methods),events:Zt(l,(r=i[u])==null?void 0:r.events)})}return i}function bw(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 xc(t,e){e=e.map(r=>r.replace("did:pkh:",""));const s=bw(e);for(const[r,i]of Object.entries(s))i.methods?i.methods=Zt(i.methods,t):i.methods=t,i.events=["chainChanged","accountsChanged"];return s}function vw(t,e){var s,r,i,n,o,a;const c=$c(t),l=$c(e),u={},h=Object.keys(c).concat(Object.keys(l));for(const d of h)u[d]={chains:Zt((s=c[d])==null?void 0:s.chains,(r=l[d])==null?void 0:r.chains),methods:Zt((i=c[d])==null?void 0:i.methods,(n=l[d])==null?void 0:n.methods),events:Zt((o=c[d])==null?void 0:o.events,(a=l[d])==null?void 0:a.events)};return u}const Ew={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}},Cw={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function R(t,e){const{message:s,code:r}=Cw[t];return{message:e?`${s} ${e}`:s,code:r}}function we(t,e){const{message:s,code:r}=Ew[t];return{message:e?`${s} ${e}`:s,code:r}}function _s(t,e){return!!Array.isArray(t)}function As(t){return Object.getPrototypeOf(t)===Object.prototype&&Object.keys(t).length}function tt(t){return typeof t>"u"}function Re(t,e){return e&&tt(t)?!0:typeof t=="string"&&!!t.trim().length}function fa(t,e){return typeof t=="number"&&!isNaN(t)}function Iw(t,e){const{requiredNamespaces:s}=e,r=Object.keys(t.namespaces),i=Object.keys(s);let n=!0;return Ws(i,r)?(r.forEach(o=>{const{accounts:a,methods:c,events:l}=t.namespaces[o],u=Jr(a),h=s[o];(!Ws(Eu(o,h),u)||!Ws(h.methods,c)||!Ws(h.events,l))&&(n=!1)}),n):!1}function Cn(t){return Re(t,!1)&&t.includes(":")?t.split(":").length===2:!1}function Nw(t){if(Re(t,!1)&&t.includes(":")){const e=t.split(":");if(e.length===3){const s=e[0]+":"+e[1];return!!e[2]&&Cn(s)}}return!1}function _w(t){function e(s){try{return typeof new URL(s)<"u"}catch{return!1}}try{if(Re(t,!1)){if(e(t))return!0;const s=Au(t);return e(s)}}catch{}return!1}function Aw(t){var e;return(e=t?.proposer)==null?void 0:e.publicKey}function Sw(t){return t?.topic}function Pw(t,e){let s=null;return Re(t?.publicKey,!1)||(s=R("MISSING_OR_INVALID",`${e} controller public key should be a string`)),s}function Rc(t){let e=!0;return _s(t)?t.length&&(e=t.every(s=>Re(s,!1))):e=!1,e}function Ow(t,e,s){let r=null;return _s(e)&&e.length?e.forEach(i=>{r||Cn(i)||(r=we("UNSUPPORTED_CHAINS",`${s}, chain ${i} should be a string and conform to "namespace:chainId" format`))}):Cn(t)||(r=we("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 Tw(t,e,s){let r=null;return Object.entries(t).forEach(([i,n])=>{if(r)return;const o=Ow(i,Eu(i,n),`${e} ${s}`);o&&(r=o)}),r}function kw(t,e){let s=null;return _s(t)?t.forEach(r=>{s||Nw(r)||(s=we("UNSUPPORTED_ACCOUNTS",`${e}, account ${r} should be a string and conform to "namespace:chainId:address" format`))}):s=we("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),s}function $w(t,e){let s=null;return Object.values(t).forEach(r=>{if(s)return;const i=kw(r?.accounts,`${e} namespace`);i&&(s=i)}),s}function xw(t,e){let s=null;return Rc(t?.methods)?Rc(t?.events)||(s=we("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):s=we("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),s}function nh(t,e){let s=null;return Object.values(t).forEach(r=>{if(s)return;const i=xw(r,`${e}, namespace`);i&&(s=i)}),s}function Rw(t,e,s){let r=null;if(t&&As(t)){const i=nh(t,e);i&&(r=i);const n=Tw(t,e,s);n&&(r=n)}else r=R("MISSING_OR_INVALID",`${e}, ${s} should be an object with data`);return r}function oo(t,e){let s=null;if(t&&As(t)){const r=nh(t,e);r&&(s=r);const i=$w(t,e);i&&(s=i)}else s=R("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return s}function oh(t){return Re(t.protocol,!0)}function Uw(t,e){let s=!1;return t?t&&_s(t)&&t.length&&t.forEach(r=>{s=oh(r)}):s=!0,s}function Dw(t){return typeof t=="number"}function pt(t){return typeof t<"u"&&typeof t!==null}function Lw(t){return!(!t||typeof t!="object"||!t.code||!fa(t.code)||!t.message||!Re(t.message,!1))}function Mw(t){return!(tt(t)||!Re(t.method,!1))}function Bw(t){return!(tt(t)||tt(t.result)&&tt(t.error)||!fa(t.id)||!Re(t.jsonrpc,!1))}function jw(t){return!(tt(t)||!Re(t.name,!1))}function Uc(t,e){return!(!Cn(e)||!mw(t).includes(e))}function qw(t,e,s){return Re(s,!1)?ww(t,e).includes(s):!1}function Fw(t,e,s){return Re(s,!1)?yw(t,e).includes(s):!1}function Dc(t,e,s){let r=null;const i=Ww(t),n=Hw(e),o=Object.keys(i),a=Object.keys(n),c=Lc(Object.keys(t)),l=Lc(Object.keys(e)),u=c.filter(h=>!l.includes(h));return u.length&&(r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces keys don't satisfy requiredNamespaces.
8
+ Required: ${u.toString()}
9
+ Received: ${Object.keys(e).toString()}`)),Ws(o,a)||(r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces chains don't satisfy required namespaces.
10
+ Required: ${o.toString()}
11
+ Approved: ${a.toString()}`)),Object.keys(e).forEach(h=>{if(!h.includes(":")||r)return;const d=Jr(e[h].accounts);d.includes(h)||(r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces accounts don't satisfy namespace accounts for ${h}
12
+ Required: ${h}
13
+ Approved: ${d.toString()}`))}),o.forEach(h=>{r||(Ws(i[h].methods,n[h].methods)?Ws(i[h].events,n[h].events)||(r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces events don't satisfy namespace events for ${h}`)):r=R("NON_CONFORMING_NAMESPACES",`${s} namespaces methods don't satisfy namespace methods for ${h}`))}),r}function Ww(t){const e={};return Object.keys(t).forEach(s=>{var r;s.includes(":")?e[s]=t[s]:(r=t[s].chains)==null||r.forEach(i=>{e[i]={methods:t[s].methods,events:t[s].events}})}),e}function Lc(t){return[...new Set(t.map(e=>e.includes(":")?e.split(":")[0]:e))]}function Hw(t){const e={};return Object.keys(t).forEach(s=>{s.includes(":")?e[s]=t[s]:Jr(t[s].accounts)?.forEach(i=>{e[i]={accounts:t[s].accounts.filter(n=>n.includes(`${i}:`)),methods:t[s].methods,events:t[s].events}})}),e}function zw(t,e){return fa(t)&&t<=e.max&&t>=e.min}function Mc(){const t=xi();return new Promise(e=>{switch(t){case Ct.browser:e(Vw());break;case Ct.reactNative:e(Kw());break;case Ct.node:e(Gw());break;default:e(!0)}})}function Vw(){return Vr()&&navigator?.onLine}async function Kw(){return Ts()&&typeof global<"u"&&global!=null&&global.NetInfo?(await(global==null?void 0:global.NetInfo.fetch()))?.isConnected:!0}function Gw(){return!0}function Jw(t){switch(xi()){case Ct.browser:Yw(t);break;case Ct.reactNative:Xw(t);break}}function Yw(t){!Ts()&&Vr()&&(window.addEventListener("online",()=>t(!0)),window.addEventListener("offline",()=>t(!1)))}function Xw(t){Ts()&&typeof global<"u"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(e=>t(e?.isConnected))}function Zw(){var t;return Vr()&&xr()?((t=xr())==null?void 0:t.visibilityState)==="visible":!0}const ao={};class Qr{static get(e){return ao[e]}static set(e,s){ao[e]=s}static delete(e){delete ao[e]}}var Qw={};const ah="wc",ch=2,In="core",Qt=`${ah}@2:${In}:`,ey={name:In,logger:"error"},ty={database:":memory:"},sy="crypto",Bc="client_ed25519_seed",ry=U.ONE_DAY,iy="keychain",ny="0.3",oy="messages",ay="0.3",jc=U.SIX_HOURS,cy="publisher",lh="irn",ly="error",uh="wss://relay.walletconnect.org",uy="relayer",ze={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",transport_closed:"relayer_transport_closed",publish:"relayer_publish"},hy="_subscription",Pt={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},dy=.1,Bo="2.21.0",Se={link_mode:"link_mode",relay:"relay"},hn={inbound:"inbound",outbound:"outbound"},py="0.3",fy="WALLETCONNECT_CLIENT_ID",qc="WALLETCONNECT_LINK_MODE_APPS",yt={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},gy="subscription",my="0.3",wy="pairing",yy="0.3",ei={wc_pairingDelete:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:U.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:U.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:U.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:U.ONE_DAY,prompt:!1,tag:0},res:{ttl:U.ONE_DAY,prompt:!1,tag:0}}},js={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},Ut={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},by="history",vy="0.3",Ey="expirer",kt={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},Cy="0.3",Iy="verify-api",Ny="https://verify.walletconnect.com",hh="https://verify.walletconnect.org",wi=hh,_y=`${wi}/v3`,Ay=[Ny,hh],Sy="echo",Py="https://echo.walletconnect.com",Kt={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal",subscribing_to_pairing_topic:"subscribing_to_pairing_topic"},os={no_wss_connection:"no_wss_connection",no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_expired:"proposal_expired",proposal_listener_not_found:"proposal_listener_not_found"},Dt={session_approve_started:"session_approve_started",proposal_not_expired:"proposal_not_expired",session_namespaces_validation_success:"session_namespaces_validation_success",create_session_topic:"create_session_topic",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success"},xs={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found"},Rs={authenticated_session_approve_started:"authenticated_session_approve_started",authenticated_session_not_expired:"authenticated_session_not_expired",chains_caip2_compliant:"chains_caip2_compliant",chains_evm_compliant:"chains_evm_compliant",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve",authenticated_session_approve_publish_success:"authenticated_session_approve_publish_success"},ti={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",missing_session_authenticate_request:"missing_session_authenticate_request",session_authenticate_request_expired:"session_authenticate_request_expired",chains_caip2_compliant_failure:"chains_caip2_compliant_failure",chains_evm_compliant_failure:"chains_evm_compliant_failure",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"},Oy=.1,Ty="event-client",ky=86400,$y="https://pulse.walletconnect.org/batch";function xy(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var s=new Uint8Array(256),r=0;r<s.length;r++)s[r]=255;for(var i=0;i<t.length;i++){var n=t.charAt(i),o=n.charCodeAt(0);if(s[o]!==255)throw new TypeError(n+" is ambiguous");s[o]=i}var a=t.length,c=t.charAt(0),l=Math.log(a)/Math.log(256),u=Math.log(256)/Math.log(a);function h(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var w=0,g=0,y=0,b=m.length;y!==b&&m[y]===0;)y++,w++;for(var E=(b-y)*u+1>>>0,N=new Uint8Array(E);y!==b;){for(var $=m[y],O=0,S=E-1;($!==0||O<g)&&S!==-1;S--,O++)$+=256*N[S]>>>0,N[S]=$%a>>>0,$=$/a>>>0;if($!==0)throw new Error("Non-zero carry");g=O,y++}for(var D=E-g;D!==E&&N[D]===0;)D++;for(var v=c.repeat(w);D<E;++D)v+=t.charAt(N[D]);return v}function d(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var w=0;if(m[w]!==" "){for(var g=0,y=0;m[w]===c;)g++,w++;for(var b=(m.length-w)*l+1>>>0,E=new Uint8Array(b);m[w];){var N=s[m.charCodeAt(w)];if(N===255)return;for(var $=0,O=b-1;(N!==0||$<y)&&O!==-1;O--,$++)N+=a*E[O]>>>0,E[O]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");y=$,w++}if(m[w]!==" "){for(var S=b-y;S!==b&&E[S]===0;)S++;for(var D=new Uint8Array(g+(b-S)),v=g;S!==b;)D[v++]=E[S++];return D}}}function f(m){var w=d(m);if(w)return w;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:d,decode:f}}var Ry=xy,Uy=Ry;const dh=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},Dy=t=>new TextEncoder().encode(t),Ly=t=>new TextDecoder().decode(t);class My{constructor(e,s,r){this.name=e,this.prefix=s,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class By{constructor(e,s,r){if(this.name=e,this.prefix=s,s.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=s.codePointAt(0),this.baseDecode=r}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return ph(this,e)}}class jy{constructor(e){this.decoders=e}or(e){return ph(this,e)}decode(e){const s=e[0],r=this.decoders[s];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const ph=(t,e)=>new jy({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}});class qy{constructor(e,s,r,i){this.name=e,this.prefix=s,this.baseEncode=r,this.baseDecode=i,this.encoder=new My(e,s,r),this.decoder=new By(e,s,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Mn=({name:t,prefix:e,encode:s,decode:r})=>new qy(t,e,s,r),Bi=({prefix:t,name:e,alphabet:s})=>{const{encode:r,decode:i}=Uy(s,e);return Mn({prefix:t,name:e,encode:r,decode:n=>dh(i(n))})},Fy=(t,e,s,r)=>{const i={};for(let u=0;u<e.length;++u)i[e[u]]=u;let n=t.length;for(;t[n-1]==="=";)--n;const o=new Uint8Array(n*s/8|0);let a=0,c=0,l=0;for(let u=0;u<n;++u){const h=i[t[u]];if(h===void 0)throw new SyntaxError(`Non-${r} character`);c=c<<s|h,a+=s,a>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=s||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},Wy=(t,e,s)=>{const r=e[e.length-1]==="=",i=(1<<s)-1;let n="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>s;)o-=s,n+=e[i&a>>o];if(o&&(n+=e[i&a<<s-o]),r)for(;n.length*s&7;)n+="=";return n},Ze=({name:t,prefix:e,bitsPerChar:s,alphabet:r})=>Mn({prefix:e,name:t,encode(i){return Wy(i,r,s)},decode(i){return Fy(i,r,s,t)}}),Hy=Mn({prefix:"\0",name:"identity",encode:t=>Ly(t),decode:t=>Dy(t)});var zy=Object.freeze({__proto__:null,identity:Hy});const Vy=Ze({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ky=Object.freeze({__proto__:null,base2:Vy});const Gy=Ze({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Jy=Object.freeze({__proto__:null,base8:Gy});const Yy=Bi({prefix:"9",name:"base10",alphabet:"0123456789"});var Xy=Object.freeze({__proto__:null,base10:Yy});const Zy=Ze({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Qy=Ze({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var eb=Object.freeze({__proto__:null,base16:Zy,base16upper:Qy});const tb=Ze({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),sb=Ze({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),rb=Ze({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ib=Ze({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),nb=Ze({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ob=Ze({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ab=Ze({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),cb=Ze({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),lb=Ze({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ub=Object.freeze({__proto__:null,base32:tb,base32upper:sb,base32pad:rb,base32padupper:ib,base32hex:nb,base32hexupper:ob,base32hexpad:ab,base32hexpadupper:cb,base32z:lb});const hb=Bi({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),db=Bi({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var pb=Object.freeze({__proto__:null,base36:hb,base36upper:db});const fb=Bi({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),gb=Bi({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var mb=Object.freeze({__proto__:null,base58btc:fb,base58flickr:gb});const wb=Ze({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),yb=Ze({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),bb=Ze({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),vb=Ze({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Eb=Object.freeze({__proto__:null,base64:wb,base64pad:yb,base64url:bb,base64urlpad:vb});const fh=Array.from("🚀🪐☄🛰🌌🌑🌒🌓🌔🌕🌖🌗🌘🌍🌏🌎🐉☀💻🖥💾💿😂❤😍🤣😊🙏💕😭😘👍😅👏😁🔥🥰💔💖💙😢🤔😆🙄💪😉☺👌🤗💜😔😎😇🌹🤦🎉💞✌✨🤷😱😌🌸🙌😋💗💚😏💛🙂💓🤩😄😀🖤😃💯🙈👇🎶😒🤭❣😜💋👀😪😑💥🙋😞😩😡🤪👊🥳😥🤤👉💃😳✋😚😝😴🌟😬🙃🍀🌷😻😓⭐✅🥺🌈😈🤘💦✔😣🏃💐☹🎊💘😠☝😕🌺🎂🌻😐🖕💝🙊😹🗣💫💀👑🎵🤞😛🔴😤🌼😫⚽🤙☕🏆🤫👈😮🙆🍻🍃🐶💁😲🌿🧡🎁⚡🌞🎈❌✊👋😰🤨😶🤝🚶💰🍓💢🤟🙁🚨💨🤬✈🎀🍺🤓😙💟🌱😖👶🥴▶➡❓💎💸⬇😨🌚🦋😷🕺⚠🙅😟😵👎🤲🤠🤧📌🔵💅🧐🐾🍒😗🤑🌊🤯🐷☎💧😯💆👆🎤🙇🍑❄🌴💣🐸💌📍🥀🤢👅💡💩👐📸👻🤐🤮🎼🥵🚩🍎🍊👼💍📣🥂"),Cb=fh.reduce((t,e,s)=>(t[s]=e,t),[]),Ib=fh.reduce((t,e,s)=>(t[e.codePointAt(0)]=s,t),[]);function Nb(t){return t.reduce((e,s)=>(e+=Cb[s],e),"")}function _b(t){const e=[];for(const s of t){const r=Ib[s.codePointAt(0)];if(r===void 0)throw new Error(`Non-base256emoji character: ${s}`);e.push(r)}return new Uint8Array(e)}const Ab=Mn({prefix:"🚀",name:"base256emoji",encode:Nb,decode:_b});var Sb=Object.freeze({__proto__:null,base256emoji:Ab}),Pb=gh,Fc=128,Ob=127,Tb=~Ob,kb=Math.pow(2,31);function gh(t,e,s){e=e||[],s=s||0;for(var r=s;t>=kb;)e[s++]=t&255|Fc,t/=128;for(;t&Tb;)e[s++]=t&255|Fc,t>>>=7;return e[s]=t|0,gh.bytes=s-r+1,e}var $b=jo,xb=128,Wc=127;function jo(t,r){var s=0,r=r||0,i=0,n=r,o,a=t.length;do{if(n>=a)throw jo.bytes=0,new RangeError("Could not decode varint");o=t[n++],s+=i<28?(o&Wc)<<i:(o&Wc)*Math.pow(2,i),i+=7}while(o>=xb);return jo.bytes=n-r,s}var Rb=Math.pow(2,7),Ub=Math.pow(2,14),Db=Math.pow(2,21),Lb=Math.pow(2,28),Mb=Math.pow(2,35),Bb=Math.pow(2,42),jb=Math.pow(2,49),qb=Math.pow(2,56),Fb=Math.pow(2,63),Wb=function(t){return t<Rb?1:t<Ub?2:t<Db?3:t<Lb?4:t<Mb?5:t<Bb?6:t<jb?7:t<qb?8:t<Fb?9:10},Hb={encode:Pb,decode:$b,encodingLength:Wb},mh=Hb;const Hc=(t,e,s=0)=>(mh.encode(t,e,s),e),zc=t=>mh.encodingLength(t),qo=(t,e)=>{const s=e.byteLength,r=zc(t),i=r+zc(s),n=new Uint8Array(i+s);return Hc(t,n,0),Hc(s,n,r),n.set(e,i),new zb(t,s,e,n)};class zb{constructor(e,s,r,i){this.code=e,this.size=s,this.digest=r,this.bytes=i}}const wh=({name:t,code:e,encode:s})=>new Vb(t,e,s);class Vb{constructor(e,s,r){this.name=e,this.code=s,this.encode=r}digest(e){if(e instanceof Uint8Array){const s=this.encode(e);return s instanceof Uint8Array?qo(this.code,s):s.then(r=>qo(this.code,r))}else throw Error("Unknown type, must be binary type")}}const yh=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Kb=wh({name:"sha2-256",code:18,encode:yh("SHA-256")}),Gb=wh({name:"sha2-512",code:19,encode:yh("SHA-512")});var Jb=Object.freeze({__proto__:null,sha256:Kb,sha512:Gb});const bh=0,Yb="identity",vh=dh,Xb=t=>qo(bh,vh(t)),Zb={code:bh,name:Yb,encode:vh,digest:Xb};var Qb=Object.freeze({__proto__:null,identity:Zb});new TextEncoder,new TextDecoder;const Vc={...zy,...Ky,...Jy,...Xy,...eb,...ub,...pb,...mb,...Eb,...Sb};({...Jb,...Qb});function ev(t=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(t):new Uint8Array(t)}function Eh(t,e,s,r){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:s},decoder:{decode:r}}}const Kc=Eh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),co=Eh("ascii","a",t=>{let e="a";for(let s=0;s<t.length;s++)e+=String.fromCharCode(t[s]);return e},t=>{t=t.substring(1);const e=ev(t.length);for(let s=0;s<t.length;s++)e[s]=t.charCodeAt(s);return e}),tv={utf8:Kc,"utf-8":Kc,hex:Vc.base16,latin1:co,ascii:co,binary:co,...Vc};function sv(t,e="utf8"){const s=tv[e];if(!s)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t,"utf8"):s.decoder.decode(`${s.prefix}${t}`)}var rv=Object.defineProperty,iv=(t,e,s)=>e in t?rv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,zt=(t,e,s)=>iv(t,typeof e!="symbol"?e+"":e,s);class nv{constructor(e,s){this.core=e,this.logger=s,zt(this,"keychain",new Map),zt(this,"name",iy),zt(this,"version",ny),zt(this,"initialized",!1),zt(this,"storagePrefix",Qt),zt(this,"init",async()=>{if(!this.initialized){const r=await this.getKeyChain();typeof r<"u"&&(this.keychain=r),this.initialized=!0}}),zt(this,"has",r=>(this.isInitialized(),this.keychain.has(r))),zt(this,"set",async(r,i)=>{this.isInitialized(),this.keychain.set(r,i),await this.persist()}),zt(this,"get",r=>{this.isInitialized();const i=this.keychain.get(r);if(typeof i>"u"){const{message:n}=R("NO_MATCHING_KEY",`${this.name}: ${r}`);throw new Error(n)}return i}),zt(this,"del",async r=>{this.isInitialized(),this.keychain.delete(r),await this.persist()}),this.core=e,this.logger=ot(s,this.name)}get context(){return Nt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,So(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Po(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var ov=Object.defineProperty,av=(t,e,s)=>e in t?ov(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ye=(t,e,s)=>av(t,typeof e!="symbol"?e+"":e,s);class cv{constructor(e,s,r){this.core=e,this.logger=s,Ye(this,"name",sy),Ye(this,"keychain"),Ye(this,"randomSessionIdentifier",Mo()),Ye(this,"initialized",!1),Ye(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),Ye(this,"hasKeys",i=>(this.isInitialized(),this.keychain.has(i))),Ye(this,"getClientId",async()=>{this.isInitialized();const i=await this.getClientSeed(),n=Aa(i);return ed(n.publicKey)}),Ye(this,"generateKeyPair",()=>{this.isInitialized();const i=Ym();return this.setPrivateKey(i.publicKey,i.privateKey)}),Ye(this,"signJWT",async i=>{this.isInitialized();const n=await this.getClientSeed(),o=Aa(n),a=this.randomSessionIdentifier;return await td(a,i,ry,o)}),Ye(this,"generateSharedKey",(i,n,o)=>{this.isInitialized();const a=this.getPrivateKey(i),c=Xm(a,n);return this.setSymKey(c,o)}),Ye(this,"setSymKey",async(i,n)=>{this.isInitialized();const o=n||un(i);return await this.keychain.set(o,i),o}),Ye(this,"deleteKeyPair",async i=>{this.isInitialized(),await this.keychain.del(i)}),Ye(this,"deleteSymKey",async i=>{this.isInitialized(),await this.keychain.del(i)}),Ye(this,"encode",async(i,n,o)=>{this.isInitialized();const a=ih(o),c=ta(n);if(Sc(a))return ew(c,o?.encoding);if(Ac(a)){const d=a.senderPublicKey,f=a.receiverPublicKey;i=await this.generateSharedKey(d,f)}const l=this.getSymKey(i),{type:u,senderPublicKey:h}=a;return Zm({type:u,symKey:l,message:c,senderPublicKey:h,encoding:o?.encoding})}),Ye(this,"decode",async(i,n,o)=>{this.isInitialized();const a=sw(n,o);if(Sc(a)){const c=tw(n,o?.encoding);return wn(c)}if(Ac(a)){const c=a.receiverPublicKey,l=a.senderPublicKey;i=await this.generateSharedKey(c,l)}try{const c=this.getSymKey(i),l=Qm({symKey:c,encoded:n,encoding:o?.encoding});return wn(l)}catch(c){this.logger.error(`Failed to decode message from topic: '${i}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),Ye(this,"getPayloadType",(i,n=qt)=>{const o=Ai({encoded:i,encoding:n});return Ys(o.type)}),Ye(this,"getPayloadSenderPublicKey",(i,n=qt)=>{const o=Ai({encoded:i,encoding:n});return o.senderPublicKey?gt(o.senderPublicKey,nt):void 0}),this.core=e,this.logger=ot(s,this.name),this.keychain=r||new nv(this.core,this.logger)}get context(){return Nt(this.logger)}async setPrivateKey(e,s){return await this.keychain.set(e,s),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(Bc)}catch{e=Mo(),await this.keychain.set(Bc,e)}return sv(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var lv=Object.defineProperty,uv=Object.defineProperties,hv=Object.getOwnPropertyDescriptors,Gc=Object.getOwnPropertySymbols,dv=Object.prototype.hasOwnProperty,pv=Object.prototype.propertyIsEnumerable,Fo=(t,e,s)=>e in t?lv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,fv=(t,e)=>{for(var s in e||(e={}))dv.call(e,s)&&Fo(t,s,e[s]);if(Gc)for(var s of Gc(e))pv.call(e,s)&&Fo(t,s,e[s]);return t},gv=(t,e)=>uv(t,hv(e)),wt=(t,e,s)=>Fo(t,typeof e!="symbol"?e+"":e,s);class mv extends Gp{constructor(e,s){super(e,s),this.logger=e,this.core=s,wt(this,"messages",new Map),wt(this,"messagesWithoutClientAck",new Map),wt(this,"name",oy),wt(this,"version",ay),wt(this,"initialized",!1),wt(this,"storagePrefix",Qt),wt(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const r=await this.getRelayerMessages();typeof r<"u"&&(this.messages=r);const i=await this.getRelayerMessagesWithoutClientAck();typeof i<"u"&&(this.messagesWithoutClientAck=i),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(r){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(r)}finally{this.initialized=!0}}}),wt(this,"set",async(r,i,n)=>{this.isInitialized();const o=Yt(i);let a=this.messages.get(r);if(typeof a>"u"&&(a={}),typeof a[o]<"u")return o;if(a[o]=i,this.messages.set(r,a),n===hn.inbound){const c=this.messagesWithoutClientAck.get(r)||{};this.messagesWithoutClientAck.set(r,gv(fv({},c),{[o]:i}))}return await this.persist(),o}),wt(this,"get",r=>{this.isInitialized();let i=this.messages.get(r);return typeof i>"u"&&(i={}),i}),wt(this,"getWithoutAck",r=>{this.isInitialized();const i={};for(const n of r){const o=this.messagesWithoutClientAck.get(n)||{};i[n]=Object.values(o)}return i}),wt(this,"has",(r,i)=>{this.isInitialized();const n=this.get(r),o=Yt(i);return typeof n[o]<"u"}),wt(this,"ack",async(r,i)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(r);if(typeof n>"u")return;const o=Yt(i);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(r):this.messagesWithoutClientAck.set(r,n),await this.persist()}),wt(this,"del",async r=>{this.isInitialized(),this.messages.delete(r),this.messagesWithoutClientAck.delete(r),await this.persist()}),this.logger=ot(e,this.name),this.core=s}get context(){return Nt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name+"_withoutClientAck"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,So(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,So(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Po(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<"u"?Po(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var wv=Object.defineProperty,yv=Object.defineProperties,bv=Object.getOwnPropertyDescriptors,Jc=Object.getOwnPropertySymbols,vv=Object.prototype.hasOwnProperty,Ev=Object.prototype.propertyIsEnumerable,Wo=(t,e,s)=>e in t?wv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Yi=(t,e)=>{for(var s in e||(e={}))vv.call(e,s)&&Wo(t,s,e[s]);if(Jc)for(var s of Jc(e))Ev.call(e,s)&&Wo(t,s,e[s]);return t},lo=(t,e)=>yv(t,bv(e)),Lt=(t,e,s)=>Wo(t,typeof e!="symbol"?e+"":e,s);class Cv extends Jp{constructor(e,s){super(e,s),this.relayer=e,this.logger=s,Lt(this,"events",new Os.EventEmitter),Lt(this,"name",cy),Lt(this,"queue",new Map),Lt(this,"publishTimeout",U.toMiliseconds(U.ONE_MINUTE)),Lt(this,"initialPublishTimeout",U.toMiliseconds(U.ONE_SECOND*15)),Lt(this,"needsTransportRestart",!1),Lt(this,"publish",async(r,i,n)=>{var o;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:r,message:i,opts:n}});const a=n?.ttl||jc,c=En(n),l=n?.prompt||!1,u=n?.tag||0,h=n?.id||Nr().toString(),d={topic:r,message:i,opts:{ttl:a,relay:c,prompt:l,tag:u,id:h,attestation:n?.attestation,tvf:n?.tvf}},f=`Failed to publish payload, please try again. id:${h} tag:${u}`;try{const m=new Promise(async w=>{const g=({id:b})=>{d.opts.id===b&&(this.removeRequestFromQueue(b),this.relayer.events.removeListener(ze.publish,g),w(d))};this.relayer.events.on(ze.publish,g);const y=Cs(new Promise((b,E)=>{this.rpcPublish({topic:r,message:i,ttl:a,prompt:l,tag:u,id:h,attestation:n?.attestation,tvf:n?.tvf}).then(b).catch(N=>{this.logger.warn(N,N?.message),E(N)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${h} tag:${u}`);try{await y,this.events.removeListener(ze.publish,g)}catch(b){this.queue.set(h,lo(Yi({},d),{attempt:1})),this.logger.warn(b,b?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:h,topic:r,message:i,opts:n}}),await Cs(m,this.publishTimeout,f)}catch(m){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(m),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw m}finally{this.queue.delete(h)}}),Lt(this,"on",(r,i)=>{this.events.on(r,i)}),Lt(this,"once",(r,i)=>{this.events.once(r,i)}),Lt(this,"off",(r,i)=>{this.events.off(r,i)}),Lt(this,"removeListener",(r,i)=>{this.events.removeListener(r,i)}),this.relayer=e,this.logger=ot(s,this.name),this.registerEventListeners()}get context(){return Nt(this.logger)}async rpcPublish(e){var s,r,i,n;const{topic:o,message:a,ttl:c=jc,prompt:l,tag:u,id:h,attestation:d,tvf:f}=e,m={method:ci(En().protocol).publish,params:Yi({topic:o,message:a,ttl:c,prompt:l,tag:u,attestation:d},f),id:h};tt((s=m.params)==null?void 0:s.prompt)&&((r=m.params)==null||delete r.prompt),tt((i=m.params)==null?void 0:i.tag)&&((n=m.params)==null||delete n.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:m});const w=await this.relayer.request(m);return this.relayer.events.emit(ze.publish,e),this.logger.debug("Successfully Published Payload"),w}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,s)=>{const r=e.attempt+1;this.queue.set(s,lo(Yi({},e),{attempt:r}));const{topic:i,message:n,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${r}`),await this.rpcPublish(lo(Yi({},e),{topic:i,message:n,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a,tvf:o.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(zr.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(ze.connection_stalled);return}this.checkQueue()}),this.relayer.on(ze.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var Iv=Object.defineProperty,Nv=(t,e,s)=>e in t?Iv(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ar=(t,e,s)=>Nv(t,typeof e!="symbol"?e+"":e,s);class _v{constructor(){ar(this,"map",new Map),ar(this,"set",(e,s)=>{const r=this.get(e);this.exists(e,s)||this.map.set(e,[...r,s])}),ar(this,"get",e=>this.map.get(e)||[]),ar(this,"exists",(e,s)=>this.get(e).includes(s)),ar(this,"delete",(e,s)=>{if(typeof s>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const r=this.get(e);if(!this.exists(e,s))return;const i=r.filter(n=>n!==s);if(!i.length){this.map.delete(e);return}this.map.set(e,i)}),ar(this,"clear",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var Av=Object.defineProperty,Sv=Object.defineProperties,Pv=Object.getOwnPropertyDescriptors,Yc=Object.getOwnPropertySymbols,Ov=Object.prototype.hasOwnProperty,Tv=Object.prototype.propertyIsEnumerable,Ho=(t,e,s)=>e in t?Av(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,si=(t,e)=>{for(var s in e||(e={}))Ov.call(e,s)&&Ho(t,s,e[s]);if(Yc)for(var s of Yc(e))Tv.call(e,s)&&Ho(t,s,e[s]);return t},uo=(t,e)=>Sv(t,Pv(e)),ve=(t,e,s)=>Ho(t,typeof e!="symbol"?e+"":e,s);class kv extends Zp{constructor(e,s){super(e,s),this.relayer=e,this.logger=s,ve(this,"subscriptions",new Map),ve(this,"topicMap",new _v),ve(this,"events",new Os.EventEmitter),ve(this,"name",gy),ve(this,"version",my),ve(this,"pending",new Map),ve(this,"cached",[]),ve(this,"initialized",!1),ve(this,"storagePrefix",Qt),ve(this,"subscribeTimeout",U.toMiliseconds(U.ONE_MINUTE)),ve(this,"initialSubscribeTimeout",U.toMiliseconds(U.ONE_SECOND*15)),ve(this,"clientId"),ve(this,"batchSubscribeTopicsLimit",500),ve(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),ve(this,"subscribe",async(r,i)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:r,opts:i}});try{const n=En(i),o={topic:r,relay:n,transportType:i?.transportType};this.pending.set(r,o);const a=await this.rpcSubscribe(r,n,i);return typeof a=="string"&&(this.onSubscribe(a,o),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:r,opts:i}})),a}catch(n){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(n),n}}),ve(this,"unsubscribe",async(r,i)=>{this.isInitialized(),typeof i?.id<"u"?await this.unsubscribeById(r,i.id,i):await this.unsubscribeByTopic(r,i)}),ve(this,"isSubscribed",r=>new Promise(i=>{i(this.topicMap.topics.includes(r))})),ve(this,"isKnownTopic",r=>new Promise(i=>{i(this.topicMap.topics.includes(r)||this.pending.has(r)||this.cached.some(n=>n.topic===r))})),ve(this,"on",(r,i)=>{this.events.on(r,i)}),ve(this,"once",(r,i)=>{this.events.once(r,i)}),ve(this,"off",(r,i)=>{this.events.off(r,i)}),ve(this,"removeListener",(r,i)=>{this.events.removeListener(r,i)}),ve(this,"start",async()=>{await this.onConnect()}),ve(this,"stop",async()=>{await this.onDisconnect()}),ve(this,"restart",async()=>{await this.restore(),await this.onRestart()}),ve(this,"checkPending",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const r=[];this.pending.forEach(i=>{r.push(i)}),await this.batchSubscribe(r)}),ve(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(zr.pulse,async()=>{await this.checkPending()}),this.events.on(yt.created,async r=>{const i=yt.created;this.logger.info(`Emitting ${i}`),this.logger.debug({type:"event",event:i,data:r}),await this.persist()}),this.events.on(yt.deleted,async r=>{const i=yt.deleted;this.logger.info(`Emitting ${i}`),this.logger.debug({type:"event",event:i,data:r}),await this.persist()})}),this.relayer=e,this.logger=ot(s,this.name),this.clientId=""}get context(){return Nt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,s){let r=!1;try{r=this.getSubscription(e).topic===s}catch{}return r}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,s){const r=this.topicMap.get(e);await Promise.all(r.map(async i=>await this.unsubscribeById(e,i,s)))}async unsubscribeById(e,s,r){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:s,opts:r}});try{const i=En(r);await this.restartToComplete({topic:e,id:s,relay:i}),await this.rpcUnsubscribe(e,s,i);const n=we("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,s,n),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:s,opts:r}})}catch(i){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(i),i}}async rpcSubscribe(e,s,r){var i;(!r||r?.transportType===Se.relay)&&await this.restartToComplete({topic:e,id:e,relay:s});const n={method:ci(s.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});const o=(i=r?.internal)==null?void 0:i.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(r?.transportType===Se.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(u=>this.logger.warn(u))},U.toMiliseconds(U.ONE_SECOND)),a;const c=new Promise(async u=>{const h=d=>{d.topic===e&&(this.events.removeListener(yt.created,h),u(d.id))};this.events.on(yt.created,h);try{const d=await Cs(new Promise((f,m)=>{this.relayer.request(n).catch(w=>{this.logger.warn(w,w?.message),m(w)}).then(f)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(yt.created,h),u(d)}catch{}}),l=await Cs(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!l&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return l?a:null}catch(a){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(ze.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const s=e[0].relay,r={method:ci(s.protocol).batchSubscribe,params:{topics:e.map(i=>i.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r});try{await await Cs(new Promise(i=>{this.relayer.request(r).catch(n=>this.logger.warn(n)).then(i)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(ze.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const s=e[0].relay,r={method:ci(s.protocol).batchFetchMessages,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r});let i;try{i=await await Cs(new Promise((n,o)=>{this.relayer.request(r).catch(a=>{this.logger.warn(a),o(a)}).then(n)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(ze.connection_stalled)}return i}rpcUnsubscribe(e,s,r){const i={method:ci(r.protocol).unsubscribe,params:{topic:e,id:s}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,s){this.setSubscription(e,uo(si({},s),{id:e})),this.pending.delete(s.topic)}onBatchSubscribe(e){e.length&&e.forEach(s=>{this.setSubscription(s.id,si({},s)),this.pending.delete(s.topic)})}async onUnsubscribe(e,s,r){this.events.removeAllListeners(s),this.hasSubscription(s,e)&&this.deleteSubscription(s,r),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,s){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:s}),this.addSubscription(e,s)}addSubscription(e,s){this.subscriptions.set(e,si({},s)),this.topicMap.set(s.topic,e),this.events.emit(yt.created,s)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const s=this.subscriptions.get(e);if(!s){const{message:r}=R("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(r)}return s}deleteSubscription(e,s){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:s});const r=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(r.topic,e),this.events.emit(yt.deleted,uo(si({},r),{reason:s}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(yt.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],s=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let r=0;r<s;r++){const i=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(i)}}this.events.emit(yt.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:s}=R("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async s=>uo(si({},s),{id:await this.getSubscriptionId(s.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const s=await this.rpcBatchFetchMessages(e);s&&s.messages&&(await Lf(U.toMiliseconds(U.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(s.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return Yt(e+await this.getClientId())}}var $v=Object.defineProperty,Xc=Object.getOwnPropertySymbols,xv=Object.prototype.hasOwnProperty,Rv=Object.prototype.propertyIsEnumerable,zo=(t,e,s)=>e in t?$v(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Zc=(t,e)=>{for(var s in e||(e={}))xv.call(e,s)&&zo(t,s,e[s]);if(Xc)for(var s of Xc(e))Rv.call(e,s)&&zo(t,s,e[s]);return t},le=(t,e,s)=>zo(t,typeof e!="symbol"?e+"":e,s);class Uv extends Yp{constructor(e){super(e),le(this,"protocol","wc"),le(this,"version",2),le(this,"core"),le(this,"logger"),le(this,"events",new Os.EventEmitter),le(this,"provider"),le(this,"messages"),le(this,"subscriber"),le(this,"publisher"),le(this,"name",uy),le(this,"transportExplicitlyClosed",!1),le(this,"initialized",!1),le(this,"connectionAttemptInProgress",!1),le(this,"relayUrl"),le(this,"projectId"),le(this,"packageName"),le(this,"bundleId"),le(this,"hasExperiencedNetworkDisruption",!1),le(this,"pingTimeout"),le(this,"heartBeatTimeout",U.toMiliseconds(U.THIRTY_SECONDS+U.FIVE_SECONDS)),le(this,"reconnectTimeout"),le(this,"connectPromise"),le(this,"reconnectInProgress",!1),le(this,"requestsInFlight",[]),le(this,"connectTimeout",U.toMiliseconds(U.ONE_SECOND*15)),le(this,"request",async s=>{var r,i;this.logger.debug("Publishing Request Payload");const n=s.id||Nr().toString();await this.toEstablishConnection();try{this.logger.trace({id:n,method:s.method,topic:(r=s.params)==null?void 0:r.topic},"relayer.request - publishing...");const o=`${n}:${((i=s.params)==null?void 0:i.tag)||""}`;this.requestsInFlight.push(o);const a=await this.provider.request(s);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${n}`),o}}),le(this,"resetPingTimeout",()=>{bn()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var s,r,i,n;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(n=(i=(r=(s=this.provider)==null?void 0:s.connection)==null?void 0:r.socket)==null?void 0:i.terminate)==null||n.call(i)}catch(o){this.logger.warn(o,o?.message)}},this.heartBeatTimeout))}),le(this,"onPayloadHandler",s=>{this.onProviderPayload(s),this.resetPingTimeout()}),le(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected 🛜"),this.startPingTimeout(),this.events.emit(ze.connect)}),le(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected 🛑"),this.requestsInFlight=[],this.onProviderDisconnect()}),le(this,"onProviderErrorHandler",s=>{this.logger.fatal(`Fatal socket error: ${s.message}`),this.events.emit(ze.error,s),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),le(this,"registerProviderListeners",()=>{this.provider.on(Pt.payload,this.onPayloadHandler),this.provider.on(Pt.connect,this.onConnectHandler),this.provider.on(Pt.disconnect,this.onDisconnectHandler),this.provider.on(Pt.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?ot(e.logger,this.name):sa(Ti({level:e.logger||ly})),this.messages=new mv(this.logger,e.core),this.subscriber=new kv(this,this.logger),this.publisher=new Cv(this,this.logger),this.relayUrl=e?.relayUrl||uh,this.projectId=e.projectId,Ef()?this.packageName=Ya():Cf()&&(this.bundleId=Ya()),this.provider={}}async init(){if(this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return Nt(this.logger)}get connected(){var e,s,r;return((r=(s=(e=this.provider)==null?void 0:e.connection)==null?void 0:s.socket)==null?void 0:r.readyState)===1||!1}get connecting(){var e,s,r;return((r=(s=(e=this.provider)==null?void 0:e.connection)==null?void 0:s.socket)==null?void 0:r.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,s,r){this.isInitialized(),await this.publisher.publish(e,s,r),await this.recordMessageEvent({topic:e,message:s,publishedAt:Date.now(),transportType:Se.relay},hn.outbound)}async subscribe(e,s){var r,i,n;this.isInitialized(),(!(s!=null&&s.transportType)||s?.transportType==="relay")&&await this.toEstablishConnection();const o=typeof((r=s?.internal)==null?void 0:r.throwOnFailedPublish)>"u"?!0:(i=s?.internal)==null?void 0:i.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||"",c;const l=u=>{u.topic===e&&(this.subscriber.off(yt.created,l),c())};return await Promise.all([new Promise(u=>{c=u,this.subscriber.on(yt.created,l)}),new Promise(async(u,h)=>{a=await this.subscriber.subscribe(e,Zc({internal:{throwOnFailedPublish:o}},s)).catch(d=>{o&&h(d)})||a,u()})]),a}async unsubscribe(e,s){this.isInitialized(),await this.subscriber.unsubscribe(e,s)}on(e,s){this.events.on(e,s)}once(e,s){this.events.once(e,s)}off(e,s){this.events.off(e,s)}removeListener(e,s){this.events.removeListener(e,s)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await Cs(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn("Starting WS connection skipped because the client has no topics to work with.");return}if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(s,r)=>{await this.connect(e).then(s).catch(r).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await Mc())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const s=e.sort((r,i)=>r.publishedAt-i.publishedAt);this.logger.debug(`Batch of ${s.length} message events sorted`);for(const r of s)try{await this.onMessageEvent(r)}catch(i){this.logger.warn(i,"Error while processing batch message event: "+i?.message)}this.logger.trace(`Batch of ${s.length} message events processed`)}async onLinkMessageEvent(e,s){const{topic:r}=e;if(!s.sessionExists){const i=Me(U.FIVE_MINUTES),n={topic:r,expiry:i,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(r,n)}this.events.emit(ze.message,e),await this.recordMessageEvent(e,hn.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let s=1;for(;s<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${s}...`),await this.createProvider(),await new Promise(async(r,i)=>{const n=()=>{i(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Pt.disconnect,n),await Cs(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{i(o)}).finally(()=>{this.provider.off(Pt.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{a(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Pt.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(Pt.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,r()})}catch(r){await this.subscriber.stop();const i=r;this.logger.warn({},i.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${s}`);break}await new Promise(r=>setTimeout(r,U.toMiliseconds(s*1))),s++}}startPingTimeout(){var e,s,r,i,n;if(bn())try{(s=(e=this.provider)==null?void 0:e.connection)!=null&&s.socket&&((n=(i=(r=this.provider)==null?void 0:r.connection)==null?void 0:i.socket)==null||n.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new xt(new Qh(Sf({sdkVersion:Bo,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,s){const{topic:r,message:i}=e;await this.messages.set(r,i,s)}async shouldIgnoreMessageEvent(e){const{topic:s,message:r}=e;if(!r||r.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${r}`),!0;if(!await this.subscriber.isKnownTopic(s))return this.logger.warn(`Ignoring message for unknown topic ${s}`),!0;const i=this.messages.has(s,r);return i&&this.logger.warn(`Ignoring duplicate message: ${r}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),ra(e)){if(!e.method.endsWith(hy))return;const s=e.params,{topic:r,message:i,publishedAt:n,attestation:o}=s.data,a={topic:r,message:i,publishedAt:n,transportType:Se.relay,attestation:o};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(Zc({type:"event",event:s.id},a)),this.events.emit(s.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else ia(e)&&this.events.emit(ze.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,hn.inbound),this.events.emit(ze.message,e))}async acknowledgePayload(e){const s=Sn(e.id,!0);await this.provider.connection.send(s)}unregisterProviderListeners(){this.provider.off(Pt.payload,this.onPayloadHandler),this.provider.off(Pt.connect,this.onConnectHandler),this.provider.off(Pt.disconnect,this.onDisconnectHandler),this.provider.off(Pt.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await Mc();Jw(async s=>{e!==s&&(e=s,s?await this.transportOpen().catch(r=>this.logger.error(r,r?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(zr.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&Zw())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(s){this.logger.warn(s,s?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(ze.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},U.toMiliseconds(dy)))))}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function Dv(){}function Qc(t){if(!t||typeof t!="object")return!1;const e=Object.getPrototypeOf(t);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(t)==="[object Object]":!1}function el(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}function tl(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const Lv="[object RegExp]",Mv="[object String]",Bv="[object Number]",jv="[object Boolean]",sl="[object Arguments]",qv="[object Symbol]",Fv="[object Date]",Wv="[object Map]",Hv="[object Set]",zv="[object Array]",Vv="[object Function]",Kv="[object ArrayBuffer]",ho="[object Object]",Gv="[object Error]",Jv="[object DataView]",Yv="[object Uint8Array]",Xv="[object Uint8ClampedArray]",Zv="[object Uint16Array]",Qv="[object Uint32Array]",e0="[object BigUint64Array]",t0="[object Int8Array]",s0="[object Int16Array]",r0="[object Int32Array]",i0="[object BigInt64Array]",n0="[object Float32Array]",o0="[object Float64Array]";function a0(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}function c0(t,e,s){return li(t,e,void 0,void 0,void 0,void 0,s)}function li(t,e,s,r,i,n,o){const a=o(t,e,s,r,i,n);if(a!==void 0)return a;if(typeof t==typeof e)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return t===e;case"number":return t===e||Object.is(t,e);case"function":return t===e;case"object":return yi(t,e,n,o)}return yi(t,e,n,o)}function yi(t,e,s,r){if(Object.is(t,e))return!0;let i=tl(t),n=tl(e);if(i===sl&&(i=ho),n===sl&&(n=ho),i!==n)return!1;switch(i){case Mv:return t.toString()===e.toString();case Bv:{const c=t.valueOf(),l=e.valueOf();return a0(c,l)}case jv:case Fv:case qv:return Object.is(t.valueOf(),e.valueOf());case Lv:return t.source===e.source&&t.flags===e.flags;case Vv:return t===e}s=s??new Map;const o=s.get(t),a=s.get(e);if(o!=null&&a!=null)return o===e;s.set(t,e),s.set(e,t);try{switch(i){case Wv:{if(t.size!==e.size)return!1;for(const[c,l]of t.entries())if(!e.has(c)||!li(l,e.get(c),c,t,e,s,r))return!1;return!0}case Hv:{if(t.size!==e.size)return!1;const c=Array.from(t.values()),l=Array.from(e.values());for(let u=0;u<c.length;u++){const h=c[u],d=l.findIndex(f=>li(h,f,void 0,t,e,s,r));if(d===-1)return!1;l.splice(d,1)}return!0}case zv:case Yv:case Xv:case Zv:case Qv:case e0:case t0:case s0:case r0:case i0:case n0:case o0:{if(typeof Buffer<"u"&&Buffer.isBuffer(t)!==Buffer.isBuffer(e)||t.length!==e.length)return!1;for(let c=0;c<t.length;c++)if(!li(t[c],e[c],c,t,e,s,r))return!1;return!0}case Kv:return t.byteLength!==e.byteLength?!1:yi(new Uint8Array(t),new Uint8Array(e),s,r);case Jv:return t.byteLength!==e.byteLength||t.byteOffset!==e.byteOffset?!1:yi(new Uint8Array(t),new Uint8Array(e),s,r);case Gv:return t.name===e.name&&t.message===e.message;case ho:{if(!(yi(t.constructor,e.constructor,s,r)||Qc(t)&&Qc(e)))return!1;const c=[...Object.keys(t),...el(t)],l=[...Object.keys(e),...el(e)];if(c.length!==l.length)return!1;for(let u=0;u<c.length;u++){const h=c[u],d=t[h];if(!Object.hasOwn(e,h))return!1;const f=e[h];if(!li(d,f,h,t,e,s,r))return!1}return!0}default:return!1}}finally{s.delete(t),s.delete(e)}}function l0(t,e){return c0(t,e,Dv)}var u0=Object.defineProperty,rl=Object.getOwnPropertySymbols,h0=Object.prototype.hasOwnProperty,d0=Object.prototype.propertyIsEnumerable,Vo=(t,e,s)=>e in t?u0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,il=(t,e)=>{for(var s in e||(e={}))h0.call(e,s)&&Vo(t,s,e[s]);if(rl)for(var s of rl(e))d0.call(e,s)&&Vo(t,s,e[s]);return t},ut=(t,e,s)=>Vo(t,typeof e!="symbol"?e+"":e,s);class tr extends Xp{constructor(e,s,r,i=Qt,n=void 0){super(e,s,r,i),this.core=e,this.logger=s,this.name=r,ut(this,"map",new Map),ut(this,"version",py),ut(this,"cached",[]),ut(this,"initialized",!1),ut(this,"getKey"),ut(this,"storagePrefix",Qt),ut(this,"recentlyDeleted",[]),ut(this,"recentlyDeletedLimit",200),ut(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!tt(o)?this.map.set(this.getKey(o),o):Aw(o)?this.map.set(o.id,o):Sw(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),ut(this,"set",async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())}),ut(this,"get",o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o))),ut(this,"getAll",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>l0(a[c],o[c]))):this.values)),ut(this,"update",async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const c=il(il({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),ut(this,"delete",async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())}),this.logger=ot(s,this.name),this.storagePrefix=i,this.getKey=n}get context(){return Nt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const s=this.map.get(e);if(!s){if(this.recentlyDeleted.includes(e)){const{message:i}=R("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}const{message:r}=R("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(r),new Error(r)}return s}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:s}=R("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var p0=Object.defineProperty,f0=(t,e,s)=>e in t?p0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ie=(t,e,s)=>f0(t,typeof e!="symbol"?e+"":e,s);class g0{constructor(e,s){this.core=e,this.logger=s,ie(this,"name",wy),ie(this,"version",yy),ie(this,"events",new oa),ie(this,"pairings"),ie(this,"initialized",!1),ie(this,"storagePrefix",Qt),ie(this,"ignoredPayloadTypes",[us]),ie(this,"registeredMethods",[]),ie(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),ie(this,"register",({methods:r})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...r])]}),ie(this,"create",async r=>{this.isInitialized();const i=Mo(),n=await this.core.crypto.setSymKey(i),o=Me(U.FIVE_MINUTES),a={protocol:lh},c={topic:n,expiry:o,relay:a,active:!1,methods:r?.methods},l=Oc({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:i,relay:a,expiryTimestamp:o,methods:r?.methods});return this.events.emit(js.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:r?.transportType}),{topic:n,uri:l}}),ie(this,"pair",async r=>{this.isInitialized();const i=this.core.eventClient.createEvent({properties:{topic:r?.uri,trace:[Kt.pairing_started]}});this.isValidPair(r,i);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:l}=Pc(r.uri);i.props.properties.topic=n,i.addTrace(Kt.pairing_uri_validation_success),i.addTrace(Kt.pairing_uri_not_expired);let u;if(this.pairings.keys.includes(n)){if(u=this.pairings.get(n),i.addTrace(Kt.existing_pairing),u.active)throw i.setError(os.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);i.addTrace(Kt.pairing_not_expired)}const h=c||Me(U.FIVE_MINUTES),d={topic:n,relay:a,expiry:h,active:!1,methods:l};this.core.expirer.set(n,h),await this.pairings.set(n,d),i.addTrace(Kt.store_new_pairing),r.activatePairing&&await this.activate({topic:n}),this.events.emit(js.create,d),i.addTrace(Kt.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),i.addTrace(Kt.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{i.setError(os.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(f){throw i.setError(os.subscribe_pairing_topic_failure),f}return i.addTrace(Kt.subscribe_pairing_topic_success),d}),ie(this,"activate",async({topic:r})=>{this.isInitialized();const i=Me(U.FIVE_MINUTES);this.core.expirer.set(r,i),await this.pairings.update(r,{active:!0,expiry:i})}),ie(this,"ping",async r=>{this.isInitialized(),await this.isValidPing(r),this.logger.warn("ping() is deprecated and will be removed in the next major release.");const{topic:i}=r;if(this.pairings.keys.includes(i)){const n=await this.sendRequest(i,"wc_pairingPing",{}),{done:o,resolve:a,reject:c}=Ls();this.events.once(pe("pairing_ping",n),({error:l})=>{l?c(l):a()}),await o()}}),ie(this,"updateExpiry",async({topic:r,expiry:i})=>{this.isInitialized(),await this.pairings.update(r,{expiry:i})}),ie(this,"updateMetadata",async({topic:r,metadata:i})=>{this.isInitialized(),await this.pairings.update(r,{peerMetadata:i})}),ie(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),ie(this,"disconnect",async r=>{this.isInitialized(),await this.isValidDisconnect(r);const{topic:i}=r;this.pairings.keys.includes(i)&&(await this.sendRequest(i,"wc_pairingDelete",we("USER_DISCONNECTED")),await this.deletePairing(i))}),ie(this,"formatUriFromPairing",r=>{this.isInitialized();const{topic:i,relay:n,expiry:o,methods:a}=r,c=this.core.crypto.keychain.get(i);return Oc({protocol:this.core.protocol,version:this.core.version,topic:i,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),ie(this,"sendRequest",async(r,i,n)=>{const o=Fs(i,n),a=await this.core.crypto.encode(r,o),c=ei[i].req;return this.core.history.set(r,o),this.core.relayer.publish(r,a,c),o.id}),ie(this,"sendResult",async(r,i,n)=>{const o=Sn(r,n),a=await this.core.crypto.encode(i,o),c=(await this.core.history.get(i,r)).request.method,l=ei[c].res;await this.core.relayer.publish(i,a,l),await this.core.history.resolve(o)}),ie(this,"sendError",async(r,i,n)=>{const o=Vl(r,n),a=await this.core.crypto.encode(i,o),c=(await this.core.history.get(i,r)).request.method,l=ei[c]?ei[c].res:ei.unregistered_method.res;await this.core.relayer.publish(i,a,l),await this.core.history.resolve(o)}),ie(this,"deletePairing",async(r,i)=>{await this.core.relayer.unsubscribe(r),await Promise.all([this.pairings.delete(r,we("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(r),i?Promise.resolve():this.core.expirer.del(r)])}),ie(this,"cleanup",async()=>{const r=this.pairings.getAll().filter(i=>ys(i.expiry));await Promise.all(r.map(i=>this.deletePairing(i.topic)))}),ie(this,"onRelayEventRequest",async r=>{const{topic:i,payload:n}=r;switch(n.method){case"wc_pairingPing":return await this.onPairingPingRequest(i,n);case"wc_pairingDelete":return await this.onPairingDeleteRequest(i,n);default:return await this.onUnknownRpcMethodRequest(i,n)}}),ie(this,"onRelayEventResponse",async r=>{const{topic:i,payload:n}=r,o=(await this.core.history.get(i,n.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(i,n);default:return this.onUnknownRpcMethodResponse(o)}}),ie(this,"onPairingPingRequest",async(r,i)=>{const{id:n}=i;try{this.isValidPing({topic:r}),await this.sendResult(n,r,!0),this.events.emit(js.ping,{id:n,topic:r})}catch(o){await this.sendError(n,r,o),this.logger.error(o)}}),ie(this,"onPairingPingResponse",(r,i)=>{const{id:n}=i;setTimeout(()=>{ns(i)?this.events.emit(pe("pairing_ping",n),{}):Gt(i)&&this.events.emit(pe("pairing_ping",n),{error:i.error})},500)}),ie(this,"onPairingDeleteRequest",async(r,i)=>{const{id:n}=i;try{this.isValidDisconnect({topic:r}),await this.deletePairing(r),this.events.emit(js.delete,{id:n,topic:r})}catch(o){await this.sendError(n,r,o),this.logger.error(o)}}),ie(this,"onUnknownRpcMethodRequest",async(r,i)=>{const{id:n,method:o}=i;try{if(this.registeredMethods.includes(o))return;const a=we("WC_METHOD_UNSUPPORTED",o);await this.sendError(n,r,a),this.logger.error(a)}catch(a){await this.sendError(n,r,a),this.logger.error(a)}}),ie(this,"onUnknownRpcMethodResponse",r=>{this.registeredMethods.includes(r)||this.logger.error(we("WC_METHOD_UNSUPPORTED",r))}),ie(this,"isValidPair",(r,i)=>{var n;if(!pt(r)){const{message:a}=R("MISSING_OR_INVALID",`pair() params: ${r}`);throw i.setError(os.malformed_pairing_uri),new Error(a)}if(!_w(r.uri)){const{message:a}=R("MISSING_OR_INVALID",`pair() uri: ${r.uri}`);throw i.setError(os.malformed_pairing_uri),new Error(a)}const o=Pc(r?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=R("MISSING_OR_INVALID","pair() uri#relay-protocol");throw i.setError(os.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=R("MISSING_OR_INVALID","pair() uri#symKey");throw i.setError(os.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&U.toMiliseconds(o?.expiryTimestamp)<Date.now()){i.setError(os.pairing_expired);const{message:a}=R("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(a)}}),ie(this,"isValidPing",async r=>{if(!pt(r)){const{message:n}=R("MISSING_OR_INVALID",`ping() params: ${r}`);throw new Error(n)}const{topic:i}=r;await this.isValidPairingTopic(i)}),ie(this,"isValidDisconnect",async r=>{if(!pt(r)){const{message:n}=R("MISSING_OR_INVALID",`disconnect() params: ${r}`);throw new Error(n)}const{topic:i}=r;await this.isValidPairingTopic(i)}),ie(this,"isValidPairingTopic",async r=>{if(!Re(r,!1)){const{message:i}=R("MISSING_OR_INVALID",`pairing topic should be a string: ${r}`);throw new Error(i)}if(!this.pairings.keys.includes(r)){const{message:i}=R("NO_MATCHING_KEY",`pairing topic doesn't exist: ${r}`);throw new Error(i)}if(ys(this.pairings.get(r).expiry)){await this.deletePairing(r);const{message:i}=R("EXPIRED",`pairing topic: ${r}`);throw new Error(i)}}),this.core=e,this.logger=ot(s,this.name),this.pairings=new tr(this.core,this.logger,this.name,this.storagePrefix)}get context(){return Nt(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(ze.message,async e=>{const{topic:s,message:r,transportType:i}=e;if(this.pairings.keys.includes(s)&&i!==Se.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(r)))try{const n=await this.core.crypto.decode(s,r);ra(n)?(this.core.history.set(s,n),await this.onRelayEventRequest({topic:s,payload:n})):ia(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:s,payload:n}),this.core.history.delete(s,n.id)),await this.core.relayer.messages.ack(s,r)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(kt.expired,async e=>{const{topic:s}=_u(e.target);s&&this.pairings.keys.includes(s)&&(await this.deletePairing(s,!0),this.events.emit(js.expire,{topic:s}))})}}var m0=Object.defineProperty,w0=(t,e,s)=>e in t?m0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Xe=(t,e,s)=>w0(t,typeof e!="symbol"?e+"":e,s);class y0 extends Kp{constructor(e,s){super(e,s),this.core=e,this.logger=s,Xe(this,"records",new Map),Xe(this,"events",new Os.EventEmitter),Xe(this,"name",by),Xe(this,"version",vy),Xe(this,"cached",[]),Xe(this,"initialized",!1),Xe(this,"storagePrefix",Qt),Xe(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(r=>this.records.set(r.id,r)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),Xe(this,"set",(r,i,n)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:r,request:i,chainId:n}),this.records.has(i.id))return;const o={id:i.id,topic:r,request:{method:i.method,params:i.params||null},chainId:n,expiry:Me(U.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(Ut.created,o)}),Xe(this,"resolve",async r=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:r}),!this.records.has(r.id))return;const i=await this.getRecord(r.id);typeof i.response>"u"&&(i.response=Gt(r)?{error:r.error}:{result:r.result},this.records.set(i.id,i),this.persist(),this.events.emit(Ut.updated,i))}),Xe(this,"get",async(r,i)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:r,id:i}),await this.getRecord(i))),Xe(this,"delete",(r,i)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:i}),this.values.forEach(n=>{if(n.topic===r){if(typeof i<"u"&&n.id!==i)return;this.records.delete(n.id),this.events.emit(Ut.deleted,n)}}),this.persist()}),Xe(this,"exists",async(r,i)=>(this.isInitialized(),this.records.has(i)?(await this.getRecord(i)).topic===r:!1)),Xe(this,"on",(r,i)=>{this.events.on(r,i)}),Xe(this,"once",(r,i)=>{this.events.once(r,i)}),Xe(this,"off",(r,i)=>{this.events.off(r,i)}),Xe(this,"removeListener",(r,i)=>{this.events.removeListener(r,i)}),this.logger=ot(s,this.name)}get context(){return Nt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(s=>{if(typeof s.response<"u")return;const r={topic:s.topic,request:Fs(s.request.method,s.request.params,s.id),chainId:s.chainId};return e.push(r)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const s=this.records.get(e);if(!s){const{message:r}=R("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(r)}return s}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(Ut.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:s}=R("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(Ut.created,e=>{const s=Ut.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.events.on(Ut.updated,e=>{const s=Ut.updated;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.events.on(Ut.deleted,e=>{const s=Ut.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,record:e})}),this.core.heartbeat.on(zr.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(s=>{U.toMiliseconds(s.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${s.id}`),this.records.delete(s.id),this.events.emit(Ut.deleted,s,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var b0=Object.defineProperty,v0=(t,e,s)=>e in t?b0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,et=(t,e,s)=>v0(t,typeof e!="symbol"?e+"":e,s);class E0 extends Qp{constructor(e,s){super(e,s),this.core=e,this.logger=s,et(this,"expirations",new Map),et(this,"events",new Os.EventEmitter),et(this,"name",Ey),et(this,"version",Cy),et(this,"cached",[]),et(this,"initialized",!1),et(this,"storagePrefix",Qt),et(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(r=>this.expirations.set(r.target,r)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),et(this,"has",r=>{try{const i=this.formatTarget(r);return typeof this.getExpiration(i)<"u"}catch{return!1}}),et(this,"set",(r,i)=>{this.isInitialized();const n=this.formatTarget(r),o={target:n,expiry:i};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(kt.created,{target:n,expiration:o})}),et(this,"get",r=>{this.isInitialized();const i=this.formatTarget(r);return this.getExpiration(i)}),et(this,"del",r=>{if(this.isInitialized(),this.has(r)){const i=this.formatTarget(r),n=this.getExpiration(i);this.expirations.delete(i),this.events.emit(kt.deleted,{target:i,expiration:n})}}),et(this,"on",(r,i)=>{this.events.on(r,i)}),et(this,"once",(r,i)=>{this.events.once(r,i)}),et(this,"off",(r,i)=>{this.events.off(r,i)}),et(this,"removeListener",(r,i)=>{this.events.removeListener(r,i)}),this.logger=ot(s,this.name)}get context(){return Nt(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return Pf(e);if(typeof e=="number")return Of(e);const{message:s}=R("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new Error(s)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(kt.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:s}=R("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(s),new Error(s)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const s=this.expirations.get(e);if(!s){const{message:r}=R("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(r),new Error(r)}return s}checkExpiry(e,s){const{expiry:r}=s;U.toMiliseconds(r)-Date.now()<=0&&this.expire(e,s)}expire(e,s){this.expirations.delete(e),this.events.emit(kt.expired,{target:e,expiration:s})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,s)=>this.checkExpiry(s,e))}registerEventListeners(){this.core.heartbeat.on(zr.pulse,()=>this.checkExpirations()),this.events.on(kt.created,e=>{const s=kt.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()}),this.events.on(kt.expired,e=>{const s=kt.expired;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()}),this.events.on(kt.deleted,e=>{const s=kt.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}}var C0=Object.defineProperty,I0=(t,e,s)=>e in t?C0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,xe=(t,e,s)=>I0(t,typeof e!="symbol"?e+"":e,s);class N0 extends ef{constructor(e,s,r){super(e,s,r),this.core=e,this.logger=s,this.store=r,xe(this,"name",Iy),xe(this,"abortController"),xe(this,"isDevEnv"),xe(this,"verifyUrlV3",_y),xe(this,"storagePrefix",Qt),xe(this,"version",ch),xe(this,"publicKey"),xe(this,"fetchPromise"),xe(this,"init",async()=>{var i;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&U.toMiliseconds((i=this.publicKey)==null?void 0:i.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),xe(this,"register",async i=>{if(!Vr()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=i,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const l=xr(),u=this.startAbortTimer(U.ONE_SECOND*5),h=await new Promise((d,f)=>{const m=()=>{window.removeEventListener("message",g),l.body.removeChild(w),f("attestation aborted")};this.abortController.signal.addEventListener("abort",m);const w=l.createElement("iframe");w.src=c,w.style.display="none",w.addEventListener("error",m,{signal:this.abortController.signal});const g=y=>{if(y.data&&typeof y.data=="string")try{const b=JSON.parse(y.data);if(b.type==="verify_attestation"){if(Eo(b.attestation).payload.id!==o)return;clearInterval(u),l.body.removeChild(w),this.abortController.signal.removeEventListener("abort",m),window.removeEventListener("message",g),d(b.attestation===null?"":b.attestation)}}catch(b){this.logger.warn(b)}};l.body.appendChild(w),window.addEventListener("message",g,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",h),h}catch(l){this.logger.warn(l)}return""}),xe(this,"resolve",async i=>{if(this.isDevEnv)return"";const{attestationId:n,hash:o,encryptedId:a}=i;if(n===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(n){if(Eo(n).payload.id!==a)return;const l=await this.isValidJwtAttestation(n);if(l){if(!l.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return l}}if(!o)return;const c=this.getVerifyUrl(i?.verifyUrl);return this.fetchAttestation(o,c)}),xe(this,"fetchAttestation",async(i,n)=>{this.logger.debug(`resolving attestation: ${i} from url: ${n}`);const o=this.startAbortTimer(U.ONE_SECOND*5),a=await fetch(`${n}/attestation/${i}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),xe(this,"getVerifyUrl",i=>{let n=i||wi;return Ay.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${wi}`),n=wi),n}),xe(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const i=this.startAbortTimer(U.FIVE_SECONDS),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(i),await n.json()}catch(i){this.logger.warn(i)}}),xe(this,"persistPublicKey",async i=>{this.logger.debug("persisting public key to local storage",i),await this.store.setItem(this.storeKey,i),this.publicKey=i}),xe(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),xe(this,"isValidJwtAttestation",async i=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(i,n)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(i,o)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}}),xe(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),xe(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async n=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),n(o))});const i=await this.fetchPromise;return this.fetchPromise=void 0,i}),xe(this,"validateAttestation",(i,n)=>{const o=iw(i,n.publicKey),a={hasExpired:U.toMiliseconds(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=ot(s,this.name),this.abortController=new AbortController,this.isDevEnv=aa(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return Nt(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),U.toMiliseconds(e))}}var _0=Object.defineProperty,A0=(t,e,s)=>e in t?_0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,nl=(t,e,s)=>A0(t,typeof e!="symbol"?e+"":e,s);class S0 extends tf{constructor(e,s){super(e,s),this.projectId=e,this.logger=s,nl(this,"context",Sy),nl(this,"registerDeviceToken",async r=>{const{clientId:i,token:n,notificationType:o,enableEncrypted:a=!1}=r,c=`${Py}/${this.projectId}/clients`;await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:i,type:o,token:n,always_raw:a})})}),this.logger=ot(s,this.context)}}var P0=Object.defineProperty,ol=Object.getOwnPropertySymbols,O0=Object.prototype.hasOwnProperty,T0=Object.prototype.propertyIsEnumerable,Ko=(t,e,s)=>e in t?P0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ri=(t,e)=>{for(var s in e||(e={}))O0.call(e,s)&&Ko(t,s,e[s]);if(ol)for(var s of ol(e))T0.call(e,s)&&Ko(t,s,e[s]);return t},qe=(t,e,s)=>Ko(t,typeof e!="symbol"?e+"":e,s);class k0 extends sf{constructor(e,s,r=!0){super(e,s,r),this.core=e,this.logger=s,qe(this,"context",Ty),qe(this,"storagePrefix",Qt),qe(this,"storageVersion",Oy),qe(this,"events",new Map),qe(this,"shouldPersist",!1),qe(this,"init",async()=>{if(!aa())try{const i={eventId:Za(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:Iu(this.core.relayer.protocol,this.core.relayer.version,Bo)}}};await this.sendEvent([i])}catch(i){this.logger.warn(i)}}),qe(this,"createEvent",i=>{const{event:n="ERROR",type:o="",properties:{topic:a,trace:c}}=i,l=Za(),u=this.core.projectId||"",h=Date.now(),d=ri({eventId:l,timestamp:h,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:u,domain:this.getAppDomain()},this.setMethods(l));return this.telemetryEnabled&&(this.events.set(l,d),this.shouldPersist=!0),d}),qe(this,"getEvent",i=>{const{eventId:n,topic:o}=i;if(n)return this.events.get(n);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return ri(ri({},a),this.setMethods(a.eventId))}),qe(this,"deleteEvent",i=>{const{eventId:n}=i;this.events.delete(n),this.shouldPersist=!0}),qe(this,"setEventListeners",()=>{this.core.heartbeat.on(zr.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(i=>{U.fromMiliseconds(Date.now())-U.fromMiliseconds(i.timestamp)>ky&&(this.events.delete(i.eventId),this.shouldPersist=!0)})})}),qe(this,"setMethods",i=>({addTrace:n=>this.addTrace(i,n),setError:n=>this.setError(i,n)})),qe(this,"addTrace",(i,n)=>{const o=this.events.get(i);o&&(o.props.properties.trace.push(n),this.events.set(i,o),this.shouldPersist=!0)}),qe(this,"setError",(i,n)=>{const o=this.events.get(i);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(i,o),this.shouldPersist=!0)}),qe(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),qe(this,"restore",async()=>{try{const i=await this.core.storage.getItem(this.storageKey)||[];if(!i.length)return;i.forEach(n=>{this.events.set(n.eventId,ri(ri({},n),this.setMethods(n.eventId)))})}catch(i){this.logger.warn(i)}}),qe(this,"submit",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const i=[];for(const[n,o]of this.events)o.props.type&&i.push(o);if(i.length!==0)try{if((await this.sendEvent(i)).ok)for(const n of i)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),qe(this,"sendEvent",async i=>{const n=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${$y}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${Bo}${n}`,{method:"POST",body:JSON.stringify(i)})}),qe(this,"getAppDomain",()=>Cu().url),this.logger=ot(s,this.context),this.telemetryEnabled=r,r?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var $0=Object.defineProperty,al=Object.getOwnPropertySymbols,x0=Object.prototype.hasOwnProperty,R0=Object.prototype.propertyIsEnumerable,Go=(t,e,s)=>e in t?$0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,cl=(t,e)=>{for(var s in e||(e={}))x0.call(e,s)&&Go(t,s,e[s]);if(al)for(var s of al(e))R0.call(e,s)&&Go(t,s,e[s]);return t},_e=(t,e,s)=>Go(t,typeof e!="symbol"?e+"":e,s);let U0=class Ch extends Wp{constructor(e){var s;super(e),_e(this,"protocol",ah),_e(this,"version",ch),_e(this,"name",In),_e(this,"relayUrl"),_e(this,"projectId"),_e(this,"customStoragePrefix"),_e(this,"events",new Os.EventEmitter),_e(this,"logger"),_e(this,"heartbeat"),_e(this,"relayer"),_e(this,"crypto"),_e(this,"storage"),_e(this,"history"),_e(this,"expirer"),_e(this,"pairing"),_e(this,"verify"),_e(this,"echoClient"),_e(this,"linkModeSupportedApps"),_e(this,"eventClient"),_e(this,"initialized",!1),_e(this,"logChunkController"),_e(this,"on",(a,c)=>this.events.on(a,c)),_e(this,"once",(a,c)=>this.events.once(a,c)),_e(this,"off",(a,c)=>this.events.off(a,c)),_e(this,"removeListener",(a,c)=>this.events.removeListener(a,c)),_e(this,"dispatchEnvelope",({topic:a,message:c,sessionExists:l})=>{if(!a||!c)return;const u={topic:a,message:c,publishedAt:Date.now(),transportType:Se.link_mode};this.relayer.onLinkMessageEvent(u,{sessionExists:l})});const r=this.getGlobalCore(e?.customStoragePrefix);if(r)try{return this.customStoragePrefix=r.customStoragePrefix,this.logger=r.logger,this.heartbeat=r.heartbeat,this.crypto=r.crypto,this.history=r.history,this.expirer=r.expirer,this.storage=r.storage,this.relayer=r.relayer,this.pairing=r.pairing,this.verify=r.verify,this.echoClient=r.echoClient,this.linkModeSupportedApps=r.linkModeSupportedApps,this.eventClient=r.eventClient,this.initialized=r.initialized,this.logChunkController=r.logChunkController,r}catch(a){console.warn("Failed to copy global core",a)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||uh,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const i=Ti({level:typeof e?.logger=="string"&&e.logger?e.logger:ey.logger,name:In}),{logger:n,chunkLoggerController:o}=zl({opts:i,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,(s=this.logChunkController)!=null&&s.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var a,c;(a=this.logChunkController)!=null&&a.downloadLogsBlobInBrowser&&((c=this.logChunkController)==null||c.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=ot(n,this.name),this.heartbeat=new Zh,this.crypto=new cv(this,this.logger,e?.keychain),this.history=new y0(this,this.logger),this.expirer=new E0(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new jp(cl(cl({},ty),e?.storageOptions)),this.relayer=new Uv({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new g0(this,this.logger),this.verify=new N0(this,this.logger,this.storage),this.echoClient=new S0(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new k0(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const s=new Ch(e);await s.initialize();const r=await s.crypto.getClientId();return await s.storage.setItem(fy,r),s}get context(){return Nt(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(qc,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(qc)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}getGlobalCore(e=""){try{if(this.isGlobalCoreDisabled())return;const s=`_walletConnectCore_${e}`,r=`${s}_count`;return globalThis[r]=(globalThis[r]||0)+1,globalThis[r]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[r]} times.`),globalThis[s]}catch(s){console.warn("Failed to get global WalletConnect core",s);return}}setGlobalCore(e){var s;try{if(this.isGlobalCoreDisabled())return;const r=`_walletConnectCore_${((s=e.opts)==null?void 0:s.customStoragePrefix)||""}`;globalThis[r]=e}catch(r){console.warn("Failed to set global WalletConnect core",r)}}isGlobalCoreDisabled(){try{return typeof process<"u"&&Qw.DISABLE_GLOBAL_CORE==="true"}catch{return!0}}};const D0=U0,Ih="wc",Nh=2,_h="client",ga=`${Ih}@${Nh}:${_h}:`,po={name:_h,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.org"},ll="WALLETCONNECT_DEEPLINK_CHOICE",L0="proposal",ul="Proposal expired",M0="session",cr=U.SEVEN_DAYS,B0="engine",Fe={wc_sessionPropose:{req:{ttl:U.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1104},res:{ttl:U.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1106},res:{ttl:U.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:U.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:U.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1112},res:{ttl:U.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1114},res:{ttl:U.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:U.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:U.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1119}}},fo={min:U.FIVE_MINUTES,max:U.SEVEN_DAYS},Vt={idle:"IDLE",active:"ACTIVE"},hl={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},j0="request",q0=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],F0="wc",W0="auth",H0="authKeys",z0="pairingTopics",V0="requests",Bn=`${F0}@${1.5}:${W0}:`,dn=`${Bn}:PUB_KEY`;var K0=Object.defineProperty,G0=Object.defineProperties,J0=Object.getOwnPropertyDescriptors,dl=Object.getOwnPropertySymbols,Y0=Object.prototype.hasOwnProperty,X0=Object.prototype.propertyIsEnumerable,Jo=(t,e,s)=>e in t?K0(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Ee=(t,e)=>{for(var s in e||(e={}))Y0.call(e,s)&&Jo(t,s,e[s]);if(dl)for(var s of dl(e))X0.call(e,s)&&Jo(t,s,e[s]);return t},it=(t,e)=>G0(t,J0(e)),_=(t,e,s)=>Jo(t,typeof e!="symbol"?e+"":e,s);class Z0 extends af{constructor(e){super(e),_(this,"name",B0),_(this,"events",new oa),_(this,"initialized",!1),_(this,"requestQueue",{state:Vt.idle,queue:[]}),_(this,"sessionRequestQueue",{state:Vt.idle,queue:[]}),_(this,"requestQueueDelay",U.ONE_SECOND),_(this,"expectedPairingMethodMap",new Map),_(this,"recentlyDeletedMap",new Map),_(this,"recentlyDeletedLimit",200),_(this,"relayMessageCache",[]),_(this,"pendingSessions",new Map),_(this,"init",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(Fe)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},U.toMiliseconds(this.requestQueueDelay)))}),_(this,"connect",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const r=it(Ee({},s),{requiredNamespaces:s.requiredNamespaces||{},optionalNamespaces:s.optionalNamespaces||{}});await this.isValidConnect(r),r.optionalNamespaces=vw(r.requiredNamespaces,r.optionalNamespaces),r.requiredNamespaces={};const{pairingTopic:i,requiredNamespaces:n,optionalNamespaces:o,sessionProperties:a,scopedProperties:c,relays:l}=r;let u=i,h,d=!1;try{if(u){const O=this.client.core.pairing.pairings.get(u);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),d=O.active}}catch(O){throw this.client.logger.error(`connect() -> pairing.get(${u}) failed`),O}if(!u||!d){const{topic:O,uri:S}=await this.client.core.pairing.create();u=O,h=S}if(!u){const{message:O}=R("NO_MATCHING_KEY",`connect() pairing topic: ${u}`);throw new Error(O)}const f=await this.client.core.crypto.generateKeyPair(),m=Fe.wc_sessionPropose.req.ttl||U.FIVE_MINUTES,w=Me(m),g=it(Ee(Ee({requiredNamespaces:n,optionalNamespaces:o,relays:l??[{protocol:lh}],proposer:{publicKey:f,metadata:this.client.metadata},expiryTimestamp:w,pairingTopic:u},a&&{sessionProperties:a}),c&&{scopedProperties:c}),{id:hs()}),y=pe("session_connect",g.id),{reject:b,resolve:E,done:N}=Ls(m,ul),$=({id:O})=>{O===g.id&&(this.client.events.off("proposal_expire",$),this.pendingSessions.delete(g.id),this.events.emit(y,{error:{message:ul,code:0}}))};return this.client.events.on("proposal_expire",$),this.events.once(y,({error:O,session:S})=>{this.client.events.off("proposal_expire",$),O?b(O):S&&E(S)}),await this.sendRequest({topic:u,method:"wc_sessionPropose",params:g,throwOnFailedPublish:!0,clientRpcId:g.id}),await this.setProposal(g.id,g),{uri:h,approval:N}}),_(this,"pair",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(s)}catch(r){throw this.client.logger.error("pair() failed"),r}}),_(this,"approve",async s=>{var r,i,n;const o=this.client.core.eventClient.createEvent({properties:{topic:(r=s?.id)==null?void 0:r.toString(),trace:[Dt.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(v){throw o.setError(xs.no_internet_connection),v}try{await this.isValidProposalId(s?.id)}catch(v){throw this.client.logger.error(`approve() -> proposal.get(${s?.id}) failed`),o.setError(xs.proposal_not_found),v}try{await this.isValidApprove(s)}catch(v){throw this.client.logger.error("approve() -> isValidApprove() failed"),o.setError(xs.session_approve_namespace_validation_failure),v}const{id:a,relayProtocol:c,namespaces:l,sessionProperties:u,scopedProperties:h,sessionConfig:d}=s,f=this.client.proposal.get(a);this.client.core.eventClient.deleteEvent({eventId:o.eventId});const{pairingTopic:m,proposer:w,requiredNamespaces:g,optionalNamespaces:y}=f;let b=(i=this.client.core.eventClient)==null?void 0:i.getEvent({topic:m});b||(b=(n=this.client.core.eventClient)==null?void 0:n.createEvent({type:Dt.session_approve_started,properties:{topic:m,trace:[Dt.session_approve_started,Dt.session_namespaces_validation_success]}}));const E=await this.client.core.crypto.generateKeyPair(),N=w.publicKey,$=await this.client.core.crypto.generateSharedKey(E,N),O=Ee(Ee(Ee({relay:{protocol:c??"irn"},namespaces:l,controller:{publicKey:E,metadata:this.client.metadata},expiry:Me(cr)},u&&{sessionProperties:u}),h&&{scopedProperties:h}),d&&{sessionConfig:d}),S=Se.relay;b.addTrace(Dt.subscribing_session_topic);try{await this.client.core.relayer.subscribe($,{transportType:S})}catch(v){throw b.setError(xs.subscribe_session_topic_failure),v}b.addTrace(Dt.subscribe_session_topic_success);const D=it(Ee({},O),{topic:$,requiredNamespaces:g,optionalNamespaces:y,pairingTopic:m,acknowledged:!1,self:O.controller,peer:{publicKey:w.publicKey,metadata:w.metadata},controller:E,transportType:Se.relay});await this.client.session.set($,D),b.addTrace(Dt.store_session);try{b.addTrace(Dt.publishing_session_settle),await this.sendRequest({topic:$,method:"wc_sessionSettle",params:O,throwOnFailedPublish:!0}).catch(v=>{throw b?.setError(xs.session_settle_publish_failure),v}),b.addTrace(Dt.session_settle_publish_success),b.addTrace(Dt.publishing_session_approve),await this.sendResult({id:a,topic:m,result:{relay:{protocol:c??"irn"},responderPublicKey:E},throwOnFailedPublish:!0}).catch(v=>{throw b?.setError(xs.session_approve_publish_failure),v}),b.addTrace(Dt.session_approve_publish_success)}catch(v){throw this.client.logger.error(v),this.client.session.delete($,we("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe($),v}return this.client.core.eventClient.deleteEvent({eventId:b.eventId}),await this.client.core.pairing.updateMetadata({topic:m,metadata:w.metadata}),await this.client.proposal.delete(a,we("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:m}),await this.setExpiry($,Me(cr)),{topic:$,acknowledged:()=>Promise.resolve(this.client.session.get($))}}),_(this,"reject",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(s)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:r,reason:i}=s;let n;try{n=this.client.proposal.get(r).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${r}) failed`),o}n&&(await this.sendError({id:r,topic:n,error:i,rpcOpts:Fe.wc_sessionPropose.reject}),await this.client.proposal.delete(r,we("USER_DISCONNECTED")))}),_(this,"update",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(s)}catch(h){throw this.client.logger.error("update() -> isValidUpdate() failed"),h}const{topic:r,namespaces:i}=s,{done:n,resolve:o,reject:a}=Ls(),c=hs(),l=Nr().toString(),u=this.client.session.get(r).namespaces;return this.events.once(pe("session_update",c),({error:h})=>{h?a(h):o()}),await this.client.session.update(r,{namespaces:i}),await this.sendRequest({topic:r,method:"wc_sessionUpdate",params:{namespaces:i},throwOnFailedPublish:!0,clientRpcId:c,relayRpcId:l}).catch(h=>{this.client.logger.error(h),this.client.session.update(r,{namespaces:u}),a(h)}),{acknowledged:n}}),_(this,"extend",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(s)}catch(c){throw this.client.logger.error("extend() -> isValidExtend() failed"),c}const{topic:r}=s,i=hs(),{done:n,resolve:o,reject:a}=Ls();return this.events.once(pe("session_extend",i),({error:c})=>{c?a(c):o()}),await this.setExpiry(r,Me(cr)),this.sendRequest({topic:r,method:"wc_sessionExtend",params:{},clientRpcId:i,throwOnFailedPublish:!0}).catch(c=>{a(c)}),{acknowledged:n}}),_(this,"request",async s=>{this.isInitialized();try{await this.isValidRequest(s)}catch(y){throw this.client.logger.error("request() -> isValidRequest() failed"),y}const{chainId:r,request:i,topic:n,expiry:o=Fe.wc_sessionRequest.req.ttl}=s,a=this.client.session.get(n);a?.transportType===Se.relay&&await this.confirmOnlineStateOrThrow();const c=hs(),l=Nr().toString(),{done:u,resolve:h,reject:d}=Ls(o,"Request expired. Please try again.");this.events.once(pe("session_request",c),({error:y,result:b})=>{y?d(y):h(b)});const f="wc_sessionRequest",m=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(m)return await this.sendRequest({clientRpcId:c,relayRpcId:l,topic:n,method:f,params:{request:it(Ee({},i),{expiryTimestamp:Me(o)}),chainId:r},expiry:o,throwOnFailedPublish:!0,appLink:m}).catch(y=>d(y)),this.client.events.emit("session_request_sent",{topic:n,request:i,chainId:r,id:c}),await u();const w={request:it(Ee({},i),{expiryTimestamp:Me(o)}),chainId:r},g=this.shouldSetTVF(f,w);return await Promise.all([new Promise(async y=>{await this.sendRequest(Ee({clientRpcId:c,relayRpcId:l,topic:n,method:f,params:w,expiry:o,throwOnFailedPublish:!0},g&&{tvf:this.getTVFParams(c,w)})).catch(b=>d(b)),this.client.events.emit("session_request_sent",{topic:n,request:i,chainId:r,id:c}),y()}),new Promise(async y=>{var b;if(!((b=a.sessionConfig)!=null&&b.disableDeepLink)){const E=await xf(this.client.core.storage,ll);await Tf({id:c,topic:n,wcDeepLink:E})}y()}),u()]).then(y=>y[2])}),_(this,"respond",async s=>{this.isInitialized(),await this.isValidRespond(s);const{topic:r,response:i}=s,{id:n}=i,o=this.client.session.get(r);o.transportType===Se.relay&&await this.confirmOnlineStateOrThrow();const a=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);ns(i)?await this.sendResult({id:n,topic:r,result:i.result,throwOnFailedPublish:!0,appLink:a}):Gt(i)&&await this.sendError({id:n,topic:r,error:i.error,appLink:a}),this.cleanupAfterResponse(s)}),_(this,"ping",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(s)}catch(i){throw this.client.logger.error("ping() -> isValidPing() failed"),i}const{topic:r}=s;if(this.client.session.keys.includes(r)){const i=hs(),n=Nr().toString(),{done:o,resolve:a,reject:c}=Ls();this.events.once(pe("session_ping",i),({error:l})=>{l?c(l):a()}),await Promise.all([this.sendRequest({topic:r,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:i,relayRpcId:n}),o()])}else this.client.core.pairing.pairings.keys.includes(r)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:r}))}),_(this,"emit",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(s);const{topic:r,event:i,chainId:n}=s,o=Nr().toString(),a=hs();await this.sendRequest({topic:r,method:"wc_sessionEvent",params:{event:i,chainId:n},throwOnFailedPublish:!0,relayRpcId:o,clientRpcId:a})}),_(this,"disconnect",async s=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(s);const{topic:r}=s;if(this.client.session.keys.includes(r))await this.sendRequest({topic:r,method:"wc_sessionDelete",params:we("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:r,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(r))await this.client.core.pairing.disconnect({topic:r});else{const{message:i}=R("MISMATCHED_TOPIC",`Session or pairing topic not found: ${r}`);throw new Error(i)}}),_(this,"find",s=>(this.isInitialized(),this.client.session.getAll().filter(r=>Iw(r,s)))),_(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),_(this,"authenticate",async(s,r)=>{var i;this.isInitialized(),this.isValidAuthenticate(s);const n=r&&this.client.core.linkModeSupportedApps.includes(r)&&((i=this.client.metadata.redirect)==null?void 0:i.linkMode),o=n?Se.link_mode:Se.relay;o===Se.relay&&await this.confirmOnlineStateOrThrow();const{chains:a,statement:c="",uri:l,domain:u,nonce:h,type:d,exp:f,nbf:m,methods:w=[],expiry:g}=s,y=[...s.resources||[]],{topic:b,uri:E}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:b,uri:E}});const N=await this.client.core.crypto.generateKeyPair(),$=un(N);if(await Promise.all([this.client.auth.authKeys.set(dn,{responseTopic:$,publicKey:N}),this.client.auth.pairingTopics.set($,{topic:$,pairingTopic:b})]),await this.client.core.relayer.subscribe($,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${b}`),w.length>0){const{namespace:k}=Tr(a[0]);let G=_g(k,"request",w);ln(y)&&(G=Sg(G,y.pop())),y.push(G)}const O=g&&g>Fe.wc_sessionAuthenticate.req.ttl?g:Fe.wc_sessionAuthenticate.req.ttl,S={authPayload:{type:d??"caip122",chains:a,statement:c,aud:l,domain:u,version:"1",nonce:h,iat:new Date().toISOString(),exp:f,nbf:m,resources:y},requester:{publicKey:N,metadata:this.client.metadata},expiryTimestamp:Me(O)},D={eip155:{chains:a,methods:[...new Set(["personal_sign",...w])],events:["chainChanged","accountsChanged"]}},v={requiredNamespaces:{},optionalNamespaces:D,relays:[{protocol:"irn"}],pairingTopic:b,proposer:{publicKey:N,metadata:this.client.metadata},expiryTimestamp:Me(Fe.wc_sessionPropose.req.ttl),id:hs()},{done:x,resolve:C,reject:L}=Ls(O,"Request expired"),z=hs(),I=pe("session_connect",v.id),T=pe("session_request",z),A=async({error:k,session:G})=>{this.events.off(T,B),k?L(k):G&&C({session:G})},B=async k=>{var G,Q,se;if(await this.deletePendingAuthRequest(z,{message:"fulfilled",code:0}),k.error){const De=we("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return k.error.code===De.code?void 0:(this.events.off(I,A),L(k.error.message))}await this.deleteProposal(v.id),this.events.off(I,A);const{cacaos:Ie,responder:de}=k.result,$e=[],je=[];for(const De of Ie){await oc({cacao:De,projectId:this.client.core.projectId})||(this.client.logger.error(De,"Signature verification failed"),L(we("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:ks}=De,es=ln(ks.resources),Wt=[Oo(ks.iss)],ts=vn(ks.iss);if(es){const rr=ac(es),Fi=cc(es);$e.push(...rr),Wt.push(...Fi)}for(const rr of Wt)je.push(`${rr}:${ts}`)}const Qe=await this.client.core.crypto.generateSharedKey(N,de.publicKey);let Ue;$e.length>0&&(Ue={topic:Qe,acknowledged:!0,self:{publicKey:N,metadata:this.client.metadata},peer:de,controller:de.publicKey,expiry:Me(cr),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:b,namespaces:xc([...new Set($e)],[...new Set(je)]),transportType:o},await this.client.core.relayer.subscribe(Qe,{transportType:o}),await this.client.session.set(Qe,Ue),b&&await this.client.core.pairing.updateMetadata({topic:b,metadata:de.metadata}),Ue=this.client.session.get(Qe)),(G=this.client.metadata.redirect)!=null&&G.linkMode&&(Q=de.metadata.redirect)!=null&&Q.linkMode&&(se=de.metadata.redirect)!=null&&se.universal&&r&&(this.client.core.addLinkModeSupportedApp(de.metadata.redirect.universal),this.client.session.update(Qe,{transportType:Se.link_mode})),C({auths:Ie,session:Ue})};this.events.once(I,A),this.events.once(T,B);let F;try{if(n){const k=Fs("wc_sessionAuthenticate",S,z);this.client.core.history.set(b,k);const G=await this.client.core.crypto.encode("",k,{type:Mi,encoding:bs});F=Ji(r,b,G)}else await Promise.all([this.sendRequest({topic:b,method:"wc_sessionAuthenticate",params:S,expiry:s.expiry,throwOnFailedPublish:!0,clientRpcId:z}),this.sendRequest({topic:b,method:"wc_sessionPropose",params:v,expiry:Fe.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:v.id})])}catch(k){throw this.events.off(I,A),this.events.off(T,B),k}return await this.setProposal(v.id,v),await this.setAuthRequest(z,{request:it(Ee({},S),{verifyContext:{}}),pairingTopic:b,transportType:o}),{uri:F??E,response:x}}),_(this,"approveSessionAuthenticate",async s=>{const{id:r,auths:i}=s,n=this.client.core.eventClient.createEvent({properties:{topic:r.toString(),trace:[Rs.authenticated_session_approve_started]}});try{this.isInitialized()}catch(g){throw n.setError(ti.no_internet_connection),g}const o=this.getPendingAuthRequest(r);if(!o)throw n.setError(ti.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${r}`);const a=o.transportType||Se.relay;a===Se.relay&&await this.confirmOnlineStateOrThrow();const c=o.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),u=un(c),h={type:us,receiverPublicKey:c,senderPublicKey:l},d=[],f=[];for(const g of i){if(!await oc({cacao:g,projectId:this.client.core.projectId})){n.setError(ti.invalid_cacao);const $=we("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:r,topic:u,error:$,encodeOpts:h}),new Error($.message)}n.addTrace(Rs.cacaos_verified);const{p:y}=g,b=ln(y.resources),E=[Oo(y.iss)],N=vn(y.iss);if(b){const $=ac(b),O=cc(b);d.push(...$),E.push(...O)}for(const $ of E)f.push(`${$}:${N}`)}const m=await this.client.core.crypto.generateSharedKey(l,c);n.addTrace(Rs.create_authenticated_session_topic);let w;if(d?.length>0){w={topic:m,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:c,metadata:o.requester.metadata},controller:c,expiry:Me(cr),authentication:i,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:o.pairingTopic,namespaces:xc([...new Set(d)],[...new Set(f)]),transportType:a},n.addTrace(Rs.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(m,{transportType:a})}catch(g){throw n.setError(ti.subscribe_authenticated_session_topic_failure),g}n.addTrace(Rs.subscribe_authenticated_session_topic_success),await this.client.session.set(m,w),n.addTrace(Rs.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:o.pairingTopic,metadata:o.requester.metadata})}n.addTrace(Rs.publishing_authenticated_session_approve);try{await this.sendResult({topic:u,id:r,result:{cacaos:i,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(o.requester.metadata,a)})}catch(g){throw n.setError(ti.authenticated_session_approve_publish_failure),g}return await this.client.auth.requests.delete(r,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:o.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:n.eventId}),{session:w}}),_(this,"rejectSessionAuthenticate",async s=>{this.isInitialized();const{id:r,reason:i}=s,n=this.getPendingAuthRequest(r);if(!n)throw new Error(`Could not find pending auth request with id ${r}`);n.transportType===Se.relay&&await this.confirmOnlineStateOrThrow();const o=n.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),c=un(o),l={type:us,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:r,topic:c,error:i,encodeOpts:l,rpcOpts:Fe.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(n.requester.metadata,n.transportType)}),await this.client.auth.requests.delete(r,{message:"rejected",code:0}),await this.client.proposal.delete(r,we("USER_DISCONNECTED"))}),_(this,"formatAuthMessage",s=>{this.isInitialized();const{request:r,iss:i}=s;return Ru(r,i)}),_(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const s=this.relayMessageCache.shift();s&&await this.onRelayMessage(s)}catch(s){this.client.logger.error(s)}},50)}),_(this,"cleanupDuplicatePairings",async s=>{if(s.pairingTopic)try{const r=this.client.core.pairing.pairings.get(s.pairingTopic),i=this.client.core.pairing.pairings.getAll().filter(n=>{var o,a;return((o=n.peerMetadata)==null?void 0:o.url)&&((a=n.peerMetadata)==null?void 0:a.url)===s.peer.metadata.url&&n.topic&&n.topic!==r.topic});if(i.length===0)return;this.client.logger.info(`Cleaning up ${i.length} duplicate pairing(s)`),await Promise.all(i.map(n=>this.client.core.pairing.disconnect({topic:n.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(r){this.client.logger.error(r)}}),_(this,"deleteSession",async s=>{var r;const{topic:i,expirerHasDeleted:n=!1,emitEvent:o=!0,id:a=0}=s,{self:c}=this.client.session.get(i);await this.client.core.relayer.unsubscribe(i),await this.client.session.delete(i,we("USER_DISCONNECTED")),this.addToRecentlyDeleted(i,"session"),this.client.core.crypto.keychain.has(c.publicKey)&&await this.client.core.crypto.deleteKeyPair(c.publicKey),this.client.core.crypto.keychain.has(i)&&await this.client.core.crypto.deleteSymKey(i),n||this.client.core.expirer.del(i),this.client.core.storage.removeItem(ll).catch(l=>this.client.logger.warn(l)),this.getPendingSessionRequests().forEach(l=>{l.topic===i&&this.deletePendingSessionRequest(l.id,we("USER_DISCONNECTED"))}),i===((r=this.sessionRequestQueue.queue[0])==null?void 0:r.topic)&&(this.sessionRequestQueue.state=Vt.idle),o&&this.client.events.emit("session_delete",{id:a,topic:i})}),_(this,"deleteProposal",async(s,r)=>{if(r)try{const i=this.client.proposal.get(s);this.client.core.eventClient.getEvent({topic:i.pairingTopic})?.setError(xs.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(s,we("USER_DISCONNECTED")),r?Promise.resolve():this.client.core.expirer.del(s)]),this.addToRecentlyDeleted(s,"proposal")}),_(this,"deletePendingSessionRequest",async(s,r,i=!1)=>{await Promise.all([this.client.pendingRequest.delete(s,r),i?Promise.resolve():this.client.core.expirer.del(s)]),this.addToRecentlyDeleted(s,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(n=>n.id!==s),i&&(this.sessionRequestQueue.state=Vt.idle,this.client.events.emit("session_request_expire",{id:s}))}),_(this,"deletePendingAuthRequest",async(s,r,i=!1)=>{await Promise.all([this.client.auth.requests.delete(s,r),i?Promise.resolve():this.client.core.expirer.del(s)])}),_(this,"setExpiry",async(s,r)=>{this.client.session.keys.includes(s)&&(this.client.core.expirer.set(s,r),await this.client.session.update(s,{expiry:r}))}),_(this,"setProposal",async(s,r)=>{this.client.core.expirer.set(s,Me(Fe.wc_sessionPropose.req.ttl)),await this.client.proposal.set(s,r)}),_(this,"setAuthRequest",async(s,r)=>{const{request:i,pairingTopic:n,transportType:o=Se.relay}=r;this.client.core.expirer.set(s,i.expiryTimestamp),await this.client.auth.requests.set(s,{authPayload:i.authPayload,requester:i.requester,expiryTimestamp:i.expiryTimestamp,id:s,pairingTopic:n,verifyContext:i.verifyContext,transportType:o})}),_(this,"setPendingSessionRequest",async s=>{const{id:r,topic:i,params:n,verifyContext:o}=s,a=n.request.expiryTimestamp||Me(Fe.wc_sessionRequest.req.ttl);this.client.core.expirer.set(r,a),await this.client.pendingRequest.set(r,{id:r,topic:i,params:n,verifyContext:o})}),_(this,"sendRequest",async s=>{const{topic:r,method:i,params:n,expiry:o,relayRpcId:a,clientRpcId:c,throwOnFailedPublish:l,appLink:u,tvf:h}=s,d=Fs(i,n,c);let f;const m=!!u;try{const y=m?bs:qt;f=await this.client.core.crypto.encode(r,d,{encoding:y})}catch(y){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${r} failed`),y}let w;if(q0.includes(i)){const y=Yt(JSON.stringify(d)),b=Yt(f);w=await this.client.core.verify.register({id:b,decryptedId:y})}const g=Fe[i].req;if(g.attestation=w,o&&(g.ttl=o),a&&(g.id=a),this.client.core.history.set(r,d),m){const y=Ji(u,r,f);await global.Linking.openURL(y,this.client.name)}else{const y=Fe[i].req;o&&(y.ttl=o),a&&(y.id=a),y.tvf=it(Ee({},h),{correlationId:d.id}),l?(y.internal=it(Ee({},y.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(r,f,y)):this.client.core.relayer.publish(r,f,y).catch(b=>this.client.logger.error(b))}return d.id}),_(this,"sendResult",async s=>{const{id:r,topic:i,result:n,throwOnFailedPublish:o,encodeOpts:a,appLink:c}=s,l=Sn(r,n);let u;const h=c&&typeof(global==null?void 0:global.Linking)<"u";try{const m=h?bs:qt;u=await this.client.core.crypto.encode(i,l,it(Ee({},a||{}),{encoding:m}))}catch(m){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${i} failed`),m}let d,f;try{d=await this.client.core.history.get(i,r);const m=d.request;try{this.shouldSetTVF(m.method,m.params)&&(f=this.getTVFParams(r,m.params,n))}catch(w){this.client.logger.warn("sendResult() -> getTVFParams() failed",w)}}catch(m){throw this.client.logger.error(`sendResult() -> history.get(${i}, ${r}) failed`),m}if(h){const m=Ji(c,i,u);await global.Linking.openURL(m,this.client.name)}else{const m=d.request.method,w=Fe[m].res;w.tvf=it(Ee({},f),{correlationId:r}),o?(w.internal=it(Ee({},w.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,u,w)):this.client.core.relayer.publish(i,u,w).catch(g=>this.client.logger.error(g))}await this.client.core.history.resolve(l)}),_(this,"sendError",async s=>{const{id:r,topic:i,error:n,encodeOpts:o,rpcOpts:a,appLink:c}=s,l=Vl(r,n);let u;const h=c&&typeof(global==null?void 0:global.Linking)<"u";try{const f=h?bs:qt;u=await this.client.core.crypto.encode(i,l,it(Ee({},o||{}),{encoding:f}))}catch(f){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${i} failed`),f}let d;try{d=await this.client.core.history.get(i,r)}catch(f){throw this.client.logger.error(`sendError() -> history.get(${i}, ${r}) failed`),f}if(h){const f=Ji(c,i,u);await global.Linking.openURL(f,this.client.name)}else{const f=d.request.method,m=a||Fe[f].res;this.client.core.relayer.publish(i,u,m)}await this.client.core.history.resolve(l)}),_(this,"cleanup",async()=>{const s=[],r=[];this.client.session.getAll().forEach(i=>{let n=!1;ys(i.expiry)&&(n=!0),this.client.core.crypto.keychain.has(i.topic)||(n=!0),n&&s.push(i.topic)}),this.client.proposal.getAll().forEach(i=>{ys(i.expiryTimestamp)&&r.push(i.id)}),await Promise.all([...s.map(i=>this.deleteSession({topic:i})),...r.map(i=>this.deleteProposal(i))])}),_(this,"onProviderMessageEvent",async s=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(s):await this.onRelayMessage(s)}),_(this,"onRelayEventRequest",async s=>{this.requestQueue.queue.push(s),await this.processRequestsQueue()}),_(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===Vt.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=Vt.active;const s=this.requestQueue.queue.shift();if(s)try{await this.processRequest(s)}catch(r){this.client.logger.warn(r)}}this.requestQueue.state=Vt.idle}),_(this,"processRequest",async s=>{const{topic:r,payload:i,attestation:n,transportType:o,encryptedId:a}=s,c=i.method;if(!this.shouldIgnorePairingRequest({topic:r,requestMethod:c}))switch(c){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:r,payload:i,attestation:n,encryptedId:a});case"wc_sessionSettle":return await this.onSessionSettleRequest(r,i);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(r,i);case"wc_sessionExtend":return await this.onSessionExtendRequest(r,i);case"wc_sessionPing":return await this.onSessionPingRequest(r,i);case"wc_sessionDelete":return await this.onSessionDeleteRequest(r,i);case"wc_sessionRequest":return await this.onSessionRequest({topic:r,payload:i,attestation:n,encryptedId:a,transportType:o});case"wc_sessionEvent":return await this.onSessionEventRequest(r,i);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:r,payload:i,attestation:n,encryptedId:a,transportType:o});default:return this.client.logger.info(`Unsupported request method ${c}`)}}),_(this,"onRelayEventResponse",async s=>{const{topic:r,payload:i,transportType:n}=s,o=(await this.client.core.history.get(r,i.id)).request.method;switch(o){case"wc_sessionPropose":return this.onSessionProposeResponse(r,i,n);case"wc_sessionSettle":return this.onSessionSettleResponse(r,i);case"wc_sessionUpdate":return this.onSessionUpdateResponse(r,i);case"wc_sessionExtend":return this.onSessionExtendResponse(r,i);case"wc_sessionPing":return this.onSessionPingResponse(r,i);case"wc_sessionRequest":return this.onSessionRequestResponse(r,i);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(r,i);default:return this.client.logger.info(`Unsupported response method ${o}`)}}),_(this,"onRelayEventUnknownPayload",s=>{const{topic:r}=s,{message:i}=R("MISSING_OR_INVALID",`Decoded payload on topic ${r} is not identifiable as a JSON-RPC request or a response.`);throw new Error(i)}),_(this,"shouldIgnorePairingRequest",s=>{const{topic:r,requestMethod:i}=s,n=this.expectedPairingMethodMap.get(r);return!n||n.includes(i)?!1:!!(n.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),_(this,"onSessionProposeRequest",async s=>{const{topic:r,payload:i,attestation:n,encryptedId:o}=s,{params:a,id:c}=i;try{const l=this.client.core.eventClient.getEvent({topic:r});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),l?.setError(os.proposal_listener_not_found)),this.isValidConnect(Ee({},i.params));const u=a.expiryTimestamp||Me(Fe.wc_sessionPropose.req.ttl),h=Ee({id:c,pairingTopic:r,expiryTimestamp:u},a);await this.setProposal(c,h);const d=await this.getVerifyContext({attestationId:n,hash:Yt(JSON.stringify(i)),encryptedId:o,metadata:h.proposer.metadata});l?.addTrace(Kt.emit_session_proposal),this.client.events.emit("session_proposal",{id:c,params:h,verifyContext:d})}catch(l){await this.sendError({id:c,topic:r,error:l,rpcOpts:Fe.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),_(this,"onSessionProposeResponse",async(s,r,i)=>{const{id:n}=r;if(ns(r)){const{result:o}=r;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:o});const a=this.client.proposal.get(n);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:a});const c=a.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const l=o.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:l});const u=await this.client.core.crypto.generateSharedKey(c,l);this.pendingSessions.set(n,{sessionTopic:u,pairingTopic:s,proposalId:n,publicKey:c});const h=await this.client.core.relayer.subscribe(u,{transportType:i});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:s})}else if(Gt(r)){await this.client.proposal.delete(n,we("USER_DISCONNECTED"));const o=pe("session_connect",n);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners, 954`);this.events.emit(o,{error:r.error})}}),_(this,"onSessionSettleRequest",async(s,r)=>{const{id:i,params:n}=r;try{this.isValidSessionSettleRequest(n);const{relay:o,controller:a,expiry:c,namespaces:l,sessionProperties:u,scopedProperties:h,sessionConfig:d}=r.params,f=[...this.pendingSessions.values()].find(g=>g.sessionTopic===s);if(!f)return this.client.logger.error(`Pending session not found for topic ${s}`);const m=this.client.proposal.get(f.proposalId),w=it(Ee(Ee(Ee({topic:s,relay:o,expiry:c,namespaces:l,acknowledged:!0,pairingTopic:f.pairingTopic,requiredNamespaces:m.requiredNamespaces,optionalNamespaces:m.optionalNamespaces,controller:a.publicKey,self:{publicKey:f.publicKey,metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},u&&{sessionProperties:u}),h&&{scopedProperties:h}),d&&{sessionConfig:d}),{transportType:Se.relay});await this.client.session.set(w.topic,w),await this.setExpiry(w.topic,w.expiry),await this.client.core.pairing.updateMetadata({topic:f.pairingTopic,metadata:w.peer.metadata}),this.client.events.emit("session_connect",{session:w}),this.events.emit(pe("session_connect",f.proposalId),{session:w}),this.pendingSessions.delete(f.proposalId),this.deleteProposal(f.proposalId,!1),this.cleanupDuplicatePairings(w),await this.sendResult({id:r.id,topic:s,result:!0,throwOnFailedPublish:!0})}catch(o){await this.sendError({id:i,topic:s,error:o}),this.client.logger.error(o)}}),_(this,"onSessionSettleResponse",async(s,r)=>{const{id:i}=r;ns(r)?(await this.client.session.update(s,{acknowledged:!0}),this.events.emit(pe("session_approve",i),{})):Gt(r)&&(await this.client.session.delete(s,we("USER_DISCONNECTED")),this.events.emit(pe("session_approve",i),{error:r.error}))}),_(this,"onSessionUpdateRequest",async(s,r)=>{const{params:i,id:n}=r;try{const o=`${s}_session_update`,a=Qr.get(o);if(a&&this.isRequestOutOfSync(a,n)){this.client.logger.warn(`Discarding out of sync request - ${n}`),this.sendError({id:n,topic:s,error:we("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(Ee({topic:s},i));try{Qr.set(o,n),await this.client.session.update(s,{namespaces:i.namespaces}),await this.sendResult({id:n,topic:s,result:!0,throwOnFailedPublish:!0})}catch(c){throw Qr.delete(o),c}this.client.events.emit("session_update",{id:n,topic:s,params:i})}catch(o){await this.sendError({id:n,topic:s,error:o}),this.client.logger.error(o)}}),_(this,"isRequestOutOfSync",(s,r)=>r.toString().slice(0,-3)<s.toString().slice(0,-3)),_(this,"onSessionUpdateResponse",(s,r)=>{const{id:i}=r,n=pe("session_update",i);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);ns(r)?this.events.emit(pe("session_update",i),{}):Gt(r)&&this.events.emit(pe("session_update",i),{error:r.error})}),_(this,"onSessionExtendRequest",async(s,r)=>{const{id:i}=r;try{this.isValidExtend({topic:s}),await this.setExpiry(s,Me(cr)),await this.sendResult({id:i,topic:s,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:i,topic:s})}catch(n){await this.sendError({id:i,topic:s,error:n}),this.client.logger.error(n)}}),_(this,"onSessionExtendResponse",(s,r)=>{const{id:i}=r,n=pe("session_extend",i);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);ns(r)?this.events.emit(pe("session_extend",i),{}):Gt(r)&&this.events.emit(pe("session_extend",i),{error:r.error})}),_(this,"onSessionPingRequest",async(s,r)=>{const{id:i}=r;try{this.isValidPing({topic:s}),await this.sendResult({id:i,topic:s,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:i,topic:s})}catch(n){await this.sendError({id:i,topic:s,error:n}),this.client.logger.error(n)}}),_(this,"onSessionPingResponse",(s,r)=>{const{id:i}=r,n=pe("session_ping",i);setTimeout(()=>{if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners 2176`);ns(r)?this.events.emit(pe("session_ping",i),{}):Gt(r)&&this.events.emit(pe("session_ping",i),{error:r.error})},500)}),_(this,"onSessionDeleteRequest",async(s,r)=>{const{id:i}=r;try{this.isValidDisconnect({topic:s,reason:r.params}),Promise.all([new Promise(n=>{this.client.core.relayer.once(ze.publish,async()=>{n(await this.deleteSession({topic:s,id:i}))})}),this.sendResult({id:i,topic:s,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:s,error:we("USER_DISCONNECTED")})]).catch(n=>this.client.logger.error(n))}catch(n){this.client.logger.error(n)}}),_(this,"onSessionRequest",async s=>{var r,i,n;const{topic:o,payload:a,attestation:c,encryptedId:l,transportType:u}=s,{id:h,params:d}=a;try{await this.isValidRequest(Ee({topic:o},d));const f=this.client.session.get(o),m=await this.getVerifyContext({attestationId:c,hash:Yt(JSON.stringify(Fs("wc_sessionRequest",d,h))),encryptedId:l,metadata:f.peer.metadata,transportType:u}),w={id:h,topic:o,params:d,verifyContext:m};await this.setPendingSessionRequest(w),u===Se.link_mode&&(r=f.peer.metadata.redirect)!=null&&r.universal&&this.client.core.addLinkModeSupportedApp((i=f.peer.metadata.redirect)==null?void 0:i.universal),(n=this.client.signConfig)!=null&&n.disableRequestQueue?this.emitSessionRequest(w):(this.addSessionRequestToSessionRequestQueue(w),this.processSessionRequestQueue())}catch(f){await this.sendError({id:h,topic:o,error:f}),this.client.logger.error(f)}}),_(this,"onSessionRequestResponse",(s,r)=>{const{id:i}=r,n=pe("session_request",i);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);ns(r)?this.events.emit(pe("session_request",i),{result:r.result}):Gt(r)&&this.events.emit(pe("session_request",i),{error:r.error})}),_(this,"onSessionEventRequest",async(s,r)=>{const{id:i,params:n}=r;try{const o=`${s}_session_event_${n.event.name}`,a=Qr.get(o);if(a&&this.isRequestOutOfSync(a,i)){this.client.logger.info(`Discarding out of sync request - ${i}`);return}this.isValidEmit(Ee({topic:s},n)),this.client.events.emit("session_event",{id:i,topic:s,params:n}),Qr.set(o,i)}catch(o){await this.sendError({id:i,topic:s,error:o}),this.client.logger.error(o)}}),_(this,"onSessionAuthenticateResponse",(s,r)=>{const{id:i}=r;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:s,payload:r}),ns(r)?this.events.emit(pe("session_request",i),{result:r.result}):Gt(r)&&this.events.emit(pe("session_request",i),{error:r.error})}),_(this,"onSessionAuthenticateRequest",async s=>{var r;const{topic:i,payload:n,attestation:o,encryptedId:a,transportType:c}=s;try{const{requester:l,authPayload:u,expiryTimestamp:h}=n.params,d=await this.getVerifyContext({attestationId:o,hash:Yt(JSON.stringify(n)),encryptedId:a,metadata:l.metadata,transportType:c}),f={requester:l,pairingTopic:i,id:n.id,authPayload:u,verifyContext:d,expiryTimestamp:h};await this.setAuthRequest(n.id,{request:f,pairingTopic:i,transportType:c}),c===Se.link_mode&&(r=l.metadata.redirect)!=null&&r.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:i,params:n.params,id:n.id,verifyContext:d})}catch(l){this.client.logger.error(l);const u=n.params.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),d=this.getAppLinkIfEnabled(n.params.requester.metadata,c),f={type:us,receiverPublicKey:u,senderPublicKey:h};await this.sendError({id:n.id,topic:i,error:l,encodeOpts:f,rpcOpts:Fe.wc_sessionAuthenticate.autoReject,appLink:d})}}),_(this,"addSessionRequestToSessionRequestQueue",s=>{this.sessionRequestQueue.queue.push(s)}),_(this,"cleanupAfterResponse",s=>{this.deletePendingSessionRequest(s.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=Vt.idle,this.processSessionRequestQueue()},U.toMiliseconds(this.requestQueueDelay))}),_(this,"cleanupPendingSentRequestsForTopic",({topic:s,error:r})=>{const i=this.client.core.history.pending;i.length>0&&i.filter(n=>n.topic===s&&n.request.method==="wc_sessionRequest").forEach(n=>{const o=n.request.id,a=pe("session_request",o);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);this.events.emit(pe("session_request",n.request.id),{error:r})})}),_(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===Vt.active){this.client.logger.info("session request queue is already active.");return}const s=this.sessionRequestQueue.queue[0];if(!s){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=Vt.active,this.emitSessionRequest(s)}catch(r){this.client.logger.error(r)}}),_(this,"emitSessionRequest",s=>{this.client.events.emit("session_request",s)}),_(this,"onPairingCreated",s=>{if(s.methods&&this.expectedPairingMethodMap.set(s.topic,s.methods),s.active)return;const r=this.client.proposal.getAll().find(i=>i.pairingTopic===s.topic);r&&this.onSessionProposeRequest({topic:s.topic,payload:Fs("wc_sessionPropose",it(Ee({},r),{requiredNamespaces:r.requiredNamespaces,optionalNamespaces:r.optionalNamespaces,relays:r.relays,proposer:r.proposer,sessionProperties:r.sessionProperties,scopedProperties:r.scopedProperties}),r.id)})}),_(this,"isValidConnect",async s=>{if(!pt(s)){const{message:l}=R("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(s)}`);throw new Error(l)}const{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:n,sessionProperties:o,scopedProperties:a,relays:c}=s;if(tt(r)||await this.isValidPairingTopic(r),!Uw(c)){const{message:l}=R("MISSING_OR_INVALID",`connect() relays: ${c}`);throw new Error(l)}if(!tt(i)&&As(i)!==0){const l="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(l):this.client.logger.warn(l),this.validateNamespaces(i,"requiredNamespaces")}if(!tt(n)&&As(n)!==0&&this.validateNamespaces(n,"optionalNamespaces"),tt(o)||this.validateSessionProps(o,"sessionProperties"),!tt(a)){this.validateSessionProps(a,"scopedProperties");const l=Object.keys(i||{}).concat(Object.keys(n||{}));if(!Object.keys(a).every(u=>l.includes(u)))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(a)}, required/optional namespaces: ${JSON.stringify(l)}`)}}),_(this,"validateNamespaces",(s,r)=>{const i=Rw(s,"connect()",r);if(i)throw new Error(i.message)}),_(this,"isValidApprove",async s=>{if(!pt(s))throw new Error(R("MISSING_OR_INVALID",`approve() params: ${s}`).message);const{id:r,namespaces:i,relayProtocol:n,sessionProperties:o,scopedProperties:a}=s;this.checkRecentlyDeleted(r),await this.isValidProposalId(r);const c=this.client.proposal.get(r),l=oo(i,"approve()");if(l)throw new Error(l.message);const u=Dc(c.requiredNamespaces,i,"approve()");if(u)throw new Error(u.message);if(!Re(n,!0)){const{message:h}=R("MISSING_OR_INVALID",`approve() relayProtocol: ${n}`);throw new Error(h)}if(tt(o)||this.validateSessionProps(o,"sessionProperties"),!tt(a)){this.validateSessionProps(a,"scopedProperties");const h=new Set(Object.keys(i));if(!Object.keys(a).every(d=>h.has(d)))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(a)}, approved namespaces: ${Array.from(h).join(", ")}`)}}),_(this,"isValidReject",async s=>{if(!pt(s)){const{message:n}=R("MISSING_OR_INVALID",`reject() params: ${s}`);throw new Error(n)}const{id:r,reason:i}=s;if(this.checkRecentlyDeleted(r),await this.isValidProposalId(r),!Lw(i)){const{message:n}=R("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(i)}`);throw new Error(n)}}),_(this,"isValidSessionSettleRequest",s=>{if(!pt(s)){const{message:l}=R("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${s}`);throw new Error(l)}const{relay:r,controller:i,namespaces:n,expiry:o}=s;if(!oh(r)){const{message:l}=R("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(l)}const a=Pw(i,"onSessionSettleRequest()");if(a)throw new Error(a.message);const c=oo(n,"onSessionSettleRequest()");if(c)throw new Error(c.message);if(ys(o)){const{message:l}=R("EXPIRED","onSessionSettleRequest()");throw new Error(l)}}),_(this,"isValidUpdate",async s=>{if(!pt(s)){const{message:c}=R("MISSING_OR_INVALID",`update() params: ${s}`);throw new Error(c)}const{topic:r,namespaces:i}=s;this.checkRecentlyDeleted(r),await this.isValidSessionTopic(r);const n=this.client.session.get(r),o=oo(i,"update()");if(o)throw new Error(o.message);const a=Dc(n.requiredNamespaces,i,"update()");if(a)throw new Error(a.message)}),_(this,"isValidExtend",async s=>{if(!pt(s)){const{message:i}=R("MISSING_OR_INVALID",`extend() params: ${s}`);throw new Error(i)}const{topic:r}=s;this.checkRecentlyDeleted(r),await this.isValidSessionTopic(r)}),_(this,"isValidRequest",async s=>{if(!pt(s)){const{message:c}=R("MISSING_OR_INVALID",`request() params: ${s}`);throw new Error(c)}const{topic:r,request:i,chainId:n,expiry:o}=s;this.checkRecentlyDeleted(r),await this.isValidSessionTopic(r);const{namespaces:a}=this.client.session.get(r);if(!Uc(a,n)){const{message:c}=R("MISSING_OR_INVALID",`request() chainId: ${n}`);throw new Error(c)}if(!Mw(i)){const{message:c}=R("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw new Error(c)}if(!qw(a,n,i.method)){const{message:c}=R("MISSING_OR_INVALID",`request() method: ${i.method}`);throw new Error(c)}if(o&&!zw(o,fo)){const{message:c}=R("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${fo.min} and ${fo.max}`);throw new Error(c)}}),_(this,"isValidRespond",async s=>{var r;if(!pt(s)){const{message:o}=R("MISSING_OR_INVALID",`respond() params: ${s}`);throw new Error(o)}const{topic:i,response:n}=s;try{await this.isValidSessionTopic(i)}catch(o){throw(r=s?.response)!=null&&r.id&&this.cleanupAfterResponse(s),o}if(!Bw(n)){const{message:o}=R("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(n)}`);throw new Error(o)}}),_(this,"isValidPing",async s=>{if(!pt(s)){const{message:i}=R("MISSING_OR_INVALID",`ping() params: ${s}`);throw new Error(i)}const{topic:r}=s;await this.isValidSessionOrPairingTopic(r)}),_(this,"isValidEmit",async s=>{if(!pt(s)){const{message:a}=R("MISSING_OR_INVALID",`emit() params: ${s}`);throw new Error(a)}const{topic:r,event:i,chainId:n}=s;await this.isValidSessionTopic(r);const{namespaces:o}=this.client.session.get(r);if(!Uc(o,n)){const{message:a}=R("MISSING_OR_INVALID",`emit() chainId: ${n}`);throw new Error(a)}if(!jw(i)){const{message:a}=R("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}if(!Fw(o,n,i.name)){const{message:a}=R("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw new Error(a)}}),_(this,"isValidDisconnect",async s=>{if(!pt(s)){const{message:i}=R("MISSING_OR_INVALID",`disconnect() params: ${s}`);throw new Error(i)}const{topic:r}=s;await this.isValidSessionOrPairingTopic(r)}),_(this,"isValidAuthenticate",s=>{const{chains:r,uri:i,domain:n,nonce:o}=s;if(!Array.isArray(r)||r.length===0)throw new Error("chains is required and must be a non-empty array");if(!Re(i,!1))throw new Error("uri is required parameter");if(!Re(n,!1))throw new Error("domain is required parameter");if(!Re(o,!1))throw new Error("nonce is required parameter");if([...new Set(r.map(c=>Tr(c).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=Tr(r[0]);if(a!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),_(this,"getVerifyContext",async s=>{const{attestationId:r,hash:i,encryptedId:n,metadata:o,transportType:a}=s,c={verified:{verifyUrl:o.verifyUrl||wi,validation:"UNKNOWN",origin:o.url||""}};try{if(a===Se.link_mode){const u=this.getAppLinkIfEnabled(o,a);return c.verified.validation=u&&new URL(u).origin===new URL(o.url).origin?"VALID":"INVALID",c}const l=await this.client.core.verify.resolve({attestationId:r,hash:i,encryptedId:n,verifyUrl:o.verifyUrl});l&&(c.verified.origin=l.origin,c.verified.isScam=l.isScam,c.verified.validation=l.origin===new URL(o.url).origin?"VALID":"INVALID")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(c)}`),c}),_(this,"validateSessionProps",(s,r)=>{Object.values(s).forEach((i,n)=>{if(i==null){const{message:o}=R("MISSING_OR_INVALID",`${r} must contain an existing value for each key. Received: ${i} for key ${Object.keys(s)[n]}`);throw new Error(o)}})}),_(this,"getPendingAuthRequest",s=>{const r=this.client.auth.requests.get(s);return typeof r=="object"?r:void 0}),_(this,"addToRecentlyDeleted",(s,r)=>{if(this.recentlyDeletedMap.set(s,r),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let i=0;const n=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(i++>=n)break;this.recentlyDeletedMap.delete(o)}}}),_(this,"checkRecentlyDeleted",s=>{const r=this.recentlyDeletedMap.get(s);if(r){const{message:i}=R("MISSING_OR_INVALID",`Record was recently deleted - ${r}: ${s}`);throw new Error(i)}}),_(this,"isLinkModeEnabled",(s,r)=>{var i,n,o,a,c,l,u,h,d;return!s||r!==Se.link_mode?!1:((n=(i=this.client.metadata)==null?void 0:i.redirect)==null?void 0:n.linkMode)===!0&&((a=(o=this.client.metadata)==null?void 0:o.redirect)==null?void 0:a.universal)!==void 0&&((l=(c=this.client.metadata)==null?void 0:c.redirect)==null?void 0:l.universal)!==""&&((u=s?.redirect)==null?void 0:u.universal)!==void 0&&((h=s?.redirect)==null?void 0:h.universal)!==""&&((d=s?.redirect)==null?void 0:d.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(s.redirect.universal)&&typeof(global==null?void 0:global.Linking)<"u"}),_(this,"getAppLinkIfEnabled",(s,r)=>{var i;return this.isLinkModeEnabled(s,r)?(i=s?.redirect)==null?void 0:i.universal:void 0}),_(this,"handleLinkModeMessage",({url:s})=>{if(!s||!s.includes("wc_ev")||!s.includes("topic"))return;const r=Xa(s,"topic")||"",i=decodeURIComponent(Xa(s,"wc_ev")||""),n=this.client.session.keys.includes(r);n&&this.client.session.update(r,{transportType:Se.link_mode}),this.client.core.dispatchEnvelope({topic:r,message:i,sessionExists:n})}),_(this,"registerLinkModeListeners",async()=>{var s;if(aa()||Ts()&&(s=this.client.metadata.redirect)!=null&&s.linkMode){const r=global==null?void 0:global.Linking;if(typeof r<"u"){r.addEventListener("url",this.handleLinkModeMessage,this.client.name);const i=await r.getInitialURL();i&&setTimeout(()=>{this.handleLinkModeMessage({url:i})},50)}}}),_(this,"shouldSetTVF",(s,r)=>{if(!r||s!=="wc_sessionRequest")return!1;const{request:i}=r;return Object.keys(hl).includes(i.method)}),_(this,"getTVFParams",(s,r,i)=>{var n,o;try{const a=r.request.method,c=this.extractTxHashesFromResult(a,i);return it(Ee({correlationId:s,rpcMethods:[a],chainId:r.chainId},this.isValidContractData(r.request.params)&&{contractAddresses:[(o=(n=r.request.params)==null?void 0:n[0])==null?void 0:o.to]}),{txHashes:c})}catch(a){this.client.logger.warn("Error getting TVF params",a)}return{}}),_(this,"isValidContractData",s=>{var r;if(!s)return!1;try{const i=s?.data||((r=s?.[0])==null?void 0:r.data);if(!i.startsWith("0x"))return!1;const n=i.slice(2);return/^[0-9a-fA-F]*$/.test(n)?n.length%2===0:!1}catch{}return!1}),_(this,"extractTxHashesFromResult",(s,r)=>{try{const i=hl[s];if(typeof r=="string")return[r];const n=r[i.key];if(_s(n))return s==="solana_signAllTransactions"?n.map(o=>hg(o)):n;if(typeof n=="string")return[n]}catch(i){this.client.logger.warn("Error extracting tx hashes from result",i)}return[]})}async processPendingMessageEvents(){try{const e=this.client.session.keys,s=this.client.core.relayer.messages.getWithoutAck(e);for(const[r,i]of Object.entries(s))for(const n of i)try{await this.onProviderMessageEvent({topic:r,message:n,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${r}, message: ${n}`)}}catch(e){this.client.logger.warn("processPendingMessageEvents failed",e)}}isInitialized(){if(!this.initialized){const{message:e}=R("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(ze.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){const{topic:s,message:r,attestation:i,transportType:n}=e,{publicKey:o}=this.client.auth.authKeys.keys.includes(dn)?this.client.auth.authKeys.get(dn):{responseTopic:void 0,publicKey:void 0};try{const a=await this.client.core.crypto.decode(s,r,{receiverPublicKey:o,encoding:n===Se.link_mode?bs:qt});ra(a)?(this.client.core.history.set(s,a),await this.onRelayEventRequest({topic:s,payload:a,attestation:i,transportType:n,encryptedId:Yt(r)})):ia(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:s,payload:a,transportType:n}),this.client.core.history.delete(s,a.id)):await this.onRelayEventUnknownPayload({topic:s,payload:a,transportType:n}),await this.client.core.relayer.messages.ack(s,r)}catch(a){this.client.logger.error(a)}}registerExpirerEvents(){this.client.core.expirer.on(kt.expired,async e=>{const{topic:s,id:r}=_u(e.target);if(r&&this.client.pendingRequest.keys.includes(r))return await this.deletePendingSessionRequest(r,R("EXPIRED"),!0);if(r&&this.client.auth.requests.keys.includes(r))return await this.deletePendingAuthRequest(r,R("EXPIRED"),!0);s?this.client.session.keys.includes(s)&&(await this.deleteSession({topic:s,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:s})):r&&(await this.deleteProposal(r,!0),this.client.events.emit("proposal_expire",{id:r}))})}registerPairingEvents(){this.client.core.pairing.events.on(js.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(js.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!Re(e,!1)){const{message:s}=R("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(s)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:s}=R("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(s)}if(ys(this.client.core.pairing.pairings.get(e).expiry)){const{message:s}=R("EXPIRED",`pairing topic: ${e}`);throw new Error(s)}}async isValidSessionTopic(e){if(!Re(e,!1)){const{message:s}=R("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(s)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:s}=R("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(s)}if(ys(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:s}=R("EXPIRED",`session topic: ${e}`);throw new Error(s)}if(!this.client.core.crypto.keychain.has(e)){const{message:s}=R("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new Error(s)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if(Re(e,!1)){const{message:s}=R("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(s)}else{const{message:s}=R("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(s)}}async isValidProposalId(e){if(!Dw(e)){const{message:s}=R("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(s)}if(!this.client.proposal.keys.includes(e)){const{message:s}=R("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(s)}if(ys(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:s}=R("EXPIRED",`proposal id: ${e}`);throw new Error(s)}}}class Q0 extends tr{constructor(e,s){super(e,s,L0,ga),this.core=e,this.logger=s}}let eE=class extends tr{constructor(e,s){super(e,s,M0,ga),this.core=e,this.logger=s}};class tE extends tr{constructor(e,s){super(e,s,j0,ga,r=>r.id),this.core=e,this.logger=s}}class sE extends tr{constructor(e,s){super(e,s,H0,Bn,()=>dn),this.core=e,this.logger=s}}class rE extends tr{constructor(e,s){super(e,s,z0,Bn),this.core=e,this.logger=s}}class iE extends tr{constructor(e,s){super(e,s,V0,Bn,r=>r.id),this.core=e,this.logger=s}}var nE=Object.defineProperty,oE=(t,e,s)=>e in t?nE(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,go=(t,e,s)=>oE(t,typeof e!="symbol"?e+"":e,s);class aE{constructor(e,s){this.core=e,this.logger=s,go(this,"authKeys"),go(this,"pairingTopics"),go(this,"requests"),this.authKeys=new sE(this.core,this.logger),this.pairingTopics=new rE(this.core,this.logger),this.requests=new iE(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var cE=Object.defineProperty,lE=(t,e,s)=>e in t?cE(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,ne=(t,e,s)=>lE(t,typeof e!="symbol"?e+"":e,s);let uE=class Ah extends of{constructor(e){super(e),ne(this,"protocol",Ih),ne(this,"version",Nh),ne(this,"name",po.name),ne(this,"metadata"),ne(this,"core"),ne(this,"logger"),ne(this,"events",new Os.EventEmitter),ne(this,"engine"),ne(this,"session"),ne(this,"proposal"),ne(this,"pendingRequest"),ne(this,"auth"),ne(this,"signConfig"),ne(this,"on",(r,i)=>this.events.on(r,i)),ne(this,"once",(r,i)=>this.events.once(r,i)),ne(this,"off",(r,i)=>this.events.off(r,i)),ne(this,"removeListener",(r,i)=>this.events.removeListener(r,i)),ne(this,"removeAllListeners",r=>this.events.removeAllListeners(r)),ne(this,"connect",async r=>{try{return await this.engine.connect(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"pair",async r=>{try{return await this.engine.pair(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"approve",async r=>{try{return await this.engine.approve(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"reject",async r=>{try{return await this.engine.reject(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"update",async r=>{try{return await this.engine.update(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"extend",async r=>{try{return await this.engine.extend(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"request",async r=>{try{return await this.engine.request(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"respond",async r=>{try{return await this.engine.respond(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"ping",async r=>{try{return await this.engine.ping(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"emit",async r=>{try{return await this.engine.emit(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"disconnect",async r=>{try{return await this.engine.disconnect(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"find",r=>{try{return this.engine.find(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(r){throw this.logger.error(r.message),r}}),ne(this,"authenticate",async(r,i)=>{try{return await this.engine.authenticate(r,i)}catch(n){throw this.logger.error(n.message),n}}),ne(this,"formatAuthMessage",r=>{try{return this.engine.formatAuthMessage(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"approveSessionAuthenticate",async r=>{try{return await this.engine.approveSessionAuthenticate(r)}catch(i){throw this.logger.error(i.message),i}}),ne(this,"rejectSessionAuthenticate",async r=>{try{return await this.engine.rejectSessionAuthenticate(r)}catch(i){throw this.logger.error(i.message),i}}),this.name=e?.name||po.name,this.metadata=Nf(e?.metadata),this.signConfig=e?.signConfig;const s=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:sa(Ti({level:e?.logger||po.logger}));this.core=e?.core||new D0(e),this.logger=ot(s,this.name),this.session=new eE(this.core,this.logger),this.proposal=new Q0(this.core,this.logger),this.pendingRequest=new tE(this.core,this.logger),this.engine=new Z0(this),this.auth=new aE(this.core,this.logger)}static async init(e){const s=new Ah(e);return await s.initialize(),s}get context(){return Nt(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout(()=>{this.engine.processRelayMessageCache()},U.toMiliseconds(U.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}};const pl="error",hE="wss://relay.walletconnect.org",dE="wc",pE="universal_provider",Xi=`${dE}@2:${pE}:`,Sh="https://rpc.walletconnect.org/v1/",Er="generic",fE=`${Sh}bundler`,Rt={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};function gE(){}function ma(t){return t==null||typeof t!="object"&&typeof t!="function"}function wa(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function mE(t){if(ma(t))return t;if(Array.isArray(t)||wa(t)||t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer)return t.slice(0);const e=Object.getPrototypeOf(t),s=e.constructor;if(t instanceof Date||t instanceof Map||t instanceof Set)return new s(t);if(t instanceof RegExp){const r=new s(t);return r.lastIndex=t.lastIndex,r}if(t instanceof DataView)return new s(t.buffer.slice(0));if(t instanceof Error){const r=new s(t.message);return r.stack=t.stack,r.name=t.name,r.cause=t.cause,r}if(typeof File<"u"&&t instanceof File)return new s([t],t.name,{type:t.type,lastModified:t.lastModified});if(typeof t=="object"){const r=Object.create(e);return Object.assign(r,t)}return t}function fl(t){return typeof t=="object"&&t!==null}function Ph(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}function Oh(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const wE="[object RegExp]",Th="[object String]",kh="[object Number]",$h="[object Boolean]",xh="[object Arguments]",yE="[object Symbol]",bE="[object Date]",vE="[object Map]",EE="[object Set]",CE="[object Array]",IE="[object ArrayBuffer]",NE="[object Object]",_E="[object DataView]",AE="[object Uint8Array]",SE="[object Uint8ClampedArray]",PE="[object Uint16Array]",OE="[object Uint32Array]",TE="[object Int8Array]",kE="[object Int16Array]",$E="[object Int32Array]",xE="[object Float32Array]",RE="[object Float64Array]";function UE(t,e){return Sr(t,void 0,t,new Map,e)}function Sr(t,e,s,r=new Map,i=void 0){const n=i?.(t,e,s,r);if(n!=null)return n;if(ma(t))return t;if(r.has(t))return r.get(t);if(Array.isArray(t)){const o=new Array(t.length);r.set(t,o);for(let a=0;a<t.length;a++)o[a]=Sr(t[a],a,s,r,i);return Object.hasOwn(t,"index")&&(o.index=t.index),Object.hasOwn(t,"input")&&(o.input=t.input),o}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){const o=new RegExp(t.source,t.flags);return o.lastIndex=t.lastIndex,o}if(t instanceof Map){const o=new Map;r.set(t,o);for(const[a,c]of t)o.set(a,Sr(c,a,s,r,i));return o}if(t instanceof Set){const o=new Set;r.set(t,o);for(const a of t)o.add(Sr(a,void 0,s,r,i));return o}if(typeof Buffer<"u"&&Buffer.isBuffer(t))return t.subarray();if(wa(t)){const o=new(Object.getPrototypeOf(t)).constructor(t.length);r.set(t,o);for(let a=0;a<t.length;a++)o[a]=Sr(t[a],a,s,r,i);return o}if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){const o=new DataView(t.buffer.slice(0),t.byteOffset,t.byteLength);return r.set(t,o),qs(o,t,s,r,i),o}if(typeof File<"u"&&t instanceof File){const o=new File([t],t.name,{type:t.type});return r.set(t,o),qs(o,t,s,r,i),o}if(t instanceof Blob){const o=new Blob([t],{type:t.type});return r.set(t,o),qs(o,t,s,r,i),o}if(t instanceof Error){const o=new t.constructor;return r.set(t,o),o.message=t.message,o.name=t.name,o.stack=t.stack,o.cause=t.cause,qs(o,t,s,r,i),o}if(typeof t=="object"&&DE(t)){const o=Object.create(Object.getPrototypeOf(t));return r.set(t,o),qs(o,t,s,r,i),o}return t}function qs(t,e,s=t,r,i){const n=[...Object.keys(e),...Ph(e)];for(let o=0;o<n.length;o++){const a=n[o],c=Object.getOwnPropertyDescriptor(t,a);(c==null||c.writable)&&(t[a]=Sr(e[a],a,s,r,i))}}function DE(t){switch(Oh(t)){case xh:case CE:case IE:case _E:case $h:case bE:case xE:case RE:case TE:case kE:case $E:case vE:case kh:case NE:case wE:case EE:case Th:case yE:case AE:case SE:case PE:case OE:return!0;default:return!1}}function LE(t,e){return UE(t,(s,r,i,n)=>{if(typeof t=="object")switch(Object.prototype.toString.call(t)){case kh:case Th:case $h:{const o=new t.constructor(t?.valueOf());return qs(o,t),o}case xh:{const o={};return qs(o,t),o.length=t.length,o[Symbol.iterator]=t[Symbol.iterator],o}default:return}})}function gl(t){return LE(t)}function ml(t){return t!==null&&typeof t=="object"&&Oh(t)==="[object Arguments]"}function ME(t){return wa(t)}function BE(t){if(typeof t!="object"||t==null)return!1;if(Object.getPrototypeOf(t)===null)return!0;if(Object.prototype.toString.call(t)!=="[object Object]"){const s=t[Symbol.toStringTag];return s==null||!Object.getOwnPropertyDescriptor(t,Symbol.toStringTag)?.writable?!1:t.toString()===`[object ${s}]`}let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function jE(t,...e){const s=e.slice(0,-1),r=e[e.length-1];let i=t;for(let n=0;n<s.length;n++){const o=s[n];i=Yo(i,o,r,new Map)}return i}function Yo(t,e,s,r){if(ma(t)&&(t=Object(t)),e==null||typeof e!="object")return t;if(r.has(e))return mE(r.get(e));if(r.set(e,t),Array.isArray(e)){e=e.slice();for(let n=0;n<e.length;n++)e[n]=e[n]??void 0}const i=[...Object.keys(e),...Ph(e)];for(let n=0;n<i.length;n++){const o=i[n];let a=e[o],c=t[o];if(ml(a)&&(a={...a}),ml(c)&&(c={...c}),typeof Buffer<"u"&&Buffer.isBuffer(a)&&(a=gl(a)),Array.isArray(a))if(typeof c=="object"&&c!=null){const u=[],h=Reflect.ownKeys(c);for(let d=0;d<h.length;d++){const f=h[d];u[f]=c[f]}c=u}else c=[];const l=s(c,a,o,t,e,r);l!=null?t[o]=l:Array.isArray(a)||fl(c)&&fl(a)?t[o]=Yo(c,a,s,r):c==null&&BE(a)?t[o]=Yo({},a,s,r):c==null&&ME(a)?t[o]=gl(a):(c===void 0||a!==void 0)&&(t[o]=a)}return t}function qE(t,...e){return jE(t,...e,gE)}var FE=Object.defineProperty,WE=Object.defineProperties,HE=Object.getOwnPropertyDescriptors,wl=Object.getOwnPropertySymbols,zE=Object.prototype.hasOwnProperty,VE=Object.prototype.propertyIsEnumerable,yl=(t,e,s)=>e in t?FE(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Zi=(t,e)=>{for(var s in e||(e={}))zE.call(e,s)&&yl(t,s,e[s]);if(wl)for(var s of wl(e))VE.call(e,s)&&yl(t,s,e[s]);return t},KE=(t,e)=>WE(t,HE(e));function It(t,e,s){var r;const i=Tr(t);return((r=e.rpcMap)==null?void 0:r[i.reference])||`${Sh}?chainId=${i.namespace}:${i.reference}&projectId=${s}`}function sr(t){return t.includes(":")?t.split(":")[1]:t}function Rh(t){return t.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function GE(t,e){const s=Object.keys(e.namespaces).filter(i=>i.includes(t));if(!s.length)return[];const r=[];return s.forEach(i=>{const n=e.namespaces[i].accounts;r.push(...n)}),r}function Qi(t={},e={}){const s=bl(t),r=bl(e);return qE(s,r)}function bl(t){var e,s,r,i,n;const o={};if(!As(t))return o;for(const[a,c]of Object.entries(t)){const l=Ln(a)?[a]:c.chains,u=c.methods||[],h=c.events||[],d=c.rpcMap||{},f=Ar(a);o[f]=KE(Zi(Zi({},o[f]),c),{chains:Zt(l,(e=o[f])==null?void 0:e.chains),methods:Zt(u,(s=o[f])==null?void 0:s.methods),events:Zt(h,(r=o[f])==null?void 0:r.events)}),(As(d)||As(((i=o[f])==null?void 0:i.rpcMap)||{}))&&(o[f].rpcMap=Zi(Zi({},d),(n=o[f])==null?void 0:n.rpcMap))}return o}function vl(t){return t.includes(":")?t.split(":")[2]:t}function El(t){const e={};for(const[s,r]of Object.entries(t)){const i=r.methods||[],n=r.events||[],o=r.accounts||[],a=Ln(s)?[s]:r.chains?r.chains:Rh(r.accounts);e[s]={chains:a,methods:i,events:n,accounts:o}}return e}function mo(t){return typeof t=="number"?t:t.includes("0x")?parseInt(t,16):(t=t.includes(":")?t.split(":")[1]:t,isNaN(Number(t))?t:Number(t))}const Uh={},ue=t=>Uh[t],wo=(t,e)=>{Uh[t]=e};var JE=Object.defineProperty,YE=(t,e,s)=>e in t?JE(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,lr=(t,e,s)=>YE(t,typeof e!="symbol"?e+"":e,s);class XE{constructor(e){lr(this,"name","polkadot"),lr(this,"client"),lr(this,"httpProviders"),lr(this,"events"),lr(this,"namespace"),lr(this,"chainId"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=sr(s);e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||It(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new xt(new Ft(r,ue("disableProviderPing")))}}var ZE=Object.defineProperty,QE=Object.defineProperties,eC=Object.getOwnPropertyDescriptors,Cl=Object.getOwnPropertySymbols,tC=Object.prototype.hasOwnProperty,sC=Object.prototype.propertyIsEnumerable,Xo=(t,e,s)=>e in t?ZE(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,Il=(t,e)=>{for(var s in e||(e={}))tC.call(e,s)&&Xo(t,s,e[s]);if(Cl)for(var s of Cl(e))sC.call(e,s)&&Xo(t,s,e[s]);return t},Nl=(t,e)=>QE(t,eC(e)),ur=(t,e,s)=>Xo(t,typeof e!="symbol"?e+"":e,s);class rC{constructor(e){ur(this,"name","eip155"),ur(this,"client"),ur(this,"chainId"),ur(this,"namespace"),ur(this,"httpProviders"),ur(this,"events"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(parseInt(e),s),this.chainId=parseInt(e),this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,s){const r=s||It(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new xt(new Ft(r,ue("disableProviderPing")))}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=parseInt(sr(s));e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}getHttpProvider(){const e=this.chainId,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}async handleSwitchChain(e){var s,r;let i=e.request.params?(s=e.request.params[0])==null?void 0:s.chainId:"0x0";i=i.startsWith("0x")?i:`0x${i}`;const n=parseInt(i,16);if(this.isChainApproved(n))this.setDefaultChain(`${n}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:i}]},chainId:(r=this.namespace.chains)==null?void 0:r[0]}),this.setDefaultChain(`${n}`);else throw new Error(`Failed to switch to chain 'eip155:${n}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var s,r,i,n,o;const a=(r=(s=e.request)==null?void 0:s.params)==null?void 0:r[0],c=((n=(i=e.request)==null?void 0:i.params)==null?void 0:n[1])||[],l=`${a}${c.join(",")}`;if(!a)throw new Error("Missing address parameter in `wallet_getCapabilities` request");const u=this.client.session.get(e.topic),h=((o=u?.sessionProperties)==null?void 0:o.capabilities)||{};if(h!=null&&h[l])return h?.[l];const d=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:Nl(Il({},u.sessionProperties||{}),{capabilities:Nl(Il({},h||{}),{[l]:d})})})}catch(f){console.warn("Failed to update session with capabilities",f)}return d}async getCallStatus(e){var s,r;const i=this.client.session.get(e.topic),n=(s=i.sessionProperties)==null?void 0:s.bundler_name;if(n){const a=this.getBundlerUrl(e.chainId,n);try{return await this.getUserOperationReceipt(a,e)}catch(c){console.warn("Failed to fetch call status from bundler",c,a)}}const o=(r=i.sessionProperties)==null?void 0:r.bundler_url;if(o)try{return await this.getUserOperationReceipt(o,e)}catch(a){console.warn("Failed to fetch call status from custom bundler",a,o)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw new Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,s){var r;const i=new URL(e),n=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Fs("eth_getUserOperationReceipt",[(r=s.request.params)==null?void 0:r[0]]))});if(!n.ok)throw new Error(`Failed to fetch user operation receipt - ${n.status}`);return await n.json()}getBundlerUrl(e,s){return`${fE}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${s}`}}var iC=Object.defineProperty,nC=(t,e,s)=>e in t?iC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,hr=(t,e,s)=>nC(t,typeof e!="symbol"?e+"":e,s);class oC{constructor(e){hr(this,"name","solana"),hr(this,"client"),hr(this,"httpProviders"),hr(this,"events"),hr(this,"namespace"),hr(this,"chainId"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=sr(s);e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||It(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new xt(new Ft(r,ue("disableProviderPing")))}}var aC=Object.defineProperty,cC=(t,e,s)=>e in t?aC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,dr=(t,e,s)=>cC(t,typeof e!="symbol"?e+"":e,s);class lC{constructor(e){dr(this,"name","cosmos"),dr(this,"client"),dr(this,"httpProviders"),dr(this,"events"),dr(this,"namespace"),dr(this,"chainId"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=sr(s);e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||It(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new xt(new Ft(r,ue("disableProviderPing")))}}var uC=Object.defineProperty,hC=(t,e,s)=>e in t?uC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,pr=(t,e,s)=>hC(t,typeof e!="symbol"?e+"":e,s);class dC{constructor(e){pr(this,"name","algorand"),pr(this,"client"),pr(this,"httpProviders"),pr(this,"events"),pr(this,"namespace"),pr(this,"chainId"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){if(!this.httpProviders[e]){const r=s||It(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.chainId=e,this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;e[s]=this.createHttpProvider(s,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||It(e,this.namespace,this.client.core.projectId);return typeof r>"u"?void 0:new xt(new Ft(r,ue("disableProviderPing")))}}var pC=Object.defineProperty,fC=(t,e,s)=>e in t?pC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,fr=(t,e,s)=>fC(t,typeof e!="symbol"?e+"":e,s);class gC{constructor(e){fr(this,"name","cip34"),fr(this,"client"),fr(this,"httpProviders"),fr(this,"events"),fr(this,"namespace"),fr(this,"chainId"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{const r=this.getCardanoRPCUrl(s),i=sr(s);e[i]=this.createHttpProvider(i,r)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}getCardanoRPCUrl(e){const s=this.namespace.rpcMap;if(s)return s[e]}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||this.getCardanoRPCUrl(e);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new xt(new Ft(r,ue("disableProviderPing")))}}var mC=Object.defineProperty,wC=(t,e,s)=>e in t?mC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,gr=(t,e,s)=>wC(t,typeof e!="symbol"?e+"":e,s);class yC{constructor(e){gr(this,"name","elrond"),gr(this,"client"),gr(this,"httpProviders"),gr(this,"events"),gr(this,"namespace"),gr(this,"chainId"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=sr(s);e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||It(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new xt(new Ft(r,ue("disableProviderPing")))}}var bC=Object.defineProperty,vC=(t,e,s)=>e in t?bC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,mr=(t,e,s)=>vC(t,typeof e!="symbol"?e+"":e,s);class EC{constructor(e){mr(this,"name","multiversx"),mr(this,"client"),mr(this,"httpProviders"),mr(this,"events"),mr(this,"namespace"),mr(this,"chainId"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;const i=sr(s);e[i]=this.createHttpProvider(i,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||It(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new xt(new Ft(r,ue("disableProviderPing")))}}var CC=Object.defineProperty,IC=(t,e,s)=>e in t?CC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,wr=(t,e,s)=>IC(t,typeof e!="symbol"?e+"":e,s);class NC{constructor(e){wr(this,"name","near"),wr(this,"client"),wr(this,"httpProviders"),wr(this,"events"),wr(this,"namespace"),wr(this,"chainId"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){if(this.chainId=e,!this.httpProviders[e]){const r=s||It(`${this.name}:${e}`,this.namespace);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{var r;e[s]=this.createHttpProvider(s,(r=this.namespace.rpcMap)==null?void 0:r[s])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||It(e,this.namespace);return typeof r>"u"?void 0:new xt(new Ft(r,ue("disableProviderPing")))}}var _C=Object.defineProperty,AC=(t,e,s)=>e in t?_C(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,yr=(t,e,s)=>AC(t,typeof e!="symbol"?e+"":e,s);class SC{constructor(e){yr(this,"name","tezos"),yr(this,"client"),yr(this,"httpProviders"),yr(this,"events"),yr(this,"namespace"),yr(this,"chainId"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,s){if(this.chainId=e,!this.httpProviders[e]){const r=s||It(`${this.name}:${e}`,this.namespace);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(s=>{e[s]=this.createHttpProvider(s)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||It(e,this.namespace);return typeof r>"u"?void 0:new xt(new Ft(r))}}var PC=Object.defineProperty,OC=(t,e,s)=>e in t?PC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,br=(t,e,s)=>OC(t,typeof e!="symbol"?e+"":e,s);class TC{constructor(e){br(this,"name",Er),br(this,"client"),br(this,"httpProviders"),br(this,"events"),br(this,"namespace"),br(this,"chainId"),this.namespace=e.namespace,this.events=ue("events"),this.client=ue("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,s){this.httpProviders[e]||this.setHttpProvider(e,s),this.chainId=e,this.events.emit(Rt.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(s=>s.split(":")[1]===this.chainId.toString()).map(s=>s.split(":")[2]))]:[]}createHttpProviders(){var e,s;const r={};return(s=(e=this.namespace)==null?void 0:e.accounts)==null||s.forEach(i=>{const n=Tr(i);r[`${n.namespace}:${n.reference}`]=this.createHttpProvider(i)}),r}getHttpProvider(e){const s=this.httpProviders[e];if(typeof s>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return s}setHttpProvider(e,s){const r=this.createHttpProvider(e,s);r&&(this.httpProviders[e]=r)}createHttpProvider(e,s){const r=s||It(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new xt(new Ft(r,ue("disableProviderPing")))}}var kC=Object.defineProperty,$C=Object.defineProperties,xC=Object.getOwnPropertyDescriptors,_l=Object.getOwnPropertySymbols,RC=Object.prototype.hasOwnProperty,UC=Object.prototype.propertyIsEnumerable,Zo=(t,e,s)=>e in t?kC(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,en=(t,e)=>{for(var s in e||(e={}))RC.call(e,s)&&Zo(t,s,e[s]);if(_l)for(var s of _l(e))UC.call(e,s)&&Zo(t,s,e[s]);return t},yo=(t,e)=>$C(t,xC(e)),Ot=(t,e,s)=>Zo(t,typeof e!="symbol"?e+"":e,s);let DC=class Dh{constructor(e){Ot(this,"client"),Ot(this,"namespaces"),Ot(this,"optionalNamespaces"),Ot(this,"sessionProperties"),Ot(this,"scopedProperties"),Ot(this,"events",new oa),Ot(this,"rpcProviders",{}),Ot(this,"session"),Ot(this,"providerOpts"),Ot(this,"logger"),Ot(this,"uri"),Ot(this,"disableProviderPing",!1),this.providerOpts=e,this.logger=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:sa(Ti({level:e?.logger||pl})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){const s=new Dh(e);return await s.initialize(),s}async request(e,s,r){const[i,n]=this.validateChain(s);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(i).request({request:en({},e),chainId:`${i}:${n}`,topic:this.session.topic,expiry:r})}sendAsync(e,s,r,i){const n=new Date().getTime();this.request(e,r,i).then(o=>s(null,Sn(n,o))).catch(o=>s(o,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:we("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,s){if(!this.client)throw new Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();const{uri:r,response:i}=await this.client.authenticate(e,s);r&&(this.uri=r,this.events.emit("display_uri",r));const n=await i();if(this.session=n.session,this.session){const o=El(this.session.namespaces);this.namespaces=Qi(this.namespaces,o),await this.persist("namespaces",this.namespaces),this.onConnect()}return n}on(e,s){this.events.on(e,s)}once(e,s){this.events.once(e,s)}removeListener(e,s){this.events.removeListener(e,s)}off(e,s){this.events.off(e,s)}get isWalletConnect(){return!0}async pair(e){const{uri:s,approval:r}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});s&&(this.uri=s,this.events.emit("display_uri",s));const i=await r();this.session=i;const n=El(i.namespaces);return this.namespaces=Qi(this.namespaces,n),await this.persist("namespaces",this.namespaces),await this.persist("optionalNamespaces",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,s){try{if(!this.session)return;const[r,i]=this.validateChain(e),n=this.getProvider(r);n.name===Er?n.setDefaultChain(`${r}:${i}`,s):n.setDefaultChain(i,s)}catch(r){if(!/Please call connect/.test(r.message))throw r}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const s=this.client.pairing.getAll();if(_s(s)){for(const r of s)e.deletePairings?this.client.core.expirer.set(r.topic,0):await this.client.core.relayer.subscriber.unsubscribe(r.topic);this.logger.info(`Inactive pairings cleared: ${s.length}`)}}abortPairingAttempt(){this.logger.warn("abortPairingAttempt is deprecated. This is now a no-op.")}async checkStorage(){this.namespaces=await this.getFromStore("namespaces")||{},this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var e,s;if(this.client=this.providerOpts.client||await uE.init({core:this.providerOpts.core,logger:this.providerOpts.logger||pl,relayUrl:this.providerOpts.relayUrl||hE,projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(r){throw this.logger.error("Failed to get session",r),new Error(`The provided session: ${(s=(e=this.providerOpts)==null?void 0:e.session)==null?void 0:s.topic} doesn't exist in the Sign client`)}else{const r=this.client.session.getAll();this.session=r[0]}this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(s=>Ar(s)))];wo("client",this.client),wo("events",this.events),wo("disableProviderPing",this.disableProviderPing),e.forEach(s=>{if(!this.session)return;const r=GE(s,this.session),i=Rh(r),n=Qi(this.namespaces,this.optionalNamespaces),o=yo(en({},n[s]),{accounts:r,chains:i});switch(s){case"eip155":this.rpcProviders[s]=new rC({namespace:o});break;case"algorand":this.rpcProviders[s]=new dC({namespace:o});break;case"solana":this.rpcProviders[s]=new oC({namespace:o});break;case"cosmos":this.rpcProviders[s]=new lC({namespace:o});break;case"polkadot":this.rpcProviders[s]=new XE({namespace:o});break;case"cip34":this.rpcProviders[s]=new gC({namespace:o});break;case"elrond":this.rpcProviders[s]=new yC({namespace:o});break;case"multiversx":this.rpcProviders[s]=new EC({namespace:o});break;case"near":this.rpcProviders[s]=new NC({namespace:o});break;case"tezos":this.rpcProviders[s]=new SC({namespace:o});break;default:this.rpcProviders[Er]?this.rpcProviders[Er].updateNamespace(o):this.rpcProviders[Er]=new TC({namespace:o})}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var s;const{topic:r}=e;r===((s=this.session)==null?void 0:s.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var s;const{params:r,topic:i}=e;if(i!==((s=this.session)==null?void 0:s.topic))return;const{event:n}=r;if(n.name==="accountsChanged"){const o=n.data;o&&_s(o)&&this.events.emit("accountsChanged",o.map(vl))}else if(n.name==="chainChanged"){const o=r.chainId,a=r.event.data,c=Ar(o),l=mo(o)!==mo(a)?`${c}:${mo(a)}`:o;this.onChainChanged(l)}else this.events.emit(n.name,n.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:s})=>{var r,i;if(e!==((r=this.session)==null?void 0:r.topic))return;const{namespaces:n}=s,o=(i=this.client)==null?void 0:i.session.get(e);this.session=yo(en({},o),{namespaces:n}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:s})}),this.client.on("session_delete",async e=>{var s;e.topic===((s=this.session)==null?void 0:s.topic)&&(await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",yo(en({},we("USER_DISCONNECTED")),{data:e.topic})))}),this.on(Rt.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[Er]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var s;this.getProvider(e).updateNamespace((s=this.session)==null?void 0:s.namespaces[e])})}setNamespaces(e){const{namespaces:s={},optionalNamespaces:r={},sessionProperties:i,scopedProperties:n}=e;this.optionalNamespaces=Qi(s,r),this.sessionProperties=i,this.scopedProperties=n}validateChain(e){const[s,r]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[s,r];if(s&&!Object.keys(this.namespaces||{}).map(o=>Ar(o)).includes(s))throw new Error(`Namespace '${s}' is not configured. Please call connect() first with namespace config.`);if(s&&r)return[s,r];const i=Ar(Object.keys(this.namespaces)[0]),n=this.rpcProviders[i].getDefaultChain();return[i,n]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,s=!1){if(!this.namespaces)return;const[r,i]=this.validateChain(e);if(!i)return;this.updateNamespaceChain(r,i),this.events.emit("chainChanged",i);const n=this.getProvider(r).getDefaultChain();s||this.getProvider(r).setDefaultChain(i),this.emitAccountsChangedOnChainChange({namespace:r,previousChainId:n,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:s,newChainId:r}){var i,n;try{if(s===r)return;const o=(n=(i=this.session)==null?void 0:i.namespaces[e])==null?void 0:n.accounts;if(!o)return;const a=o.filter(c=>c.includes(`${r}:`)).map(vl);if(!_s(a))return;this.events.emit("accountsChanged",a)}catch(o){this.logger.warn("Failed to emit accountsChanged on chain change",o)}}updateNamespaceChain(e,s){if(!this.namespaces)return;const r=this.namespaces[e]?e:`${e}:${s}`,i={chains:[],methods:[],events:[],defaultChain:s};this.namespaces[r]?this.namespaces[r]&&(this.namespaces[r].defaultChain=s):this.namespaces[r]=i}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore("namespaces"),await this.deleteFromStore("optionalNamespaces"),await this.deleteFromStore("sessionProperties"),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,s){var r;const i=((r=this.session)==null?void 0:r.topic)||"";await this.client.core.storage.setItem(`${Xi}/${e}${i}`,s)}async getFromStore(e){var s;const r=((s=this.session)==null?void 0:s.topic)||"";return await this.client.core.storage.getItem(`${Xi}/${e}${r}`)}async deleteFromStore(e){var s;const r=((s=this.session)==null?void 0:s.topic)||"";await this.client.core.storage.removeItem(`${Xi}/${e}${r}`)}async cleanupStorage(){var e;try{if(((e=this.client)==null?void 0:e.session.length)>0)return;const s=await this.client.core.storage.getKeys();for(const r of s)r.startsWith(Xi)&&await this.client.core.storage.removeItem(r)}catch(s){this.logger.warn("Failed to cleanup storage",s)}}};function tn(t,e){return q.getConnectorId(t)===e}function LC(t){const e=Array.from(p.state.chains.keys());let s=[];return t?(s.push([t,p.state.chains.get(t)]),tn(t,j.CONNECTOR_ID.WALLET_CONNECT)?e.forEach(r=>{r!==t&&tn(r,j.CONNECTOR_ID.WALLET_CONNECT)&&s.push([r,p.state.chains.get(r)])}):tn(t,j.CONNECTOR_ID.AUTH)&&e.forEach(r=>{r!==t&&tn(r,j.CONNECTOR_ID.AUTH)&&s.push([r,p.state.chains.get(r)])})):s=Array.from(p.state.chains.entries()),s}const Be={METMASK_CONNECTOR_NAME:"MetaMask",TRUST_CONNECTOR_NAME:"Trust Wallet",SOLFLARE_CONNECTOR_NAME:"Solflare",PHANTOM_CONNECTOR_NAME:"Phantom",COIN98_CONNECTOR_NAME:"Coin98",MAGIC_EDEN_CONNECTOR_NAME:"Magic Eden",BACKPACK_CONNECTOR_NAME:"Backpack",BITGET_CONNECTOR_NAME:"Bitget Wallet",FRONTIER_CONNECTOR_NAME:"Frontier",XVERSE_CONNECTOR_NAME:"Xverse Wallet",LEATHER_CONNECTOR_NAME:"Leather",EIP155:"eip155",ADD_CHAIN_METHOD:"wallet_addEthereumChain",EIP6963_ANNOUNCE_EVENT:"eip6963:announceProvider",EIP6963_REQUEST_EVENT:"eip6963:requestProvider",CONNECTOR_RDNS_MAP:{coinbaseWallet:"com.coinbase.wallet",coinbaseWalletSDK:"com.coinbase.wallet"},CONNECTOR_TYPE_EXTERNAL:"EXTERNAL",CONNECTOR_TYPE_WALLET_CONNECT:"WALLET_CONNECT",CONNECTOR_TYPE_INJECTED:"INJECTED",CONNECTOR_TYPE_ANNOUNCED:"ANNOUNCED",CONNECTOR_TYPE_AUTH:"AUTH",CONNECTOR_TYPE_MULTI_CHAIN:"MULTI_CHAIN",CONNECTOR_TYPE_W3M_AUTH:"ID_AUTH"},Nn={ConnectorExplorerIds:{[j.CONNECTOR_ID.COINBASE]:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",[j.CONNECTOR_ID.COINBASE_SDK]:"fd20dc426fb37566d803205b19bbc1d4096b248ac04548e3cfb6b3a38bd033aa",[j.CONNECTOR_ID.SAFE]:"225affb176778569276e484e1b92637ad061b01e13a048b35a9d280c3b58970f",[j.CONNECTOR_ID.LEDGER]:"19177a98252e07ddfc9af2083ba8e07ef627cb6103467ffebb3f8f4205fd7927",[j.CONNECTOR_ID.OKX]:"971e689d0a5be527bac79629b4ee9b925e82208e5168b733496a09c0faed0709",[Be.METMASK_CONNECTOR_NAME]:"c57ca95b47569778a828d19178114f4db188b89b763c899ba0be274e97267d96",[Be.TRUST_CONNECTOR_NAME]:"4622a2b2d6af1c9844944291e5e7351a6aa24cd7b23099efac1b2fd875da31a0",[Be.SOLFLARE_CONNECTOR_NAME]:"1ca0bdd4747578705b1939af023d120677c64fe6ca76add81fda36e350605e79",[Be.PHANTOM_CONNECTOR_NAME]:"a797aa35c0fadbfc1a53e7f675162ed5226968b44a19ee3d24385c64d1d3c393",[Be.COIN98_CONNECTOR_NAME]:"2a3c89040ac3b723a1972a33a125b1db11e258a6975d3a61252cd64e6ea5ea01",[Be.MAGIC_EDEN_CONNECTOR_NAME]:"8b830a2b724a9c3fbab63af6f55ed29c9dfa8a55e732dc88c80a196a2ba136c6",[Be.BACKPACK_CONNECTOR_NAME]:"2bd8c14e035c2d48f184aaa168559e86b0e3433228d3c4075900a221785019b0",[Be.BITGET_CONNECTOR_NAME]:"38f5d18bd8522c244bdd70cb4a68e0e718865155811c043f052fb9f1c51de662",[Be.FRONTIER_CONNECTOR_NAME]:"85db431492aa2e8672e93f4ea7acf10c88b97b867b0d373107af63dc4880f041",[Be.XVERSE_CONNECTOR_NAME]:"2a87d74ae02e10bdd1f51f7ce6c4e1cc53cd5f2c0b6b5ad0d7b3007d2b13de7b",[Be.LEATHER_CONNECTOR_NAME]:"483afe1df1df63daf313109971ff3ef8356ddf1cc4e45877d205eee0b7893a13"},NetworkImageIds:{1:"ba0ba0cd-17c6-4806-ad93-f9d174f17900",42161:"3bff954d-5cb0-47a0-9a23-d20192e74600",43114:"30c46e53-e989-45fb-4549-be3bd4eb3b00",56:"93564157-2e8e-4ce7-81df-b264dbee9b00",250:"06b26297-fe0c-4733-5d6b-ffa5498aac00",10:"ab9c186a-c52f-464b-2906-ca59d760a400",137:"41d04d42-da3b-4453-8506-668cc0727900",5e3:"e86fae9b-b770-4eea-e520-150e12c81100",295:"6a97d510-cac8-4e58-c7ce-e8681b044c00",11155111:"e909ea0a-f92a-4512-c8fc-748044ea6800",84532:"a18a7ecd-e307-4360-4746-283182228e00",1301:"4eeea7ef-0014-4649-5d1d-07271a80f600",130:"2257980a-3463-48c6-cbac-a42d2a956e00",10143:"0a728e83-bacb-46db-7844-948f05434900",100:"02b53f6a-e3d4-479e-1cb4-21178987d100",9001:"f926ff41-260d-4028-635e-91913fc28e00",324:"b310f07f-4ef7-49f3-7073-2a0a39685800",314:"5a73b3dd-af74-424e-cae0-0de859ee9400",4689:"34e68754-e536-40da-c153-6ef2e7188a00",1088:"3897a66d-40b9-4833-162f-a2c90531c900",1284:"161038da-44ae-4ec7-1208-0ea569454b00",1285:"f1d73bb6-5450-4e18-38f7-fb6484264a00",7777777:"845c60df-d429-4991-e687-91ae45791600",42220:"ab781bbc-ccc6-418d-d32d-789b15da1f00",8453:"7289c336-3981-4081-c5f4-efc26ac64a00",1313161554:"3ff73439-a619-4894-9262-4470c773a100",2020:"b8101fc0-9c19-4b6f-ec65-f6dfff106e00",2021:"b8101fc0-9c19-4b6f-ec65-f6dfff106e00",80094:"e329c2c9-59b0-4a02-83e4-212ff3779900",2741:"fc2427d1-5af9-4a9c-8da5-6f94627cd900","5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp":"a1b58899-f671-4276-6a5e-56ca5bd59700","4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z":"a1b58899-f671-4276-6a5e-56ca5bd59700",EtWTRABZaYq6iMfeYKouRu166VU2xqa1:"a1b58899-f671-4276-6a5e-56ca5bd59700","000000000019d6689c085ae165831e93":"0b4838db-0161-4ffe-022d-532bf03dba00","000000000933ea01ad0ee984209779ba":"39354064-d79b-420b-065d-f980c4b78200"},ConnectorImageIds:{[j.CONNECTOR_ID.COINBASE]:"0c2840c3-5b04-4c44-9661-fbd4b49e1800",[j.CONNECTOR_ID.COINBASE_SDK]:"0c2840c3-5b04-4c44-9661-fbd4b49e1800",[j.CONNECTOR_ID.SAFE]:"461db637-8616-43ce-035a-d89b8a1d5800",[j.CONNECTOR_ID.LEDGER]:"54a1aa77-d202-4f8d-0fb2-5d2bb6db0300",[j.CONNECTOR_ID.WALLET_CONNECT]:"ef1a1fcf-7fe8-4d69-bd6d-fda1345b4400",[j.CONNECTOR_ID.INJECTED]:"07ba87ed-43aa-4adf-4540-9e6a2b9cae00"},ConnectorNamesMap:{[j.CONNECTOR_ID.INJECTED]:"Browser Wallet",[j.CONNECTOR_ID.WALLET_CONNECT]:"WalletConnect",[j.CONNECTOR_ID.COINBASE]:"Coinbase",[j.CONNECTOR_ID.COINBASE_SDK]:"Coinbase",[j.CONNECTOR_ID.LEDGER]:"Ledger",[j.CONNECTOR_ID.SAFE]:"Safe"},ConnectorTypesMap:{[j.CONNECTOR_ID.INJECTED]:"INJECTED",[j.CONNECTOR_ID.WALLET_CONNECT]:"WALLET_CONNECT",[j.CONNECTOR_ID.EIP6963]:"ANNOUNCED",[j.CONNECTOR_ID.AUTH]:"AUTH"},WalletConnectRpcChainIds:[1,5,11155111,10,420,42161,421613,137,80001,42220,1313161554,1313161555,56,97,43114,43113,100,8453,84531,7777777,999,324,280]},ya={getCaipTokens(t){if(!t)return;const e={};return Object.entries(t).forEach(([s,r])=>{e[`${Be.EIP155}:${s}`]=r}),e},isLowerCaseMatch(t,e){return t?.toLowerCase()===e?.toLowerCase()}},MC=new AbortController,vr={EmbeddedWalletAbortController:MC,UniversalProviderErrors:{UNAUTHORIZED_DOMAIN_NOT_ALLOWED:{message:"Unauthorized: origin not allowed",alertErrorKey:"INVALID_APP_CONFIGURATION"},JWT_VALIDATION_ERROR:{message:"JWT validation error: JWT Token is not yet valid",alertErrorKey:"JWT_TOKEN_NOT_VALID"},INVALID_KEY:{message:"Unauthorized: invalid key",alertErrorKey:"INVALID_PROJECT_ID"}},ALERT_ERRORS:{SWITCH_NETWORK_NOT_FOUND:{shortMessage:"Network Not Found",longMessage:"Network not found - please make sure it is included in 'networks' array in createAppKit function"},INVALID_APP_CONFIGURATION:{shortMessage:"Invalid App Configuration",longMessage:()=>`Origin ${BC()?window.origin:"unknown"} not found on Allowlist - update configuration on cloud.reown.com`},IFRAME_LOAD_FAILED:{shortMessage:"Network Error - Could not load embedded wallet",longMessage:()=>"There was an issue loading the embedded wallet. Please try again later."},IFRAME_REQUEST_TIMEOUT:{shortMessage:"Embedded Wallet Request Timed Out",longMessage:()=>"There was an issue doing the request to the embedded wallet. Please try again later."},UNVERIFIED_DOMAIN:{shortMessage:"Invalid App Configuration",longMessage:()=>"There was an issue loading the embedded wallet. Please verify that your domain is allowed at cloud.reown.com"},JWT_TOKEN_NOT_VALID:{shortMessage:"Session Expired",longMessage:"Invalid session found on UniversalProvider - please check your time settings and connect again"},INVALID_PROJECT_ID:{shortMessage:"Invalid App Configuration",longMessage:"Invalid Project ID - update configuration"},PROJECT_ID_NOT_CONFIGURED:{shortMessage:"Project ID Not Configured",longMessage:"Project ID Not Configured - update configuration on cloud.reown.com"}}};function BC(){return typeof window<"u"}const jC={createLogger(t,e="error"){const s=Ti({level:e}),{logger:r}=zl({opts:s});return r.error=(...i)=>{for(const n of i)if(n instanceof Error){t(n,...i);return}t(void 0,...i)},r}},{fallback:Al,http:sn}=await Pn("viem"),qC="rpc.walletconnect.org";function Sl(t,e){const s=new URL("https://rpc.walletconnect.org/v1/");return s.searchParams.set("chainId",t),s.searchParams.set("projectId",e),s.toString()}const bo=["near:mainnet","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","eip155:1101","eip155:56","eip155:42161","eip155:7777777","eip155:59144","eip155:324","solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","eip155:5000","solana:4sgjmw1sunhzsxgspuhpqldx6wiyjntz","eip155:80084","eip155:5003","eip155:100","eip155:8453","eip155:42220","eip155:1313161555","eip155:17000","eip155:1","eip155:300","eip155:1313161554","eip155:1329","eip155:84532","eip155:421614","eip155:11155111","eip155:8217","eip155:43114","solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z","eip155:999999999","eip155:11155420","eip155:80002","eip155:97","eip155:43113","eip155:137","eip155:10","eip155:1301","bip122:000000000019d6689c085ae165831e93","bip122:000000000933ea01ad0ee984209779ba"],Cr={extendRpcUrlWithProjectId(t,e){let s=!1;try{s=new URL(t).host===qC}catch{s=!1}if(s){const r=new URL(t);return r.searchParams.has("projectId")||r.searchParams.set("projectId",e),r.toString()}return t},isCaipNetwork(t){return"chainNamespace"in t&&"caipNetworkId"in t},getChainNamespace(t){return this.isCaipNetwork(t)?t.chainNamespace:j.CHAIN.EVM},getCaipNetworkId(t){return this.isCaipNetwork(t)?t.caipNetworkId:`${j.CHAIN.EVM}:${t.id}`},getDefaultRpcUrl(t,e,s){const r=t.rpcUrls?.default?.http?.[0];return bo.includes(e)?Sl(e,s):r||""},extendCaipNetwork(t,{customNetworkImageUrls:e,projectId:s,customRpcUrls:r}){const i=this.getChainNamespace(t),n=this.getCaipNetworkId(t),o=t.rpcUrls.default.http?.[0],a=this.getDefaultRpcUrl(t,n,s),c=t?.rpcUrls?.chainDefault?.http?.[0]||o,l=r?.[n]?.map(d=>d.url)||[],u=[...l,a],h=[...l];return c&&!h.includes(c)&&h.push(c),{...t,chainNamespace:i,caipNetworkId:n,assets:{imageId:Nn.NetworkImageIds[t.id],imageUrl:e?.[t.id]},rpcUrls:{...t.rpcUrls,default:{http:u},chainDefault:{http:h}}}},extendCaipNetworks(t,{customNetworkImageUrls:e,projectId:s,customRpcUrls:r}){return t.map(i=>Cr.extendCaipNetwork(i,{customNetworkImageUrls:e,customRpcUrls:r,projectId:s}))},getViemTransport(t,e,s){const r=[];return s?.forEach(i=>{r.push(sn(i.url,i.config))}),bo.includes(t.caipNetworkId)&&r.push(sn(Sl(t.caipNetworkId,e),{fetchOptions:{headers:{"Content-Type":"text/plain"}}})),t?.rpcUrls?.default?.http?.forEach(i=>{r.push(sn(i))}),Al(r)},extendWagmiTransports(t,e,s){if(bo.includes(t.caipNetworkId)){const r=this.getDefaultRpcUrl(t,t.caipNetworkId,e);return Al([s,sn(r)])}return s},getUnsupportedNetwork(t){return{id:t.split(":")[1],caipNetworkId:t,name:j.UNSUPPORTED_NETWORK_NAME,chainNamespace:t.split(":")[0],nativeCurrency:{name:"",decimals:0,symbol:""},rpcUrls:{default:{http:[]}}}},getCaipNetworkFromStorage(t){const e=W.getActiveCaipNetworkId(),s=p.getAllRequestedCaipNetworks(),r=Array.from(p.state.chains?.keys()||[]),i=e?.split(":")[0],n=i?r.includes(i):!1,o=s?.find(c=>c.caipNetworkId===e);return n&&!o&&e?this.getUnsupportedNetwork(e):o||t||s?.[0]}},_n={eip155:void 0,solana:void 0,polkadot:void 0,bip122:void 0,cosmos:void 0},ht=Pe({providers:{..._n},providerIds:{..._n}}),Oe={state:ht,subscribeKey(t,e){return rt(ht,t,e)},subscribe(t){return st(ht,()=>{t(ht)})},subscribeProviders(t){return st(ht.providers,()=>t(ht.providers))},setProvider(t,e){e&&(ht.providers[t]=Ks(e))},getProvider(t){return ht.providers[t]},setProviderId(t,e){e&&(ht.providerIds[t]=e)},getProviderId(t){if(t)return ht.providerIds[t]},reset(){ht.providers={..._n},ht.providerIds={..._n}},resetChain(t){ht.providers[t]=void 0,ht.providerIds[t]=void 0}};var Pl={};const FC={ACCOUNT_TABS:[{label:"Tokens"},{label:"NFTs"},{label:"Activity"}],SECURE_SITE_ORIGIN:(typeof process<"u"&&typeof Pl<"u"?Pl.NEXT_PUBLIC_SECURE_SITE_ORIGIN:void 0)||"https://secure.walletconnect.org",VIEW_DIRECTION:{Next:"next",Prev:"prev"},DEFAULT_CONNECT_METHOD_ORDER:["email","social","wallet"],ANIMATION_DURATIONS:{HeaderText:120,ModalHeight:150,ViewTransition:150}},Qo={filterOutDuplicatesByRDNS(t){const e=P.state.enableEIP6963?q.state.connectors:[],s=W.getRecentWallets(),r=e.map(a=>a.info?.rdns).filter(Boolean),i=s.map(a=>a.rdns).filter(Boolean),n=r.concat(i);if(n.includes("io.metamask.mobile")&&X.isMobile()){const a=n.indexOf("io.metamask.mobile");n[a]="io.metamask"}return t.filter(a=>!n.includes(String(a?.rdns)))},filterOutDuplicatesByIds(t){const e=q.state.connectors.filter(a=>a.type==="ANNOUNCED"||a.type==="INJECTED"),s=W.getRecentWallets(),r=e.map(a=>a.explorerId),i=s.map(a=>a.id),n=r.concat(i);return t.filter(a=>!n.includes(a?.id))},filterOutDuplicateWallets(t){const e=this.filterOutDuplicatesByRDNS(t);return this.filterOutDuplicatesByIds(e)},markWalletsAsInstalled(t){const{connectors:e}=q.state,{featuredWalletIds:s}=P.state,r=e.filter(o=>o.type==="ANNOUNCED").reduce((o,a)=>(a.info?.rdns&&(o[a.info.rdns]=!0),o),{});return t.map(o=>({...o,installed:!!o.rdns&&!!r[o.rdns??""]})).sort((o,a)=>{const c=Number(a.installed)-Number(o.installed);if(c!==0)return c;if(s?.length){const l=s.indexOf(o.id),u=s.indexOf(a.id);if(l!==-1&&u!==-1)return l-u;if(l!==-1)return-1;if(u!==-1)return 1}return 0})},getConnectOrderMethod(t,e){const s=t?.connectMethodsOrder||P.state.features?.connectMethodsOrder,r=e||q.state.connectors;if(s)return s;const{injected:i,announced:n}=pn.getConnectorsByType(r,V.state.recommended,V.state.featured),o=i.filter(pn.showConnector),a=n.filter(pn.showConnector);return o.length||a.length?["wallet","email","social"]:FC.DEFAULT_CONNECT_METHOD_ORDER},isExcluded(t){const e=!!t.rdns&&V.state.excludedWallets.some(r=>r.rdns===t.rdns),s=!!t.name&&V.state.excludedWallets.some(r=>ya.isLowerCaseMatch(r.name,t.name));return e||s}},pn={getConnectorsByType(t,e,s){const{customWallets:r}=P.state,i=W.getRecentWallets(),n=Qo.filterOutDuplicateWallets(e),o=Qo.filterOutDuplicateWallets(s),a=t.filter(h=>h.type==="MULTI_CHAIN"),c=t.filter(h=>h.type==="ANNOUNCED"),l=t.filter(h=>h.type==="INJECTED"),u=t.filter(h=>h.type==="EXTERNAL");return{custom:r,recent:i,external:u,multiChain:a,announced:c,injected:l,recommended:n,featured:o}},showConnector(t){const e=t.info?.rdns,s=!!e&&V.state.excludedWallets.some(i=>!!i.rdns&&i.rdns===e),r=!!t.name&&V.state.excludedWallets.some(i=>ya.isLowerCaseMatch(i.name,t.name));return!(t.type==="INJECTED"&&(t.name==="Browser Wallet"&&(!X.isMobile()||X.isMobile()&&!e&&!Y.checkInstalled())||s||r)||(t.type==="ANNOUNCED"||t.type==="EXTERNAL")&&(s||r))},getIsConnectedWithWC(){return Array.from(p.state.chains.values()).some(s=>q.getConnectorId(s.namespace)===j.CONNECTOR_ID.WALLET_CONNECT)},getConnectorTypeOrder({recommended:t,featured:e,custom:s,recent:r,announced:i,injected:n,multiChain:o,external:a,overriddenConnectors:c=P.state.features?.connectorTypeOrder??[]}){const l=pn.getIsConnectedWithWC(),d=[{type:"walletConnect",isEnabled:P.state.enableWalletConnect&&!l},{type:"recent",isEnabled:r.length>0},{type:"injected",isEnabled:[...n,...i,...o].length>0},{type:"featured",isEnabled:e.length>0},{type:"custom",isEnabled:s&&s.length>0},{type:"external",isEnabled:a.length>0},{type:"recommended",isEnabled:t.length>0}].filter(g=>g.isEnabled),f=new Set(d.map(g=>g.type)),m=c.filter(g=>f.has(g)).map(g=>({type:g,isEnabled:!0})),w=d.filter(({type:g})=>!m.some(({type:b})=>b===g));return Array.from(new Set([...m,...w].map(({type:g})=>g)))}};/**
14
+ * @license
15
+ * Copyright 2019 Google LLC
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */const fn=globalThis,ba=fn.ShadowRoot&&(fn.ShadyCSS===void 0||fn.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,va=Symbol(),Ol=new WeakMap;let Lh=class{constructor(e,s,r){if(this._$cssResult$=!0,r!==va)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=s}get styleSheet(){let e=this.o;const s=this.t;if(ba&&e===void 0){const r=s!==void 0&&s.length===1;r&&(e=Ol.get(s)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&Ol.set(s,e))}return e}toString(){return this.cssText}};const Tt=t=>new Lh(typeof t=="string"?t:t+"",void 0,va),kr=(t,...e)=>{const s=t.length===1?t[0]:e.reduce((r,i,n)=>r+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+t[n+1],t[0]);return new Lh(s,t,va)},WC=(t,e)=>{if(ba)t.adoptedStyleSheets=e.map(s=>s instanceof CSSStyleSheet?s:s.styleSheet);else for(const s of e){const r=document.createElement("style"),i=fn.litNonce;i!==void 0&&r.setAttribute("nonce",i),r.textContent=s.cssText,t.appendChild(r)}},Tl=ba?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let s="";for(const r of e.cssRules)s+=r.cssText;return Tt(s)})(t):t;/**
18
+ * @license
19
+ * Copyright 2017 Google LLC
20
+ * SPDX-License-Identifier: BSD-3-Clause
21
+ */const{is:HC,defineProperty:zC,getOwnPropertyDescriptor:VC,getOwnPropertyNames:KC,getOwnPropertySymbols:GC,getPrototypeOf:JC}=Object,jn=globalThis,kl=jn.trustedTypes,YC=kl?kl.emptyScript:"",XC=jn.reactiveElementPolyfillSupport,bi=(t,e)=>t,ea={toAttribute(t,e){switch(e){case Boolean:t=t?YC:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=t!==null;break;case Number:s=t===null?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch{s=null}}return s}},Mh=(t,e)=>!HC(t,e),$l={attribute:!0,type:String,converter:ea,reflect:!1,useDefault:!1,hasChanged:Mh};Symbol.metadata??=Symbol("metadata"),jn.litPropertyMetadata??=new WeakMap;let Ir=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,s=$l){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(e,s),!s.noAccessor){const r=Symbol(),i=this.getPropertyDescriptor(e,r,s);i!==void 0&&zC(this.prototype,e,i)}}static getPropertyDescriptor(e,s,r){const{get:i,set:n}=VC(this.prototype,e)??{get(){return this[s]},set(o){this[s]=o}};return{get:i,set(o){const a=i?.call(this);n?.call(this,o),this.requestUpdate(e,a,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??$l}static _$Ei(){if(this.hasOwnProperty(bi("elementProperties")))return;const e=JC(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(bi("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(bi("properties"))){const s=this.properties,r=[...KC(s),...GC(s)];for(const i of r)this.createProperty(i,s[i])}const e=this[Symbol.metadata];if(e!==null){const s=litPropertyMetadata.get(e);if(s!==void 0)for(const[r,i]of s)this.elementProperties.set(r,i)}this._$Eh=new Map;for(const[s,r]of this.elementProperties){const i=this._$Eu(s,r);i!==void 0&&this._$Eh.set(i,s)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const s=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const i of r)s.unshift(Tl(i))}else e!==void 0&&s.push(Tl(e));return s}static _$Eu(e,s){const r=s.attribute;return r===!1?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,s=this.constructor.elementProperties;for(const r of s.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return WC(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,s,r){this._$AK(e,r)}_$ET(e,s){const r=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,r);if(i!==void 0&&r.reflect===!0){const n=(r.converter?.toAttribute!==void 0?r.converter:ea).toAttribute(s,r.type);this._$Em=e,n==null?this.removeAttribute(i):this.setAttribute(i,n),this._$Em=null}}_$AK(e,s){const r=this.constructor,i=r._$Eh.get(e);if(i!==void 0&&this._$Em!==i){const n=r.getPropertyOptions(i),o=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:ea;this._$Em=i;const a=o.fromAttribute(s,n.type);this[i]=a??this._$Ej?.get(i)??a,this._$Em=null}}requestUpdate(e,s,r,i=!1,n){if(e!==void 0){const o=this.constructor;if(i===!1&&(n=this[e]),r??=o.getPropertyOptions(e),!((r.hasChanged??Mh)(n,s)||r.useDefault&&r.reflect&&n===this._$Ej?.get(e)&&!this.hasAttribute(o._$Eu(e,r))))return;this.C(e,s,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,s,{useDefault:r,reflect:i,wrapped:n},o){r&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,o??s??this[e]),n!==!0||o!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(s=void 0),this._$AL.set(e,s)),i===!0&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(s){Promise.reject(s)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[i,n]of this._$Ep)this[i]=n;this._$Ep=void 0}const r=this.constructor.elementProperties;if(r.size>0)for(const[i,n]of r){const{wrapped:o}=n,a=this[i];o!==!0||this._$AL.has(i)||a===void 0||this.C(i,void 0,n,a)}}let e=!1;const s=this._$AL;try{e=this.shouldUpdate(s),e?(this.willUpdate(s),this._$EO?.forEach(r=>r.hostUpdate?.()),this.update(s)):this._$EM()}catch(r){throw e=!1,this._$EM(),r}e&&this._$AE(s)}willUpdate(e){}_$AE(e){this._$EO?.forEach(s=>s.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(s=>this._$ET(s,this[s])),this._$EM()}updated(e){}firstUpdated(e){}};Ir.elementStyles=[],Ir.shadowRootOptions={mode:"open"},Ir[bi("elementProperties")]=new Map,Ir[bi("finalized")]=new Map,XC?.({ReactiveElement:Ir}),(jn.reactiveElementVersions??=[]).push("2.1.2");/**
22
+ * @license
23
+ * Copyright 2017 Google LLC
24
+ * SPDX-License-Identifier: BSD-3-Clause
25
+ */const Ea=globalThis,xl=t=>t,An=Ea.trustedTypes,Rl=An?An.createPolicy("lit-html",{createHTML:t=>t}):void 0,Bh="$lit$",vs=`lit$${Math.random().toFixed(9).slice(2)}$`,jh="?"+vs,ZC=`<${jh}>`,Xs=document,Si=()=>Xs.createComment(""),Pi=t=>t===null||typeof t!="object"&&typeof t!="function",Ca=Array.isArray,QC=t=>Ca(t)||typeof t?.[Symbol.iterator]=="function",vo=`[
26
+ \f\r]`,ii=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ul=/-->/g,Dl=/>/g,Us=RegExp(`>|${vo}(?:([^\\s"'>=/]+)(${vo}*=${vo}*(?:[^
27
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),Ll=/'/g,Ml=/"/g,qh=/^(?:script|style|textarea|title)$/i,Fh=t=>(e,...s)=>({_$litType$:t,strings:e,values:s}),V1=Fh(1),K1=Fh(2),Fr=Symbol.for("lit-noChange"),Ve=Symbol.for("lit-nothing"),Bl=new WeakMap,Hs=Xs.createTreeWalker(Xs,129);function Wh(t,e){if(!Ca(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return Rl!==void 0?Rl.createHTML(e):e}const e1=(t,e)=>{const s=t.length-1,r=[];let i,n=e===2?"<svg>":e===3?"<math>":"",o=ii;for(let a=0;a<s;a++){const c=t[a];let l,u,h=-1,d=0;for(;d<c.length&&(o.lastIndex=d,u=o.exec(c),u!==null);)d=o.lastIndex,o===ii?u[1]==="!--"?o=Ul:u[1]!==void 0?o=Dl:u[2]!==void 0?(qh.test(u[2])&&(i=RegExp("</"+u[2],"g")),o=Us):u[3]!==void 0&&(o=Us):o===Us?u[0]===">"?(o=i??ii,h=-1):u[1]===void 0?h=-2:(h=o.lastIndex-u[2].length,l=u[1],o=u[3]===void 0?Us:u[3]==='"'?Ml:Ll):o===Ml||o===Ll?o=Us:o===Ul||o===Dl?o=ii:(o=Us,i=void 0);const f=o===Us&&t[a+1].startsWith("/>")?" ":"";n+=o===ii?c+ZC:h>=0?(r.push(l),c.slice(0,h)+Bh+c.slice(h)+vs+f):c+vs+(h===-2?a:f)}return[Wh(t,n+(t[s]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]};class Oi{constructor({strings:e,_$litType$:s},r){let i;this.parts=[];let n=0,o=0;const a=e.length-1,c=this.parts,[l,u]=e1(e,s);if(this.el=Oi.createElement(l,r),Hs.currentNode=this.el.content,s===2||s===3){const h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(i=Hs.nextNode())!==null&&c.length<a;){if(i.nodeType===1){if(i.hasAttributes())for(const h of i.getAttributeNames())if(h.endsWith(Bh)){const d=u[o++],f=i.getAttribute(h).split(vs),m=/([.?@])?(.*)/.exec(d);c.push({type:1,index:n,name:m[2],strings:f,ctor:m[1]==="."?s1:m[1]==="?"?r1:m[1]==="@"?i1:qn}),i.removeAttribute(h)}else h.startsWith(vs)&&(c.push({type:6,index:n}),i.removeAttribute(h));if(qh.test(i.tagName)){const h=i.textContent.split(vs),d=h.length-1;if(d>0){i.textContent=An?An.emptyScript:"";for(let f=0;f<d;f++)i.append(h[f],Si()),Hs.nextNode(),c.push({type:2,index:++n});i.append(h[d],Si())}}}else if(i.nodeType===8)if(i.data===jh)c.push({type:2,index:n});else{let h=-1;for(;(h=i.data.indexOf(vs,h+1))!==-1;)c.push({type:7,index:n}),h+=vs.length-1}n++}}static createElement(e,s){const r=Xs.createElement("template");return r.innerHTML=e,r}}function Wr(t,e,s=t,r){if(e===Fr)return e;let i=r!==void 0?s._$Co?.[r]:s._$Cl;const n=Pi(e)?void 0:e._$litDirective$;return i?.constructor!==n&&(i?._$AO?.(!1),n===void 0?i=void 0:(i=new n(t),i._$AT(t,s,r)),r!==void 0?(s._$Co??=[])[r]=i:s._$Cl=i),i!==void 0&&(e=Wr(t,i._$AS(t,e.values),i,r)),e}class t1{constructor(e,s){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:s},parts:r}=this._$AD,i=(e?.creationScope??Xs).importNode(s,!0);Hs.currentNode=i;let n=Hs.nextNode(),o=0,a=0,c=r[0];for(;c!==void 0;){if(o===c.index){let l;c.type===2?l=new ji(n,n.nextSibling,this,e):c.type===1?l=new c.ctor(n,c.name,c.strings,this,e):c.type===6&&(l=new n1(n,this,e)),this._$AV.push(l),c=r[++a]}o!==c?.index&&(n=Hs.nextNode(),o++)}return Hs.currentNode=Xs,i}p(e){let s=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,s),s+=r.strings.length-2):r._$AI(e[s])),s++}}class ji{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,s,r,i){this.type=2,this._$AH=Ve,this._$AN=void 0,this._$AA=e,this._$AB=s,this._$AM=r,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const s=this._$AM;return s!==void 0&&e?.nodeType===11&&(e=s.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,s=this){e=Wr(this,e,s),Pi(e)?e===Ve||e==null||e===""?(this._$AH!==Ve&&this._$AR(),this._$AH=Ve):e!==this._$AH&&e!==Fr&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):QC(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==Ve&&Pi(this._$AH)?this._$AA.nextSibling.data=e:this.T(Xs.createTextNode(e)),this._$AH=e}$(e){const{values:s,_$litType$:r}=e,i=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=Oi.createElement(Wh(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===i)this._$AH.p(s);else{const n=new t1(i,this),o=n.u(this.options);n.p(s),this.T(o),this._$AH=n}}_$AC(e){let s=Bl.get(e.strings);return s===void 0&&Bl.set(e.strings,s=new Oi(e)),s}k(e){Ca(this._$AH)||(this._$AH=[],this._$AR());const s=this._$AH;let r,i=0;for(const n of e)i===s.length?s.push(r=new ji(this.O(Si()),this.O(Si()),this,this.options)):r=s[i],r._$AI(n),i++;i<s.length&&(this._$AR(r&&r._$AB.nextSibling,i),s.length=i)}_$AR(e=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);e!==this._$AB;){const r=xl(e).nextSibling;xl(e).remove(),e=r}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}}class qn{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,s,r,i,n){this.type=1,this._$AH=Ve,this._$AN=void 0,this.element=e,this.name=s,this._$AM=i,this.options=n,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=Ve}_$AI(e,s=this,r,i){const n=this.strings;let o=!1;if(n===void 0)e=Wr(this,e,s,0),o=!Pi(e)||e!==this._$AH&&e!==Fr,o&&(this._$AH=e);else{const a=e;let c,l;for(e=n[0],c=0;c<n.length-1;c++)l=Wr(this,a[r+c],s,c),l===Fr&&(l=this._$AH[c]),o||=!Pi(l)||l!==this._$AH[c],l===Ve?e=Ve:e!==Ve&&(e+=(l??"")+n[c+1]),this._$AH[c]=l}o&&!i&&this.j(e)}j(e){e===Ve?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class s1 extends qn{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===Ve?void 0:e}}class r1 extends qn{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==Ve)}}class i1 extends qn{constructor(e,s,r,i,n){super(e,s,r,i,n),this.type=5}_$AI(e,s=this){if((e=Wr(this,e,s,0)??Ve)===Fr)return;const r=this._$AH,i=e===Ve&&r!==Ve||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,n=e!==Ve&&(r===Ve||i);i&&this.element.removeEventListener(this.name,this,r),n&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class n1{constructor(e,s,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=s,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){Wr(this,e)}}const o1=Ea.litHtmlPolyfillSupport;o1?.(Oi,ji),(Ea.litHtmlVersions??=[]).push("3.3.2");const a1=(t,e,s)=>{const r=s?.renderBefore??e;let i=r._$litPart$;if(i===void 0){const n=s?.renderBefore??null;r._$litPart$=i=new ji(e.insertBefore(Si(),n),n,void 0,s??{})}return i._$AI(t),i};/**
28
+ * @license
29
+ * Copyright 2017 Google LLC
30
+ * SPDX-License-Identifier: BSD-3-Clause
31
+ */const Ia=globalThis;class gn extends Ir{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=a1(s,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Fr}}gn._$litElement$=!0,gn.finalized=!0,Ia.litElementHydrateSupport?.({LitElement:gn});const c1=Ia.litElementPolyfillSupport;c1?.({LitElement:gn});(Ia.litElementVersions??=[]).push("4.2.2");let vi,Ss,Ps;function G1(t,e){vi=document.createElement("style"),Ss=document.createElement("style"),Ps=document.createElement("style"),vi.textContent=$r(t).core.cssText,Ss.textContent=$r(t).dark.cssText,Ps.textContent=$r(t).light.cssText,document.head.appendChild(vi),document.head.appendChild(Ss),document.head.appendChild(Ps),Hh(e)}function Hh(t){Ss&&Ps&&(t==="light"?(Ss.removeAttribute("media"),Ps.media="enabled"):(Ps.removeAttribute("media"),Ss.media="enabled"))}function l1(t){vi&&Ss&&Ps&&(vi.textContent=$r(t).core.cssText,Ss.textContent=$r(t).dark.cssText,Ps.textContent=$r(t).light.cssText)}function $r(t){return{core:kr`
32
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
33
+ @keyframes w3m-shake {
34
+ 0% {
35
+ transform: scale(1) rotate(0deg);
36
+ }
37
+ 20% {
38
+ transform: scale(1) rotate(-1deg);
39
+ }
40
+ 40% {
41
+ transform: scale(1) rotate(1.5deg);
42
+ }
43
+ 60% {
44
+ transform: scale(1) rotate(-1.5deg);
45
+ }
46
+ 80% {
47
+ transform: scale(1) rotate(1deg);
48
+ }
49
+ 100% {
50
+ transform: scale(1) rotate(0deg);
51
+ }
52
+ }
53
+ @keyframes w3m-iframe-fade-out {
54
+ 0% {
55
+ opacity: 1;
56
+ }
57
+ 100% {
58
+ opacity: 0;
59
+ }
60
+ }
61
+ @keyframes w3m-iframe-zoom-in {
62
+ 0% {
63
+ transform: translateY(50px);
64
+ opacity: 0;
65
+ }
66
+ 100% {
67
+ transform: translateY(0px);
68
+ opacity: 1;
69
+ }
70
+ }
71
+ @keyframes w3m-iframe-zoom-in-mobile {
72
+ 0% {
73
+ transform: scale(0.95);
74
+ opacity: 0;
75
+ }
76
+ 100% {
77
+ transform: scale(1);
78
+ opacity: 1;
79
+ }
80
+ }
81
+ :root {
82
+ --w3m-modal-width: 360px;
83
+ --w3m-color-mix-strength: ${Tt(t?.["--w3m-color-mix-strength"]?`${t["--w3m-color-mix-strength"]}%`:"0%")};
84
+ --w3m-font-family: ${Tt(t?.["--w3m-font-family"]||"Inter, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;")};
85
+ --w3m-font-size-master: ${Tt(t?.["--w3m-font-size-master"]||"10px")};
86
+ --w3m-border-radius-master: ${Tt(t?.["--w3m-border-radius-master"]||"4px")};
87
+ --w3m-z-index: ${Tt(t?.["--w3m-z-index"]||999)};
88
+
89
+ --wui-font-family: var(--w3m-font-family);
90
+
91
+ --wui-font-size-mini: calc(var(--w3m-font-size-master) * 0.8);
92
+ --wui-font-size-micro: var(--w3m-font-size-master);
93
+ --wui-font-size-tiny: calc(var(--w3m-font-size-master) * 1.2);
94
+ --wui-font-size-small: calc(var(--w3m-font-size-master) * 1.4);
95
+ --wui-font-size-paragraph: calc(var(--w3m-font-size-master) * 1.6);
96
+ --wui-font-size-medium: calc(var(--w3m-font-size-master) * 1.8);
97
+ --wui-font-size-large: calc(var(--w3m-font-size-master) * 2);
98
+ --wui-font-size-title-6: calc(var(--w3m-font-size-master) * 2.2);
99
+ --wui-font-size-medium-title: calc(var(--w3m-font-size-master) * 2.4);
100
+ --wui-font-size-2xl: calc(var(--w3m-font-size-master) * 4);
101
+
102
+ --wui-border-radius-5xs: var(--w3m-border-radius-master);
103
+ --wui-border-radius-4xs: calc(var(--w3m-border-radius-master) * 1.5);
104
+ --wui-border-radius-3xs: calc(var(--w3m-border-radius-master) * 2);
105
+ --wui-border-radius-xxs: calc(var(--w3m-border-radius-master) * 3);
106
+ --wui-border-radius-xs: calc(var(--w3m-border-radius-master) * 4);
107
+ --wui-border-radius-s: calc(var(--w3m-border-radius-master) * 5);
108
+ --wui-border-radius-m: calc(var(--w3m-border-radius-master) * 7);
109
+ --wui-border-radius-l: calc(var(--w3m-border-radius-master) * 9);
110
+ --wui-border-radius-3xl: calc(var(--w3m-border-radius-master) * 20);
111
+
112
+ --wui-font-weight-light: 400;
113
+ --wui-font-weight-regular: 500;
114
+ --wui-font-weight-medium: 600;
115
+ --wui-font-weight-bold: 700;
116
+
117
+ --wui-letter-spacing-2xl: -1.6px;
118
+ --wui-letter-spacing-medium-title: -0.96px;
119
+ --wui-letter-spacing-title-6: -0.88px;
120
+ --wui-letter-spacing-large: -0.8px;
121
+ --wui-letter-spacing-medium: -0.72px;
122
+ --wui-letter-spacing-paragraph: -0.64px;
123
+ --wui-letter-spacing-small: -0.56px;
124
+ --wui-letter-spacing-tiny: -0.48px;
125
+ --wui-letter-spacing-micro: -0.2px;
126
+ --wui-letter-spacing-mini: -0.16px;
127
+
128
+ --wui-spacing-0: 0px;
129
+ --wui-spacing-4xs: 2px;
130
+ --wui-spacing-3xs: 4px;
131
+ --wui-spacing-xxs: 6px;
132
+ --wui-spacing-2xs: 7px;
133
+ --wui-spacing-xs: 8px;
134
+ --wui-spacing-1xs: 10px;
135
+ --wui-spacing-s: 12px;
136
+ --wui-spacing-m: 14px;
137
+ --wui-spacing-l: 16px;
138
+ --wui-spacing-2l: 18px;
139
+ --wui-spacing-xl: 20px;
140
+ --wui-spacing-xxl: 24px;
141
+ --wui-spacing-2xl: 32px;
142
+ --wui-spacing-3xl: 40px;
143
+ --wui-spacing-4xl: 90px;
144
+ --wui-spacing-5xl: 95px;
145
+
146
+ --wui-icon-box-size-xxs: 14px;
147
+ --wui-icon-box-size-xs: 20px;
148
+ --wui-icon-box-size-sm: 24px;
149
+ --wui-icon-box-size-md: 32px;
150
+ --wui-icon-box-size-mdl: 36px;
151
+ --wui-icon-box-size-lg: 40px;
152
+ --wui-icon-box-size-2lg: 48px;
153
+ --wui-icon-box-size-xl: 64px;
154
+
155
+ --wui-icon-size-inherit: inherit;
156
+ --wui-icon-size-xxs: 10px;
157
+ --wui-icon-size-xs: 12px;
158
+ --wui-icon-size-sm: 14px;
159
+ --wui-icon-size-md: 16px;
160
+ --wui-icon-size-mdl: 18px;
161
+ --wui-icon-size-lg: 20px;
162
+ --wui-icon-size-xl: 24px;
163
+ --wui-icon-size-xxl: 28px;
164
+
165
+ --wui-wallet-image-size-inherit: inherit;
166
+ --wui-wallet-image-size-sm: 40px;
167
+ --wui-wallet-image-size-md: 56px;
168
+ --wui-wallet-image-size-lg: 80px;
169
+
170
+ --wui-visual-size-size-inherit: inherit;
171
+ --wui-visual-size-sm: 40px;
172
+ --wui-visual-size-md: 55px;
173
+ --wui-visual-size-lg: 80px;
174
+
175
+ --wui-box-size-md: 100px;
176
+ --wui-box-size-lg: 120px;
177
+
178
+ --wui-ease-out-power-2: cubic-bezier(0, 0, 0.22, 1);
179
+ --wui-ease-out-power-1: cubic-bezier(0, 0, 0.55, 1);
180
+
181
+ --wui-ease-in-power-3: cubic-bezier(0.66, 0, 1, 1);
182
+ --wui-ease-in-power-2: cubic-bezier(0.45, 0, 1, 1);
183
+ --wui-ease-in-power-1: cubic-bezier(0.3, 0, 1, 1);
184
+
185
+ --wui-ease-inout-power-1: cubic-bezier(0.45, 0, 0.55, 1);
186
+
187
+ --wui-duration-lg: 200ms;
188
+ --wui-duration-md: 125ms;
189
+ --wui-duration-sm: 75ms;
190
+
191
+ --wui-path-network-sm: path(
192
+ 'M15.4 2.1a5.21 5.21 0 0 1 5.2 0l11.61 6.7a5.21 5.21 0 0 1 2.61 4.52v13.4c0 1.87-1 3.59-2.6 4.52l-11.61 6.7c-1.62.93-3.6.93-5.22 0l-11.6-6.7a5.21 5.21 0 0 1-2.61-4.51v-13.4c0-1.87 1-3.6 2.6-4.52L15.4 2.1Z'
193
+ );
194
+
195
+ --wui-path-network-md: path(
196
+ 'M43.4605 10.7248L28.0485 1.61089C25.5438 0.129705 22.4562 0.129705 19.9515 1.61088L4.53951 10.7248C2.03626 12.2051 0.5 14.9365 0.5 17.886V36.1139C0.5 39.0635 2.03626 41.7949 4.53951 43.2752L19.9515 52.3891C22.4562 53.8703 25.5438 53.8703 28.0485 52.3891L43.4605 43.2752C45.9637 41.7949 47.5 39.0635 47.5 36.114V17.8861C47.5 14.9365 45.9637 12.2051 43.4605 10.7248Z'
197
+ );
198
+
199
+ --wui-path-network-lg: path(
200
+ 'M78.3244 18.926L50.1808 2.45078C45.7376 -0.150261 40.2624 -0.150262 35.8192 2.45078L7.6756 18.926C3.23322 21.5266 0.5 26.3301 0.5 31.5248V64.4752C0.5 69.6699 3.23322 74.4734 7.6756 77.074L35.8192 93.5492C40.2624 96.1503 45.7376 96.1503 50.1808 93.5492L78.3244 77.074C82.7668 74.4734 85.5 69.6699 85.5 64.4752V31.5248C85.5 26.3301 82.7668 21.5266 78.3244 18.926Z'
201
+ );
202
+
203
+ --wui-width-network-sm: 36px;
204
+ --wui-width-network-md: 48px;
205
+ --wui-width-network-lg: 86px;
206
+
207
+ --wui-height-network-sm: 40px;
208
+ --wui-height-network-md: 54px;
209
+ --wui-height-network-lg: 96px;
210
+
211
+ --wui-icon-size-network-xs: 12px;
212
+ --wui-icon-size-network-sm: 16px;
213
+ --wui-icon-size-network-md: 24px;
214
+ --wui-icon-size-network-lg: 42px;
215
+
216
+ --wui-color-inherit: inherit;
217
+
218
+ --wui-color-inverse-100: #fff;
219
+ --wui-color-inverse-000: #000;
220
+
221
+ --wui-cover: rgba(20, 20, 20, 0.8);
222
+
223
+ --wui-color-modal-bg: var(--wui-color-modal-bg-base);
224
+
225
+ --wui-color-accent-100: var(--wui-color-accent-base-100);
226
+ --wui-color-accent-090: var(--wui-color-accent-base-090);
227
+ --wui-color-accent-080: var(--wui-color-accent-base-080);
228
+
229
+ --wui-color-success-100: var(--wui-color-success-base-100);
230
+ --wui-color-success-125: var(--wui-color-success-base-125);
231
+
232
+ --wui-color-warning-100: var(--wui-color-warning-base-100);
233
+
234
+ --wui-color-error-100: var(--wui-color-error-base-100);
235
+ --wui-color-error-125: var(--wui-color-error-base-125);
236
+
237
+ --wui-color-blue-100: var(--wui-color-blue-base-100);
238
+ --wui-color-blue-90: var(--wui-color-blue-base-90);
239
+
240
+ --wui-icon-box-bg-error-100: var(--wui-icon-box-bg-error-base-100);
241
+ --wui-icon-box-bg-blue-100: var(--wui-icon-box-bg-blue-base-100);
242
+ --wui-icon-box-bg-success-100: var(--wui-icon-box-bg-success-base-100);
243
+ --wui-icon-box-bg-inverse-100: var(--wui-icon-box-bg-inverse-base-100);
244
+
245
+ --wui-all-wallets-bg-100: var(--wui-all-wallets-bg-100);
246
+
247
+ --wui-avatar-border: var(--wui-avatar-border-base);
248
+
249
+ --wui-thumbnail-border: var(--wui-thumbnail-border-base);
250
+
251
+ --wui-wallet-button-bg: var(--wui-wallet-button-bg-base);
252
+
253
+ --wui-box-shadow-blue: var(--wui-color-accent-glass-020);
254
+ }
255
+
256
+ @supports (background: color-mix(in srgb, white 50%, black)) {
257
+ :root {
258
+ --wui-color-modal-bg: color-mix(
259
+ in srgb,
260
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
261
+ var(--wui-color-modal-bg-base)
262
+ );
263
+
264
+ --wui-box-shadow-blue: color-mix(in srgb, var(--wui-color-accent-100) 20%, transparent);
265
+
266
+ --wui-color-accent-100: color-mix(
267
+ in srgb,
268
+ var(--wui-color-accent-base-100) 100%,
269
+ transparent
270
+ );
271
+ --wui-color-accent-090: color-mix(
272
+ in srgb,
273
+ var(--wui-color-accent-base-100) 90%,
274
+ transparent
275
+ );
276
+ --wui-color-accent-080: color-mix(
277
+ in srgb,
278
+ var(--wui-color-accent-base-100) 80%,
279
+ transparent
280
+ );
281
+ --wui-color-accent-glass-090: color-mix(
282
+ in srgb,
283
+ var(--wui-color-accent-base-100) 90%,
284
+ transparent
285
+ );
286
+ --wui-color-accent-glass-080: color-mix(
287
+ in srgb,
288
+ var(--wui-color-accent-base-100) 80%,
289
+ transparent
290
+ );
291
+ --wui-color-accent-glass-020: color-mix(
292
+ in srgb,
293
+ var(--wui-color-accent-base-100) 20%,
294
+ transparent
295
+ );
296
+ --wui-color-accent-glass-015: color-mix(
297
+ in srgb,
298
+ var(--wui-color-accent-base-100) 15%,
299
+ transparent
300
+ );
301
+ --wui-color-accent-glass-010: color-mix(
302
+ in srgb,
303
+ var(--wui-color-accent-base-100) 10%,
304
+ transparent
305
+ );
306
+ --wui-color-accent-glass-005: color-mix(
307
+ in srgb,
308
+ var(--wui-color-accent-base-100) 5%,
309
+ transparent
310
+ );
311
+ --wui-color-accent-002: color-mix(
312
+ in srgb,
313
+ var(--wui-color-accent-base-100) 2%,
314
+ transparent
315
+ );
316
+
317
+ --wui-color-fg-100: color-mix(
318
+ in srgb,
319
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
320
+ var(--wui-color-fg-100)
321
+ );
322
+ --wui-color-fg-125: color-mix(
323
+ in srgb,
324
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
325
+ var(--wui-color-fg-125)
326
+ );
327
+ --wui-color-fg-150: color-mix(
328
+ in srgb,
329
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
330
+ var(--wui-color-fg-150)
331
+ );
332
+ --wui-color-fg-175: color-mix(
333
+ in srgb,
334
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
335
+ var(--wui-color-fg-175)
336
+ );
337
+ --wui-color-fg-200: color-mix(
338
+ in srgb,
339
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
340
+ var(--wui-color-fg-200)
341
+ );
342
+ --wui-color-fg-225: color-mix(
343
+ in srgb,
344
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
345
+ var(--wui-color-fg-225)
346
+ );
347
+ --wui-color-fg-250: color-mix(
348
+ in srgb,
349
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
350
+ var(--wui-color-fg-250)
351
+ );
352
+ --wui-color-fg-275: color-mix(
353
+ in srgb,
354
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
355
+ var(--wui-color-fg-275)
356
+ );
357
+ --wui-color-fg-300: color-mix(
358
+ in srgb,
359
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
360
+ var(--wui-color-fg-300)
361
+ );
362
+ --wui-color-fg-325: color-mix(
363
+ in srgb,
364
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
365
+ var(--wui-color-fg-325)
366
+ );
367
+ --wui-color-fg-350: color-mix(
368
+ in srgb,
369
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
370
+ var(--wui-color-fg-350)
371
+ );
372
+
373
+ --wui-color-bg-100: color-mix(
374
+ in srgb,
375
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
376
+ var(--wui-color-bg-100)
377
+ );
378
+ --wui-color-bg-125: color-mix(
379
+ in srgb,
380
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
381
+ var(--wui-color-bg-125)
382
+ );
383
+ --wui-color-bg-150: color-mix(
384
+ in srgb,
385
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
386
+ var(--wui-color-bg-150)
387
+ );
388
+ --wui-color-bg-175: color-mix(
389
+ in srgb,
390
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
391
+ var(--wui-color-bg-175)
392
+ );
393
+ --wui-color-bg-200: color-mix(
394
+ in srgb,
395
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
396
+ var(--wui-color-bg-200)
397
+ );
398
+ --wui-color-bg-225: color-mix(
399
+ in srgb,
400
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
401
+ var(--wui-color-bg-225)
402
+ );
403
+ --wui-color-bg-250: color-mix(
404
+ in srgb,
405
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
406
+ var(--wui-color-bg-250)
407
+ );
408
+ --wui-color-bg-275: color-mix(
409
+ in srgb,
410
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
411
+ var(--wui-color-bg-275)
412
+ );
413
+ --wui-color-bg-300: color-mix(
414
+ in srgb,
415
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
416
+ var(--wui-color-bg-300)
417
+ );
418
+ --wui-color-bg-325: color-mix(
419
+ in srgb,
420
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
421
+ var(--wui-color-bg-325)
422
+ );
423
+ --wui-color-bg-350: color-mix(
424
+ in srgb,
425
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
426
+ var(--wui-color-bg-350)
427
+ );
428
+
429
+ --wui-color-success-100: color-mix(
430
+ in srgb,
431
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
432
+ var(--wui-color-success-base-100)
433
+ );
434
+ --wui-color-success-125: color-mix(
435
+ in srgb,
436
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
437
+ var(--wui-color-success-base-125)
438
+ );
439
+
440
+ --wui-color-warning-100: color-mix(
441
+ in srgb,
442
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
443
+ var(--wui-color-warning-base-100)
444
+ );
445
+
446
+ --wui-color-error-100: color-mix(
447
+ in srgb,
448
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
449
+ var(--wui-color-error-base-100)
450
+ );
451
+ --wui-color-blue-100: color-mix(
452
+ in srgb,
453
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
454
+ var(--wui-color-blue-base-100)
455
+ );
456
+ --wui-color-blue-90: color-mix(
457
+ in srgb,
458
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
459
+ var(--wui-color-blue-base-90)
460
+ );
461
+ --wui-color-error-125: color-mix(
462
+ in srgb,
463
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
464
+ var(--wui-color-error-base-125)
465
+ );
466
+
467
+ --wui-icon-box-bg-error-100: color-mix(
468
+ in srgb,
469
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
470
+ var(--wui-icon-box-bg-error-base-100)
471
+ );
472
+ --wui-icon-box-bg-accent-100: color-mix(
473
+ in srgb,
474
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
475
+ var(--wui-icon-box-bg-blue-base-100)
476
+ );
477
+ --wui-icon-box-bg-success-100: color-mix(
478
+ in srgb,
479
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
480
+ var(--wui-icon-box-bg-success-base-100)
481
+ );
482
+ --wui-icon-box-bg-inverse-100: color-mix(
483
+ in srgb,
484
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
485
+ var(--wui-icon-box-bg-inverse-base-100)
486
+ );
487
+
488
+ --wui-all-wallets-bg-100: color-mix(
489
+ in srgb,
490
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
491
+ var(--wui-all-wallets-bg-100)
492
+ );
493
+
494
+ --wui-avatar-border: color-mix(
495
+ in srgb,
496
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
497
+ var(--wui-avatar-border-base)
498
+ );
499
+
500
+ --wui-thumbnail-border: color-mix(
501
+ in srgb,
502
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
503
+ var(--wui-thumbnail-border-base)
504
+ );
505
+
506
+ --wui-wallet-button-bg: color-mix(
507
+ in srgb,
508
+ var(--w3m-color-mix) var(--w3m-color-mix-strength),
509
+ var(--wui-wallet-button-bg-base)
510
+ );
511
+ }
512
+ }
513
+ `,light:kr`
514
+ :root {
515
+ --w3m-color-mix: ${Tt(t?.["--w3m-color-mix"]||"#fff")};
516
+ --w3m-accent: ${Tt(Es(t,"dark")["--w3m-accent"])};
517
+ --w3m-default: #fff;
518
+
519
+ --wui-color-modal-bg-base: ${Tt(Es(t,"dark")["--w3m-background"])};
520
+ --wui-color-accent-base-100: var(--w3m-accent);
521
+
522
+ --wui-color-blueberry-100: hsla(230, 100%, 67%, 1);
523
+ --wui-color-blueberry-090: hsla(231, 76%, 61%, 1);
524
+ --wui-color-blueberry-080: hsla(230, 59%, 55%, 1);
525
+ --wui-color-blueberry-050: hsla(231, 100%, 70%, 0.1);
526
+
527
+ --wui-color-fg-100: #e4e7e7;
528
+ --wui-color-fg-125: #d0d5d5;
529
+ --wui-color-fg-150: #a8b1b1;
530
+ --wui-color-fg-175: #a8b0b0;
531
+ --wui-color-fg-200: #949e9e;
532
+ --wui-color-fg-225: #868f8f;
533
+ --wui-color-fg-250: #788080;
534
+ --wui-color-fg-275: #788181;
535
+ --wui-color-fg-300: #6e7777;
536
+ --wui-color-fg-325: #9a9a9a;
537
+ --wui-color-fg-350: #363636;
538
+
539
+ --wui-color-bg-100: #141414;
540
+ --wui-color-bg-125: #191a1a;
541
+ --wui-color-bg-150: #1e1f1f;
542
+ --wui-color-bg-175: #222525;
543
+ --wui-color-bg-200: #272a2a;
544
+ --wui-color-bg-225: #2c3030;
545
+ --wui-color-bg-250: #313535;
546
+ --wui-color-bg-275: #363b3b;
547
+ --wui-color-bg-300: #3b4040;
548
+ --wui-color-bg-325: #252525;
549
+ --wui-color-bg-350: #ffffff;
550
+
551
+ --wui-color-success-base-100: #26d962;
552
+ --wui-color-success-base-125: #30a46b;
553
+
554
+ --wui-color-warning-base-100: #f3a13f;
555
+
556
+ --wui-color-error-base-100: #f25a67;
557
+ --wui-color-error-base-125: #df4a34;
558
+
559
+ --wui-color-blue-base-100: rgba(102, 125, 255, 1);
560
+ --wui-color-blue-base-90: rgba(102, 125, 255, 0.9);
561
+
562
+ --wui-color-success-glass-001: rgba(38, 217, 98, 0.01);
563
+ --wui-color-success-glass-002: rgba(38, 217, 98, 0.02);
564
+ --wui-color-success-glass-005: rgba(38, 217, 98, 0.05);
565
+ --wui-color-success-glass-010: rgba(38, 217, 98, 0.1);
566
+ --wui-color-success-glass-015: rgba(38, 217, 98, 0.15);
567
+ --wui-color-success-glass-020: rgba(38, 217, 98, 0.2);
568
+ --wui-color-success-glass-025: rgba(38, 217, 98, 0.25);
569
+ --wui-color-success-glass-030: rgba(38, 217, 98, 0.3);
570
+ --wui-color-success-glass-060: rgba(38, 217, 98, 0.6);
571
+ --wui-color-success-glass-080: rgba(38, 217, 98, 0.8);
572
+
573
+ --wui-color-success-glass-reown-020: rgba(48, 164, 107, 0.2);
574
+
575
+ --wui-color-warning-glass-reown-020: rgba(243, 161, 63, 0.2);
576
+
577
+ --wui-color-error-glass-001: rgba(242, 90, 103, 0.01);
578
+ --wui-color-error-glass-002: rgba(242, 90, 103, 0.02);
579
+ --wui-color-error-glass-005: rgba(242, 90, 103, 0.05);
580
+ --wui-color-error-glass-010: rgba(242, 90, 103, 0.1);
581
+ --wui-color-error-glass-015: rgba(242, 90, 103, 0.15);
582
+ --wui-color-error-glass-020: rgba(242, 90, 103, 0.2);
583
+ --wui-color-error-glass-025: rgba(242, 90, 103, 0.25);
584
+ --wui-color-error-glass-030: rgba(242, 90, 103, 0.3);
585
+ --wui-color-error-glass-060: rgba(242, 90, 103, 0.6);
586
+ --wui-color-error-glass-080: rgba(242, 90, 103, 0.8);
587
+
588
+ --wui-color-error-glass-reown-020: rgba(223, 74, 52, 0.2);
589
+
590
+ --wui-color-gray-glass-001: rgba(255, 255, 255, 0.01);
591
+ --wui-color-gray-glass-002: rgba(255, 255, 255, 0.02);
592
+ --wui-color-gray-glass-005: rgba(255, 255, 255, 0.05);
593
+ --wui-color-gray-glass-010: rgba(255, 255, 255, 0.1);
594
+ --wui-color-gray-glass-015: rgba(255, 255, 255, 0.15);
595
+ --wui-color-gray-glass-020: rgba(255, 255, 255, 0.2);
596
+ --wui-color-gray-glass-025: rgba(255, 255, 255, 0.25);
597
+ --wui-color-gray-glass-030: rgba(255, 255, 255, 0.3);
598
+ --wui-color-gray-glass-060: rgba(255, 255, 255, 0.6);
599
+ --wui-color-gray-glass-080: rgba(255, 255, 255, 0.8);
600
+ --wui-color-gray-glass-090: rgba(255, 255, 255, 0.9);
601
+
602
+ --wui-color-dark-glass-100: rgba(42, 42, 42, 1);
603
+
604
+ --wui-icon-box-bg-error-base-100: #3c2426;
605
+ --wui-icon-box-bg-blue-base-100: #20303f;
606
+ --wui-icon-box-bg-success-base-100: #1f3a28;
607
+ --wui-icon-box-bg-inverse-base-100: #243240;
608
+
609
+ --wui-all-wallets-bg-100: #222b35;
610
+
611
+ --wui-avatar-border-base: #252525;
612
+
613
+ --wui-thumbnail-border-base: #252525;
614
+
615
+ --wui-wallet-button-bg-base: var(--wui-color-bg-125);
616
+
617
+ --w3m-card-embedded-shadow-color: rgb(17 17 18 / 25%);
618
+ }
619
+ `,dark:kr`
620
+ :root {
621
+ --w3m-color-mix: ${Tt(t?.["--w3m-color-mix"]||"#000")};
622
+ --w3m-accent: ${Tt(Es(t,"light")["--w3m-accent"])};
623
+ --w3m-default: #000;
624
+
625
+ --wui-color-modal-bg-base: ${Tt(Es(t,"light")["--w3m-background"])};
626
+ --wui-color-accent-base-100: var(--w3m-accent);
627
+
628
+ --wui-color-blueberry-100: hsla(231, 100%, 70%, 1);
629
+ --wui-color-blueberry-090: hsla(231, 97%, 72%, 1);
630
+ --wui-color-blueberry-080: hsla(231, 92%, 74%, 1);
631
+
632
+ --wui-color-fg-100: #141414;
633
+ --wui-color-fg-125: #2d3131;
634
+ --wui-color-fg-150: #474d4d;
635
+ --wui-color-fg-175: #636d6d;
636
+ --wui-color-fg-200: #798686;
637
+ --wui-color-fg-225: #828f8f;
638
+ --wui-color-fg-250: #8b9797;
639
+ --wui-color-fg-275: #95a0a0;
640
+ --wui-color-fg-300: #9ea9a9;
641
+ --wui-color-fg-325: #9a9a9a;
642
+ --wui-color-fg-350: #d0d0d0;
643
+
644
+ --wui-color-bg-100: #ffffff;
645
+ --wui-color-bg-125: #f5fafa;
646
+ --wui-color-bg-150: #f3f8f8;
647
+ --wui-color-bg-175: #eef4f4;
648
+ --wui-color-bg-200: #eaf1f1;
649
+ --wui-color-bg-225: #e5eded;
650
+ --wui-color-bg-250: #e1e9e9;
651
+ --wui-color-bg-275: #dce7e7;
652
+ --wui-color-bg-300: #d8e3e3;
653
+ --wui-color-bg-325: #f3f3f3;
654
+ --wui-color-bg-350: #202020;
655
+
656
+ --wui-color-success-base-100: #26b562;
657
+ --wui-color-success-base-125: #30a46b;
658
+
659
+ --wui-color-warning-base-100: #f3a13f;
660
+
661
+ --wui-color-error-base-100: #f05142;
662
+ --wui-color-error-base-125: #df4a34;
663
+
664
+ --wui-color-blue-base-100: rgba(102, 125, 255, 1);
665
+ --wui-color-blue-base-90: rgba(102, 125, 255, 0.9);
666
+
667
+ --wui-color-success-glass-001: rgba(38, 181, 98, 0.01);
668
+ --wui-color-success-glass-002: rgba(38, 181, 98, 0.02);
669
+ --wui-color-success-glass-005: rgba(38, 181, 98, 0.05);
670
+ --wui-color-success-glass-010: rgba(38, 181, 98, 0.1);
671
+ --wui-color-success-glass-015: rgba(38, 181, 98, 0.15);
672
+ --wui-color-success-glass-020: rgba(38, 181, 98, 0.2);
673
+ --wui-color-success-glass-025: rgba(38, 181, 98, 0.25);
674
+ --wui-color-success-glass-030: rgba(38, 181, 98, 0.3);
675
+ --wui-color-success-glass-060: rgba(38, 181, 98, 0.6);
676
+ --wui-color-success-glass-080: rgba(38, 181, 98, 0.8);
677
+
678
+ --wui-color-success-glass-reown-020: rgba(48, 164, 107, 0.2);
679
+
680
+ --wui-color-warning-glass-reown-020: rgba(243, 161, 63, 0.2);
681
+
682
+ --wui-color-error-glass-001: rgba(240, 81, 66, 0.01);
683
+ --wui-color-error-glass-002: rgba(240, 81, 66, 0.02);
684
+ --wui-color-error-glass-005: rgba(240, 81, 66, 0.05);
685
+ --wui-color-error-glass-010: rgba(240, 81, 66, 0.1);
686
+ --wui-color-error-glass-015: rgba(240, 81, 66, 0.15);
687
+ --wui-color-error-glass-020: rgba(240, 81, 66, 0.2);
688
+ --wui-color-error-glass-025: rgba(240, 81, 66, 0.25);
689
+ --wui-color-error-glass-030: rgba(240, 81, 66, 0.3);
690
+ --wui-color-error-glass-060: rgba(240, 81, 66, 0.6);
691
+ --wui-color-error-glass-080: rgba(240, 81, 66, 0.8);
692
+
693
+ --wui-color-error-glass-reown-020: rgba(223, 74, 52, 0.2);
694
+
695
+ --wui-icon-box-bg-error-base-100: #f4dfdd;
696
+ --wui-icon-box-bg-blue-base-100: #d9ecfb;
697
+ --wui-icon-box-bg-success-base-100: #daf0e4;
698
+ --wui-icon-box-bg-inverse-base-100: #dcecfc;
699
+
700
+ --wui-all-wallets-bg-100: #e8f1fa;
701
+
702
+ --wui-avatar-border-base: #f3f4f4;
703
+
704
+ --wui-thumbnail-border-base: #eaefef;
705
+
706
+ --wui-wallet-button-bg-base: var(--wui-color-bg-125);
707
+
708
+ --wui-color-gray-glass-001: rgba(0, 0, 0, 0.01);
709
+ --wui-color-gray-glass-002: rgba(0, 0, 0, 0.02);
710
+ --wui-color-gray-glass-005: rgba(0, 0, 0, 0.05);
711
+ --wui-color-gray-glass-010: rgba(0, 0, 0, 0.1);
712
+ --wui-color-gray-glass-015: rgba(0, 0, 0, 0.15);
713
+ --wui-color-gray-glass-020: rgba(0, 0, 0, 0.2);
714
+ --wui-color-gray-glass-025: rgba(0, 0, 0, 0.25);
715
+ --wui-color-gray-glass-030: rgba(0, 0, 0, 0.3);
716
+ --wui-color-gray-glass-060: rgba(0, 0, 0, 0.6);
717
+ --wui-color-gray-glass-080: rgba(0, 0, 0, 0.8);
718
+ --wui-color-gray-glass-090: rgba(0, 0, 0, 0.9);
719
+
720
+ --wui-color-dark-glass-100: rgba(233, 233, 233, 1);
721
+
722
+ --w3m-card-embedded-shadow-color: rgb(224 225 233 / 25%);
723
+ }
724
+ `}}const J1=kr`
725
+ *,
726
+ *::after,
727
+ *::before,
728
+ :host {
729
+ margin: 0;
730
+ padding: 0;
731
+ box-sizing: border-box;
732
+ font-style: normal;
733
+ text-rendering: optimizeSpeed;
734
+ -webkit-font-smoothing: antialiased;
735
+ -moz-osx-font-smoothing: grayscale;
736
+ -webkit-tap-highlight-color: transparent;
737
+ font-family: var(--wui-font-family);
738
+ backface-visibility: hidden;
739
+ }
740
+ `,Y1=kr`
741
+ button,
742
+ a {
743
+ cursor: pointer;
744
+ display: flex;
745
+ justify-content: center;
746
+ align-items: center;
747
+ position: relative;
748
+ transition:
749
+ color var(--wui-duration-lg) var(--wui-ease-out-power-1),
750
+ background-color var(--wui-duration-lg) var(--wui-ease-out-power-1),
751
+ border var(--wui-duration-lg) var(--wui-ease-out-power-1),
752
+ border-radius var(--wui-duration-lg) var(--wui-ease-out-power-1),
753
+ box-shadow var(--wui-duration-lg) var(--wui-ease-out-power-1);
754
+ will-change: background-color, color, border, box-shadow, border-radius;
755
+ outline: none;
756
+ border: none;
757
+ column-gap: var(--wui-spacing-3xs);
758
+ background-color: transparent;
759
+ text-decoration: none;
760
+ }
761
+
762
+ wui-flex {
763
+ transition: border-radius var(--wui-duration-lg) var(--wui-ease-out-power-1);
764
+ will-change: border-radius;
765
+ }
766
+
767
+ button:disabled > wui-wallet-image,
768
+ button:disabled > wui-all-wallets-image,
769
+ button:disabled > wui-network-image,
770
+ button:disabled > wui-image,
771
+ button:disabled > wui-transaction-visual,
772
+ button:disabled > wui-logo {
773
+ filter: grayscale(1);
774
+ }
775
+
776
+ @media (hover: hover) and (pointer: fine) {
777
+ button:hover:enabled {
778
+ background-color: var(--wui-color-gray-glass-005);
779
+ }
780
+
781
+ button:active:enabled {
782
+ background-color: var(--wui-color-gray-glass-010);
783
+ }
784
+ }
785
+
786
+ button:disabled > wui-icon-box {
787
+ opacity: 0.5;
788
+ }
789
+
790
+ input {
791
+ border: none;
792
+ outline: none;
793
+ appearance: none;
794
+ }
795
+ `,X1=kr`
796
+ .wui-color-inherit {
797
+ color: var(--wui-color-inherit);
798
+ }
799
+
800
+ .wui-color-accent-100 {
801
+ color: var(--wui-color-accent-100);
802
+ }
803
+
804
+ .wui-color-error-100 {
805
+ color: var(--wui-color-error-100);
806
+ }
807
+
808
+ .wui-color-blue-100 {
809
+ color: var(--wui-color-blue-100);
810
+ }
811
+
812
+ .wui-color-blue-90 {
813
+ color: var(--wui-color-blue-90);
814
+ }
815
+
816
+ .wui-color-error-125 {
817
+ color: var(--wui-color-error-125);
818
+ }
819
+
820
+ .wui-color-success-100 {
821
+ color: var(--wui-color-success-100);
822
+ }
823
+
824
+ .wui-color-success-125 {
825
+ color: var(--wui-color-success-125);
826
+ }
827
+
828
+ .wui-color-inverse-100 {
829
+ color: var(--wui-color-inverse-100);
830
+ }
831
+
832
+ .wui-color-inverse-000 {
833
+ color: var(--wui-color-inverse-000);
834
+ }
835
+
836
+ .wui-color-fg-100 {
837
+ color: var(--wui-color-fg-100);
838
+ }
839
+
840
+ .wui-color-fg-200 {
841
+ color: var(--wui-color-fg-200);
842
+ }
843
+
844
+ .wui-color-fg-300 {
845
+ color: var(--wui-color-fg-300);
846
+ }
847
+
848
+ .wui-color-fg-325 {
849
+ color: var(--wui-color-fg-325);
850
+ }
851
+
852
+ .wui-color-fg-350 {
853
+ color: var(--wui-color-fg-350);
854
+ }
855
+
856
+ .wui-bg-color-inherit {
857
+ background-color: var(--wui-color-inherit);
858
+ }
859
+
860
+ .wui-bg-color-blue-100 {
861
+ background-color: var(--wui-color-accent-100);
862
+ }
863
+
864
+ .wui-bg-color-error-100 {
865
+ background-color: var(--wui-color-error-100);
866
+ }
867
+
868
+ .wui-bg-color-error-125 {
869
+ background-color: var(--wui-color-error-125);
870
+ }
871
+
872
+ .wui-bg-color-success-100 {
873
+ background-color: var(--wui-color-success-100);
874
+ }
875
+
876
+ .wui-bg-color-success-125 {
877
+ background-color: var(--wui-color-success-100);
878
+ }
879
+
880
+ .wui-bg-color-inverse-100 {
881
+ background-color: var(--wui-color-inverse-100);
882
+ }
883
+
884
+ .wui-bg-color-inverse-000 {
885
+ background-color: var(--wui-color-inverse-000);
886
+ }
887
+
888
+ .wui-bg-color-fg-100 {
889
+ background-color: var(--wui-color-fg-100);
890
+ }
891
+
892
+ .wui-bg-color-fg-200 {
893
+ background-color: var(--wui-color-fg-200);
894
+ }
895
+
896
+ .wui-bg-color-fg-300 {
897
+ background-color: var(--wui-color-fg-300);
898
+ }
899
+
900
+ .wui-color-fg-325 {
901
+ background-color: var(--wui-color-fg-325);
902
+ }
903
+
904
+ .wui-color-fg-350 {
905
+ background-color: var(--wui-color-fg-350);
906
+ }
907
+ `,ui={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 qi(t){return{formatters:void 0,fees:void 0,serializers:void 0,...t}}const jl=qi({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"}),ql=qi({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"});qi({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"});qi({id:"000000000019d6689c085ae165831e93",caipNetworkId:"bip122:000000000019d6689c085ae165831e93",chainNamespace:"bip122",name:"Bitcoin",nativeCurrency:{name:"Bitcoin",symbol:"BTC",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}});qi({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 u1={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"]},mn={getMethodsByChainNamespace(t){return u1[t]||[]},createDefaultNamespace(t){return{methods:this.getMethodsByChainNamespace(t),events:["accountsChanged","chainChanged"],chains:[],rpcMap:{}}},applyNamespaceOverrides(t,e){if(!e)return{...t};const s={...t},r=new Set;if(e.methods&&Object.keys(e.methods).forEach(i=>r.add(i)),e.chains&&Object.keys(e.chains).forEach(i=>r.add(i)),e.events&&Object.keys(e.events).forEach(i=>r.add(i)),e.rpcMap&&Object.keys(e.rpcMap).forEach(i=>{const[n]=i.split(":");n&&r.add(n)}),r.forEach(i=>{s[i]||(s[i]=this.createDefaultNamespace(i))}),e.methods&&Object.entries(e.methods).forEach(([i,n])=>{s[i]&&(s[i].methods=n)}),e.chains&&Object.entries(e.chains).forEach(([i,n])=>{s[i]&&(s[i].chains=n)}),e.events&&Object.entries(e.events).forEach(([i,n])=>{s[i]&&(s[i].events=n)}),e.rpcMap){const i=new Set;Object.entries(e.rpcMap).forEach(([n,o])=>{const[a,c]=n.split(":");!a||!c||!s[a]||(s[a].rpcMap||(s[a].rpcMap={}),i.has(a)||(s[a].rpcMap={},i.add(a)),s[a].rpcMap[c]=o)})}return s},createNamespaces(t,e){const s=t.reduce((r,i)=>{const{id:n,chainNamespace:o,rpcUrls:a}=i,c=a.default.http[0];r[o]||(r[o]=this.createDefaultNamespace(o));const l=`${o}:${n}`,u=r[o];switch(u.chains.push(l),l){case jl.caipNetworkId:u.chains.push(jl.deprecatedCaipNetworkId);break;case ql.caipNetworkId:u.chains.push(ql.deprecatedCaipNetworkId);break}return u?.rpcMap&&c&&(u.rpcMap[n]=c),r},{});return this.applyNamespaceOverrides(s,e)},resolveReownName:async t=>{const e=await pi.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 zh{constructor({provider:e,namespace:s}){this.id=j.CONNECTOR_ID.WALLET_CONNECT,this.name=Nn.ConnectorNamesMap[j.CONNECTOR_ID.WALLET_CONNECT],this.type="WALLET_CONNECT",this.imageId=Nn.ConnectorImageIds[j.CONNECTOR_ID.WALLET_CONNECT],this.getCaipNetworks=p.getCaipNetworks.bind(p),this.caipNetworks=this.getCaipNetworks(),this.provider=e,this.chain=s}get chains(){return this.getCaipNetworks()}async connectWalletConnect(){if(!await this.authenticate()){const s=this.getCaipNetworks(),r=P.state.universalProviderConfigOverride,i=mn.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 fi.universalProviderAuthenticate({universalProvider:this.provider,chains:e,methods:h1})}}const h1=["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 d1{constructor(e){this.availableConnectors=[],this.eventListeners=new Map,this.getCaipNetworks=s=>p.getCaipNetworks(s),e&&this.construct(e)}construct(e){this.projectId=e.projectId,this.namespace=e.namespace,this.adapterType=e.adapterType}get connectors(){return this.availableConnectors}get networks(){return this.getCaipNetworks(this.namespace)}setAuthProvider(e){this.addConnector({id:j.CONNECTOR_ID.AUTH,type:"AUTH",name:j.CONNECTOR_NAMES.AUTH,provider:e,imageId:Nn.ConnectorImageIds[j.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){H.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=H.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 zh);if(!e)throw new Error("WalletConnectConnector not found");return e}}const{toHex:Fl}=await Pn("viem");class p1 extends d1{setUniversalProvider(e){this.addConnector(new zh({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=>X.createAccount(e,i,e==="bip122"?"payment":"eoa"))})}async syncConnectors(){return Promise.resolve()}async getBalance(e){if(!(e.caipNetwork&&Ce.BALANCE_SUPPORTED_CHAINS.includes(e.caipNetwork?.chainNamespace))||e.caipNetwork?.testnet)return{balance:"0.00",symbol:e.caipNetwork?.nativeCurrency.symbol||""};if(H.state.balanceLoading&&e.chainId===p.state.activeCaipNetwork?.id)return{balance:H.state.balance||"0.00",symbol:H.state.balanceSymbol||""};const i=(await H.fetchTokenBalance()).find(n=>n.chainId===`${e.caipNetwork?.chainNamespace}:${e.chainId}`&&n.symbol===e.caipNetwork?.nativeCurrency.symbol);return{balance:i?.quantity.numeric||"0.00",symbol:i?.symbol||e.caipNetwork?.nativeCurrency.symbol||""}}async signMessage(e){const{provider:s,message:r,address:i}=e;if(!s)throw new Error("UniversalAdapter:signMessage - provider is undefined");let n="";return p.state.activeCaipNetwork?.chainNamespace===j.CHAIN.SOLANA?n=(await s.request({method:"solana_signMessage",params:{message:wu.encode(new TextEncoder().encode(r)),pubkey:i}},p.state.activeCaipNetwork?.caipNetworkId)).signature:n=await s.request({method:"personal_sign",params:[r,i]},p.state.activeCaipNetwork?.caipNetworkId),{signature:n}}async estimateGas(){return Promise.resolve({gas:BigInt(0)})}async sendTransaction(){return Promise.resolve({hash:""})}walletGetAssets(e){return Promise.resolve({})}async writeContract(){return Promise.resolve({hash:""})}parseUnits(){return 0n}formatUnits(){return"0"}async getCapabilities(){return Promise.resolve({})}async grantPermissions(){return Promise.resolve({})}async revokePermissions(){return Promise.resolve("0x")}async syncConnection(){return Promise.resolve({id:"WALLET_CONNECT",type:"WALLET_CONNECT",chainId:1,provider:this.provider,address:""})}async switchNetwork(e){const{caipNetwork:s}=e,r=this.getWalletConnectConnector();if(s.chainNamespace===j.CHAIN.EVM)try{await r.provider?.request({method:"wallet_switchEthereumChain",params:[{chainId:Fl(s.id)}]})}catch(i){if(i.code===ui.ERROR_CODE_UNRECOGNIZED_CHAIN_ID||i.code===ui.ERROR_INVALID_CHAIN_ID||i.code===ui.ERROR_CODE_DEFAULT||i?.data?.originalError?.code===ui.ERROR_CODE_UNRECOGNIZED_CHAIN_ID)try{await r.provider?.request({method:"wallet_addEthereumChain",params:[{chainId:Fl(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 f1=["email","socials","swaps","onramp","activity","reownBranding"],rn={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?Ce.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?Ce.DEFAULT_REMOTE_FEATURES.socials:typeof t=="boolean"?t?Ce.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?Ce.DEFAULT_REMOTE_FEATURES.swaps:typeof t=="boolean"?t?Ce.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?Ce.DEFAULT_REMOTE_FEATURES.onramp:typeof t=="boolean"?t?Ce.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?Ce.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?Ce.DEFAULT_REMOTE_FEATURES.reownBranding:!!t}},g1={localSettingsOverridden:new Set,getApiConfig(t,e){return e?.find(s=>s.id===t)},addWarning(t,e){if(t!==void 0){const s=rn[e],r=s.isLegacy?`"features.${s.localFeatureName}" (now "${e}")`:`"features.${e}"`;this.localSettingsOverridden.add(r)}},processFeature(t,e,s,r,i){const n=rn[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 rn[t].processApi(e)},processFallbackFeature(t,e){return rn[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?Ce.DEFAULT_REMOTE_FEATURES:Ce.DEFAULT_REMOTE_FEATURES_DISABLED;try{for(const o of f1){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),Ce.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.`;Ms.open({shortMessage:"Local configuration ignored",longMessage:`[Reown Config Notice] ${o}`},"warning")}return n}};class m1{constructor(e){this.chainNamespaces=[],this.remoteFeatures={},this.reportedAlertErrors={},this.getCaipNetwork=(s,r)=>{if(s){const i=p.getNetworkData(s)?.requestedCaipNetworks?.find(a=>a.id===r);if(i)return i;const n=p.getNetworkData(s)?.caipNetwork;return n||p.getRequestedCaipNetworks(s).filter(a=>a.chainNamespace===s)?.[0]}return p.state.activeCaipNetwork||this.defaultCaipNetwork},this.getCaipNetworkId=()=>{const s=this.getCaipNetwork();if(s)return s.id},this.getCaipNetworks=s=>p.getCaipNetworks(s),this.getActiveChainNamespace=()=>p.state.activeChain,this.setRequestedCaipNetworks=(s,r)=>{p.setRequestedCaipNetworks(s,r)},this.getApprovedCaipNetworkIds=()=>p.getAllApprovedCaipNetworkIds(),this.getCaipAddress=s=>p.state.activeChain===s||!s?p.state.activeCaipAddress:p.getAccountProp("caipAddress",s),this.setClientId=s=>{J.setClientId(s)},this.getProvider=s=>Oe.getProvider(s),this.getProviderType=s=>Oe.getProviderId(s),this.getPreferredAccountType=s=>H.state.preferredAccountTypes?.[s],this.setCaipAddress=(s,r)=>{H.setCaipAddress(s,r),s&&P.state.enableEmbedded&&this.close()},this.setBalance=(s,r,i)=>{H.setBalance(s,r,i)},this.setProfileName=(s,r)=>{H.setProfileName(s,r)},this.setProfileImage=(s,r)=>{H.setProfileImage(s,r)},this.setUser=(s,r)=>{H.setUser(s,r)},this.resetAccount=s=>{H.resetAccount(s)},this.setCaipNetwork=s=>{p.setActiveCaipNetwork(s)},this.setCaipNetworkOfNamespace=(s,r)=>{p.setChainNetworkData(r,{caipNetwork:s})},this.setAllAccounts=(s,r)=>{H.setAllAccounts(s,r),P.setHasMultipleAddresses(s?.length>1)},this.setStatus=(s,r)=>{H.setStatus(s,r),q.isConnected()?W.setConnectionStatus("connected"):W.setConnectionStatus("disconnected")},this.getAddressByChainNamespace=s=>p.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=>pi.getNamesForAddress(s),this.getConnectors=()=>q.getConnectors(),this.getConnectorImage=s=>Xl.getConnectorImage(s),this.setConnectedWalletInfo=(s,r)=>{const i=Oe.getProviderId(r),n=s?{...s,type:i}:void 0;H.setConnectedWalletInfo(n,r)},this.getIsConnectedState=()=>!!p.state.activeCaipAddress,this.addAddressLabel=(s,r,i)=>{H.addAddressLabel(s,r,i)},this.removeAddressLabel=(s,r)=>{H.removeAddressLabel(s,r)},this.getAddress=s=>p.state.activeChain===s||!s?H.state.address:p.getAccountProp("address",s),this.setApprovedCaipNetworksData=s=>p.setApprovedCaipNetworksData(s),this.resetNetwork=s=>{p.resetNetwork(s)},this.addConnector=s=>{q.addConnector(s)},this.resetWcConnection=()=>{Y.resetWcConnection()},this.setAddressExplorerUrl=(s,r)=>{H.setAddressExplorerUrl(s,r)},this.setSmartAccountDeployed=(s,r)=>{H.setSmartAccountDeployed(s,r)},this.setSmartAccountEnabledNetworks=(s,r)=>{p.setSmartAccountEnabledNetworks(s,r)},this.setPreferredAccountType=(s,r)=>{H.setPreferredAccountType(s,r)},this.setEIP6963Enabled=s=>{P.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 g1.fetchRemoteFeatures(e),P.setRemoteFeatures(this.remoteFeatures),this.remoteFeatures.onramp&&_o.setOnrampProviders(this.remoteFeatures.onramp),(P.state.remoteFeatures?.email||Array.isArray(P.state.remoteFeatures?.socials)&&P.state.remoteFeatures?.socials.length>0)&&await this.checkAllowedOrigins()}async checkAllowedOrigins(){const e=await V.fetchAllowedOrigins();if(e&&X.isClient()){const s=window.location.origin;mn.isOriginAllowed(s,e,ui.DEFAULT_ALLOWED_ANCESTORS)||Ms.open(vr.ALERT_ERRORS.INVALID_APP_CONFIGURATION,"error")}else Ms.open(vr.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error")}sendInitializeEvent(e){const{...s}=e;delete s.adapters,delete s.universalProvider,Te.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&&bt.setThemeMode(e.themeMode),e.themeVariables&&bt.setThemeVariables(e.themeVariables)}initializeChainController(e){if(!this.connectionControllerClient||!this.networkControllerClient)throw new Error("ConnectionControllerClient and NetworkControllerClient must be set");p.initialize(e.adapters??[],this.caipNetworks,{connectionControllerClient:this.connectionControllerClient,networkControllerClient:this.networkControllerClient});const s=this.getDefaultNetwork();s&&p.setActiveCaipNetwork(s)}initializeConnectionController(e){Y.setWcBasic(e.basic??!1)}initializeConnectorController(){q.initialize(this.chainNamespaces)}initializeProjectSettings(e){P.setProjectId(e.projectId),P.setSdkVersion(e.sdkVersion)}initializeOptionsController(e){P.setDebug(e.debug!==!1),P.setEnableWalletConnect(e.enableWalletConnect!==!1),P.setEnableWalletGuide(e.enableWalletGuide!==!1),P.setEnableWallets(e.enableWallets!==!1),P.setEIP6963Enabled(e.enableEIP6963!==!1),P.setEnableNetworkSwitch(e.enableNetworkSwitch!==!1),P.setEnableAuthLogger(e.enableAuthLogger!==!1),P.setCustomRpcUrls(e.customRpcUrls),P.setEnableEmbedded(e.enableEmbedded),P.setAllWallets(e.allWallets),P.setIncludeWalletIds(e.includeWalletIds),P.setExcludeWalletIds(e.excludeWalletIds),P.setFeaturedWalletIds(e.featuredWalletIds),P.setTokens(e.tokens),P.setTermsConditionsUrl(e.termsConditionsUrl),P.setPrivacyPolicyUrl(e.privacyPolicyUrl),P.setCustomWallets(e.customWallets),P.setFeatures(e.features),P.setAllowUnsupportedChain(e.allowUnsupportedChain),P.setUniversalProviderConfigOverride(e.universalProviderConfigOverride),P.setPreferUniversalLinks(e.experimental_preferUniversalLinks),P.setDefaultAccountTypes(e.defaultAccountTypes);const s=W.getPreferredAccountTypes()||{},r={...P.state.defaultAccountTypes,...s};H.setPreferredAccountTypes(r);const i=this.getDefaultMetaData();if(!e.metadata&&i&&(e.metadata=i),P.setMetadata(e.metadata),P.setDisableAppend(e.disableAppend),P.setEnableEmbedded(e.enableEmbedded),P.setSIWX(e.siwx),!e.projectId){Ms.open(vr.ALERT_ERRORS.PROJECT_ID_NOT_CONFIGURED,"error");return}if(e.adapters?.find(o=>o.namespace===j.CHAIN.EVM)&&e.siweConfig){if(e.siwx)throw new Error("Cannot set both `siweConfig` and `siwx` options");P.setSIWX(e.siweConfig.mapToSIWX())}}getDefaultMetaData(){return X.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=Cr.getUnsupportedNetwork(`${s}:${e}`);p.setActiveCaipNetwork(r)}}getDefaultNetwork(){return Cr.getCaipNetworkFromStorage(this.defaultCaipNetwork)}extendCaipNetwork(e,s){return Cr.extendCaipNetwork(e,{customNetworkImageUrls:s.chainImages,projectId:s.projectId})}extendCaipNetworks(e){return Cr.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?Cr.extendCaipNetwork(s,{customNetworkImageUrls:e.chainImages,customRpcUrls:e.customRpcUrls,projectId:e.projectId}):void 0}async disconnectNamespace(e){try{const s=this.getAdapter(e),r=Oe.getProvider(e),i=Oe.getProviderId(e),{caipAddress:n}=p.getAccountData(e)||{};this.setLoading(!0,e),n&&s?.disconnect&&await s.disconnect({provider:r,providerType:i}),W.removeConnectedNamespace(e),Oe.resetChain(e),this.setUser(void 0,e),this.setStatus("disconnected",e),this.setConnectedWalletInfo(void 0,e),q.removeConnectorId(e),p.resetAccount(e),p.resetNetwork(e),this.setLoading(!1,e)}catch(s){throw this.setLoading(!1,e),new Error(`Failed to disconnect chain ${e}: ${s.message}`)}}createClients(){this.connectionControllerClient={connectWalletConnect:async()=>{const e=p.state.activeChain,s=this.getAdapter(e),r=this.getCaipNetwork(e)?.id;if(!s)throw new Error("Adapter not found");const i=await s.connectWalletConnect(r);this.close(),this.setClientId(i?.clientId||null),W.setConnectedNamespaces([...p.state.chains.keys()]),this.chainNamespaces.forEach(n=>{q.setConnectorId(Be.CONNECTOR_TYPE_WALLET_CONNECT,n)}),await this.syncWalletConnectAccount()},connectExternal:async({id:e,info:s,type:r,provider:i,chain:n,caipNetwork:o,socialUri:a})=>{const c=p.state.activeChain,l=n||c,u=this.getAdapter(l);if(n&&n!==c&&!o){const w=this.getCaipNetworks().find(g=>g.chainNamespace===n);w&&this.setCaipNetwork(w)}if(!u)throw new Error("Adapter not found");const h=this.getCaipNetwork(l),d=await u.connect({id:e,info:s,type:r,provider:i,socialUri:a,chainId:o?.id||h?.id,rpcUrl:o?.rpcUrls?.default?.http?.[0]||h?.rpcUrls?.default?.http?.[0]});if(!d)return;W.addConnectedNamespace(l),this.syncProvider({...d,chainNamespace:l});const f=H.state.allAccounts,{accounts:m}=f?.length>0?{accounts:[...f]}:await u.getAccounts({namespace:l,id:e});this.setAllAccounts(m,l),this.setStatus("connected",l),this.syncConnectedWalletInfo(l)},reconnectExternal:async({id:e,info:s,type:r,provider:i})=>{const n=p.state.activeChain,o=this.getAdapter(n);o?.reconnect&&(await o?.reconnect({id:e,info:s,type:r,provider:i,chainId:this.getCaipNetwork()?.id}),W.addConnectedNamespace(n),this.syncConnectedWalletInfo(n))},disconnect:async e=>{const s=LC(e);try{const r=await Promise.allSettled(s.map(async([n])=>this.disconnectNamespace(n)));he.resetSend(),Y.resetWcConnection(),await fi.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(", "));W.deleteConnectedSocialProvider(),Te.sendEvent({type:"track",event:"DISCONNECT_SUCCESS",properties:{namespace:e||"all"}})}catch(r){throw new Error(`Failed to disconnect chains: ${r.message}`)}},checkInstalled:e=>e?e.some(s=>!!window.ethereum?.[String(s)]):!!window.ethereum,signMessage:async e=>(await this.getAdapter(p.state.activeChain)?.signMessage({message:e,address:H.state.address,provider:Oe.getProvider(p.state.activeChain)}))?.signature||"",sendTransaction:async e=>{const s=e.chainNamespace;if(Ce.SEND_SUPPORTED_NAMESPACES.includes(s)){const r=this.getAdapter(p.state.activeChain),i=Oe.getProvider(s);return(await r?.sendTransaction({...e,caipNetwork:this.getCaipNetwork(),provider:i}))?.hash||""}return""},estimateGas:async e=>{if(e.chainNamespace===j.CHAIN.EVM){const s=this.getAdapter(p.state.activeChain),r=Oe.getProvider(p.state.activeChain),i=this.getCaipNetwork();if(!i)throw new Error("CaipNetwork is undefined");return(await s?.estimateGas({...e,provider:r,caipNetwork:i}))?.gas||0n}return 0n},getEnsAvatar:async()=>(await this.syncIdentity({address:H.state.address,chainId:Number(this.getCaipNetwork()?.id),chainNamespace:p.state.activeChain}),H.state.profileImage||!1),getEnsAddress:async e=>await mn.resolveReownName(e),writeContract:async e=>{const s=this.getAdapter(p.state.activeChain),r=this.getCaipNetwork(),i=this.getCaipAddress(),n=Oe.getProvider(p.state.activeChain);if(!r||!i)throw new Error("CaipNetwork or CaipAddress is undefined");return(await s?.writeContract({...e,caipNetwork:r,provider:n,caipAddress:i}))?.hash},parseUnits:(e,s)=>this.getAdapter(p.state.activeChain)?.parseUnits({value:e,decimals:s})??0n,formatUnits:(e,s)=>this.getAdapter(p.state.activeChain)?.formatUnits({value:e,decimals:s})??"0",getCapabilities:async e=>await this.getAdapter(p.state.activeChain)?.getCapabilities(e),grantPermissions:async e=>await this.getAdapter(p.state.activeChain)?.grantPermissions(e),revokePermissions:async e=>{const s=this.getAdapter(p.state.activeChain);return s?.revokePermissions?await s.revokePermissions(e):"0x"},walletGetAssets:async e=>await this.getAdapter(p.state.activeChain)?.walletGetAssets(e)??{},updateBalance:e=>{const s=this.getCaipNetwork(e);!s||!H.state.address||this.updateNativeBalance(H.state.address,s?.id,e)}},this.networkControllerClient={switchCaipNetwork:async e=>await this.switchCaipNetwork(e),getApprovedCaipNetworksData:async()=>this.getApprovedCaipNetworksData()},Y.setClient(this.connectionControllerClient)}getApprovedCaipNetworksData(){if(Oe.getProviderId(p.state.activeChain)===Be.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=Oe.getProvider(s),n=Oe.getProviderId(s);if(e.chainNamespace===p.state.activeChain)await this.getAdapter(s)?.switchNetwork({caipNetwork:e,provider:i,providerType:n});else if(this.setCaipNetwork(e),n===Be.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}=ds.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 p1({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=W.getConnectionStatus();r==="connected"?this.setStatus("connecting",e):r==="disconnected"?(W.clearAddressCache(),this.setStatus(r,e)):this.setStatus(r,e),s.on("switchNetwork",({address:i,chainId:n})=>{const o=this.getCaipNetworks().find(l=>l.id===n||l.caipNetworkId===n),a=p.state.activeChain===e,c=p.getAccountProp("address",e);if(o){const l=a&&i?i:c;l&&this.syncAccount({address:l,chainId:o.id,chainNamespace:e})}else this.setUnsupportedNetwork(n)}),s.on("disconnect",this.disconnect.bind(this,e)),s.on("connections",i=>{this.setConnections(i,e)}),s.on("pendingTransactions",()=>{const i=H.state.address,n=p.state.activeCaipNetwork;!i||!n?.id||this.updateNativeBalance(i,n.id,n.chainNamespace)}),s.on("accountChanged",({address:i,chainId:n})=>{const o=p.state.activeChain===e;o&&n?this.syncAccount({address:i,chainId:n,chainNamespace:e}):o&&p.state.activeCaipNetwork?.id?this.syncAccount({address:i,chainId:p.state.activeCaipNetwork?.id,chainNamespace:e}):this.syncAccountInfo(i,n,e),this.syncAllAccounts(e)})}async createUniversalProviderForAdapter(e){await this.getUniversalProvider(),this.universalProvider&&this.chainAdapters?.[e]?.setUniversalProvider?.(this.universalProvider)}async syncExistingConnection(){await Promise.allSettled(this.chainNamespaces.map(e=>this.syncNamespaceConnection(e)))}async syncNamespaceConnection(e){try{e===j.CHAIN.EVM&&X.isSafeApp()&&q.setConnectorId(j.CONNECTOR_ID.SAFE,e);const s=q.getConnectorId(e);switch(this.setStatus("connecting",e),s){case j.CONNECTOR_ID.WALLET_CONNECT:await this.syncWalletConnectAccount();break;case j.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([X.createAccount(e,a.address,"eoa")],e),this.syncProvider({...a,chainNamespace:e}),await this.syncAccount({...a,chainNamespace:e}),this.setStatus("connected",e)}else this.setStatus("disconnected",e)}catch{this.setStatus("disconnected",e)}}async syncWalletConnectAccount(){const e=this.chainNamespaces.map(async s=>{const r=this.getAdapter(s),i=this.universalProvider?.session?.namespaces?.[s]?.accounts||[],n=p.state.activeCaipNetwork?.id,o=i.find(a=>{const{chainId:c}=ds.parseCaipAddress(a);return c===n?.toString()})||i[0];if(o){const a=ds.validateCaipAddress(o),{chainId:c,address:l}=ds.parseCaipAddress(a);if(Oe.setProviderId(s,Be.CONNECTOR_TYPE_WALLET_CONNECT),this.caipNetworks&&p.state.activeCaipNetwork&&r?.namespace!==j.CHAIN.EVM){const u=r?.getWalletConnectProvider({caipNetworks:this.getCaipNetworks(),provider:this.universalProvider,activeCaipNetwork:p.state.activeCaipNetwork});Oe.setProvider(s,u)}else Oe.setProvider(s,this.universalProvider);q.setConnectorId(j.CONNECTOR_ID.WALLET_CONNECT,s),W.addConnectedNamespace(s),this.syncWalletConnectAccounts(s),await this.syncAccount({address:l,chainId:c,chainNamespace:s})}else this.setStatus("disconnected",s);this.syncConnectedWalletInfo(s),await p.setApprovedCaipNetworksData(s)});await Promise.all(e)}syncWalletConnectAccounts(e){const s=this.universalProvider?.session?.namespaces?.[e]?.accounts?.map(r=>{const{address:i}=ds.parseCaipAddress(r);return i}).filter((r,i,n)=>n.indexOf(r)===i);s&&this.setAllAccounts(s.map(r=>X.createAccount(e,r,e==="bip122"?"payment":"eoa")),e)}syncProvider({type:e,provider:s,id:r,chainNamespace:i}){Oe.setProviderId(i,e),Oe.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===p.state.activeChain,r=p.getCaipNetworkByNamespace(e.chainNamespace,e.chainId),{address:i,chainId:n,chainNamespace:o}=e,{chainId:a}=W.getActiveNetworkProps(),c=n||a,l=p.state.activeCaipNetwork?.name===j.UNSUPPORTED_NETWORK_NAME,u=p.getNetworkProp("supportsAllNetworks",o);if(this.setStatus("connected",o),!(l&&!u)&&c){let h=this.getCaipNetworks().find(m=>m.id.toString()===c.toString()),d=this.getCaipNetworks().find(m=>m.chainNamespace===o);if(!u&&!h&&!d){const m=this.getApprovedCaipNetworkIds()||[],w=m.find(y=>ds.parseCaipNetworkId(y)?.chainId===c.toString()),g=m.find(y=>ds.parseCaipNetworkId(y)?.chainNamespace===o);h=this.getCaipNetworks().find(y=>y.caipNetworkId===w),d=this.getCaipNetworks().find(y=>y.caipNetworkId===g||"deprecatedCaipNetworkId"in y&&y.deprecatedCaipNetworkId===g)}const f=h||d;f?.chainNamespace===p.state.activeChain?P.state.enableNetworkSwitch&&!P.state.allowUnsupportedChain&&p.state.activeCaipNetwork?.name===j.UNSUPPORTED_NETWORK_NAME?p.showUnsupportedChainUI():this.setCaipNetwork(f):s||r&&this.setCaipNetworkOfNamespace(r,o),this.syncConnectedWalletInfo(o),ya.isLowerCaseMatch(i,H.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=Oe.getProviderId(e);if(r===Be.CONNECTOR_TYPE_ANNOUNCED||r===Be.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===Be.CONNECTOR_TYPE_WALLET_CONNECT){const i=Oe.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===j.CONNECTOR_ID.COINBASE){const i=this.getConnectors().find(n=>n.id===j.CONNECTOR_ID.COINBASE);this.setConnectedWalletInfo({name:"Coinbase Wallet",icon:this.getConnectorImage(i)},e)}}async syncBalance(e){!Kl.getNetworksByNamespace(this.getCaipNetworks(),e.chainNamespace).find(r=>r.id.toString()===e.chainId?.toString())||!e.chainId||await this.updateNativeBalance(e.address,e.chainId,e.chainNamespace)}async ready(){await this.readyPromise}async updateNativeBalance(e,s,r){const i=this.getAdapter(r),n=p.getCaipNetworkByNamespace(r,s);if(i){const o=await i.getBalance({address:e,chainId:s,caipNetwork:n,tokens:this.options.tokens});return this.setBalance(o.balance,o.symbol,r),o}}async initializeUniversalAdapter(){const e=jC.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};P.setManualWCControl(!!this.options?.manualWCControl),this.universalProvider=this.options.universalProvider??await DC.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(mn.isSessionEventData(e)){const{name:s,data:r}=e.params.event;s==="accountsChanged"&&Array.isArray(r)&&X.isCaipAddress(r[0])&&this.syncAccount(ds.parseCaipAddress(r[0]))}}))}createUniversalProvider(){return!this.universalProviderInitPromise&&X.isClient()&&this.options?.projectId&&(this.universalProviderInitPromise=this.initializeUniversalAdapter()),this.universalProviderInitPromise}async getUniversalProvider(){if(!this.universalProvider)try{await this.createUniversalProvider()}catch(e){Te.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(vr.UniversalProviderErrors).find(([,{message:a}])=>e.message.includes(a)),[r,i]=s??[],{message:n,alertErrorKey:o}=i??{};if(r&&n&&!this.reportedAlertErrors[r]){const a=vr.ALERT_ERRORS[o];a&&(Ms.open(a,"error"),this.reportedAlertErrors[r]=!0)}}getAdapter(e){if(e)return this.chainAdapters?.[e]}createAdapter(e){if(!e)return;const s=e.namespace;if(!s)return;this.createClients();const r=e;r.namespace=s,r.construct({namespace:s,projectId:this.options?.projectId,networks:this.getCaipNetworks()}),this.chainNamespaces.includes(s)||this.chainNamespaces.push(s),this.chainAdapters&&(this.chainAdapters[s]=r)}async open(e){if(await this.injectModalUi(),e?.uri&&Y.setUri(e.uri),e?.arguments)switch(e?.view){case"Swap":return Ke.open({...e,data:{swap:e.arguments}})}return Ke.open(e)}async close(){await this.injectModalUi(),Ke.close()}setLoading(e,s){Ke.setLoading(e,s)}async disconnect(e){await Y.disconnect(e)}getSIWX(){return P.state.siwx}getError(){return""}getChainId(){return p.state.activeCaipNetwork?.id}async switchNetwork(e){const s=this.getCaipNetworks().find(r=>r.id===e.id);if(!s){Ms.open(vr.ALERT_ERRORS.SWITCH_NETWORK_NOT_FOUND,"error");return}await p.switchActiveNetwork(s)}getWalletProvider(){return p.state.activeChain?Oe.state.providers[p.state.activeChain]:null}getWalletProviderType(){return Oe.getProviderId(p.state.activeChain)}subscribeProviders(e){return Oe.subscribeProviders(e)}getThemeMode(){return bt.state.themeMode}getThemeVariables(){return bt.state.themeVariables}setThemeMode(e){bt.setThemeMode(e),Hh(bt.state.themeMode)}setTermsConditionsUrl(e){P.setTermsConditionsUrl(e)}setPrivacyPolicyUrl(e){P.setPrivacyPolicyUrl(e)}setThemeVariables(e){bt.setThemeVariables(e),l1(bt.state.themeVariables)}subscribeTheme(e){return bt.subscribe(e)}getWalletInfo(){return H.state.connectedWalletInfo}getAccount(e){const s=q.getAuthConnector(e),r=p.getAccountData(e),i=p.state.activeChain,n=W.getConnectedConnectorId(e||i);if(r)return{allAccounts:r.allAccounts,caipAddress:r.caipAddress,address:X.getPlainAddress(r.caipAddress),isConnected:!!r.caipAddress,status:r.status,embeddedWalletInfo:s&&n===j.CONNECTOR_ID.AUTH?{user:r.user?{...r.user,username:W.getConnectedSocialUsername()}:void 0,authProvider:r.socialProvider||"email",accountType:r.preferredAccountTypes?.[e||i],isSmartAccountDeployed:!!r.smartAccountDeployed}:void 0}}subscribeAccount(e,s){const r=()=>{const i=this.getAccount(s);i&&e(i)};s?p.subscribeChainProp("accountState",r,s):p.subscribe(r),q.subscribe(r)}subscribeNetwork(e){return p.subscribe(({activeCaipNetwork:s})=>{e({caipNetwork:s,chainId:s?.id,caipNetworkId:s?.caipNetworkId})})}subscribeWalletInfo(e){return H.subscribeKey("connectedWalletInfo",e)}subscribeShouldUpdateToAddress(e){H.subscribeKey("shouldUpdateToAddress",e)}subscribeCaipNetworkChange(e){p.subscribeKey("activeCaipNetwork",e)}getState(){return Is.state}subscribeState(e){return Is.subscribe(e)}showErrorMessage(e){jt.showError(e)}showSuccessMessage(e){jt.showSuccess(e)}getEvent(){return{...Te.state}}subscribeEvents(e){return Te.subscribe(e)}replace(e){re.replace(e)}redirect(e){re.push(e)}popTransactionStack(e){re.popTransactionStack(e)}isOpen(){return Ke.state.open}isTransactionStackEmpty(){return re.state.transactionStack.length===0}static getInstance(){return this.instance}updateFeatures(e){P.setFeatures(e)}updateRemoteFeatures(e){P.setRemoteFeatures(e)}updateOptions(e){const r={...P.state||{},...e};P.setOptions(r)}setConnectMethodsOrder(e){P.setConnectMethodsOrder(e)}setWalletFeaturesOrder(e){P.setWalletFeaturesOrder(e)}setCollapseWallets(e){P.setCollapseWallets(e)}setSocialsOrder(e){P.setSocialsOrder(e)}getConnectMethodsOrder(){return Qo.getConnectOrderMethod(P.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)||p.addNetwork(r)}removeNetwork(e,s){if(this.chainAdapters&&!this.chainAdapters[e])throw new Error(`Adapter for namespace ${e} doesn't exist`);this.getCaipNetworks().find(i=>i.id===s)&&p.removeNetwork(e,s)}}let Wl=!1;class Vh extends m1{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(!Wl&&X.isClient()){if(await Na(()=>import("./basic-CvR9b359.js"),__vite__mapDeps([0,1,2])),await Na(()=>import("./w3m-modal-BqXXR9rX.js"),__vite__mapDeps([3,1,2])),!document.querySelector("w3m-modal")){const s=document.createElement("w3m-modal");!P.state.disableAppend&&!P.state.enableEmbedded&&document.body.insertAdjacentElement("beforeend",s)}Wl=!0}}}const w1="1.7.8";function y1(t){return new Vh({...t,basic:!0,sdkVersion:`html-core-${w1}`})}const Z1=Object.freeze(Object.defineProperty({__proto__:null,AppKit:Vh,createAppKit:y1},Symbol.toStringTag,{value:"Module"}));export{Ms as A,Y as B,p as C,W as D,Te as E,Ce as F,Z1 as G,Ke as M,P as O,re as R,fi as S,bt as T,Qo as W,_t as a,rt as b,gn as c,V1 as d,Y1 as e,X1 as f,Xl as g,Bt as h,kr as i,FC as j,q as k,H as l,jt as m,V as n,G1 as o,Pe as p,X as q,J1 as r,st as s,j as t,ea as u,Mh as v,K1 as w,Ve as x,Fr as y,pn as z};