@stakekit/widget 0.0.273 → 0.0.274

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 (39) hide show
  1. package/dist/bundle/index.bundle.js +7 -7
  2. package/dist/package/index.package.js +1951 -1746
  3. package/dist/types/domain/types/yields.d.ts +2 -1
  4. package/dist/types/hooks/api/use-dashboard-yield-catalog.d.ts +20 -0
  5. package/dist/types/hooks/api/use-token-list-yields.d.ts +11 -1
  6. package/dist/types/hooks/api/use-yield-summaries.d.ts +50 -0
  7. package/dist/types/pages/details/earn-page/components/select-token-section/select-token-list-item.d.ts +3 -1
  8. package/dist/types/pages/details/earn-page/state/types.d.ts +9 -1
  9. package/dist/website/assets/{basic-Bo7SBwII.js → basic-BVJnMIHl.js} +1 -1
  10. package/dist/website/assets/{basic-ThspdnuL.js → basic-CibIan8y.js} +1 -1
  11. package/dist/website/assets/{browser-DskDvf4V.js → browser--EMMYaan.js} +1 -1
  12. package/dist/website/assets/{build-DN0pJtdR.js → build-BPw0SHWb.js} +1 -1
  13. package/dist/website/assets/{build-BmJ27Vry.js → build-DFEPAT8y.js} +1 -1
  14. package/dist/website/assets/{cardano-connector-B2Ea9uXJ.js → cardano-connector-CbHZBb34.js} +1 -1
  15. package/dist/website/assets/{core-BFFu4TZK.js → core-BSLy_t4A.js} +2 -2
  16. package/dist/website/assets/{dist-BC-yZnz1.js → dist-BRCQU1Li.js} +1 -1
  17. package/dist/website/assets/{dist-DwMZ-Epn.js → dist-DAbkzFAO.js} +1 -1
  18. package/dist/website/assets/en_US-IFPOGBSL-BzV0u3lE.js +1 -0
  19. package/dist/website/assets/{esm-Bvq2M2B2.js → esm-FztE-O2S.js} +1 -1
  20. package/dist/website/assets/{exports-BEqJeoxC.js → exports-DiWzDOxG.js} +1 -1
  21. package/dist/website/assets/index-BIOEiLJw.js +2044 -0
  22. package/dist/website/assets/{index.es-qQnPYJtJ.js → index.es-D3Xa7Qme.js} +2 -2
  23. package/dist/website/assets/{ledger-connector-C520fQQY.js → ledger-connector-6wqonZoy.js} +1 -1
  24. package/dist/website/assets/{receive-Dcx0aHWA.js → receive-BN_rE1dd.js} +1 -1
  25. package/dist/website/assets/{registry-CvkKYDcW.js → registry-DLj0P6dj.js} +1 -1
  26. package/dist/website/assets/{safe-connector-CDGYW3b8.js → safe-connector-NQlNJxmf.js} +1 -1
  27. package/dist/website/assets/{socials-BDwTFvCa.js → socials-C3M2JNCz.js} +1 -1
  28. package/dist/website/assets/{solana-connector-BcHaSaSq.js → solana-connector-hzwYOzto.js} +1 -1
  29. package/dist/website/assets/{substrate-connector-DxYe9s4o.js → substrate-connector-CCxDFYG6.js} +1 -1
  30. package/dist/website/assets/{ton-connector-sD5IEuy2.js → ton-connector-DlVKNF8w.js} +1 -1
  31. package/dist/website/assets/{tron-connector-DgBR_biA.js → tron-connector-C6xS9wMC.js} +3 -3
  32. package/dist/website/assets/tx-CXZ9mGxZ.js +1 -0
  33. package/dist/website/assets/{wallet-manager-4JkYZ_Wn.js → wallet-manager-BxPcB4lR.js} +3 -3
  34. package/dist/website/assets/{wui-qr-code-CadVdoQK.js → wui-qr-code-CNh2d2fT.js} +1 -1
  35. package/dist/website/index.html +1 -1
  36. package/package.json +1 -1
  37. package/dist/website/assets/en_US-IFPOGBSL-DY8aJwVh.js +0 -1
  38. package/dist/website/assets/index-DTVV95ia.js +0 -2044
  39. package/dist/website/assets/tx-Cjn1Xzt5.js +0 -1
@@ -1 +1 @@
1
- import{K as e,S as t,n,t as r}from"./createConnector-BcHSC56W.js";import{y as i}from"./getAbiItem-BJPwnmQn.js";import{t as a}from"./withTimeout-CjYhtdDq.js";import{F as o,it as s,o as c}from"./index-DTVV95ia.js";import{t as l}from"./dist-DbKYrgxE.js";import u,{t as d}from"./esm-Bvq2M2B2.js";var f=l();function p(l={}){let{shimDisconnect:p=!1}=l,m,h;return r(r=>{let l=new n([]),g=new u,_=async()=>{if(t()){if(!m){let e=await a(()=>g.safe.getInfo(),{timeout:10});if(!e)throw Error(`Could not load Safe information`);m=new f.SafeAppProvider(e,g)}return m}};return{id:c.id,name:c.name,type:c.type,async connect(t){let n=await _();if(!n)throw new o;let i=await this.getAccounts(),a=await this.getChainId();return l.next(e.fromNullable(r.chains.find(e=>e.id===a)).map(e=>[e]).orDefault([])),h||(h=this.onDisconnect.bind(this),n.on(`disconnect`,h)),p&&await r.storage?.removeItem(`safe.disconnected`),{accounts:t?.withCapabilities?i.map(e=>({address:e,capabilities:{}})):i,chainId:a}},async disconnect(){let e=await _();if(!e)throw new o;h&&=(e.removeListener(`disconnect`,h),void 0),p&&await r.storage?.setItem(`safe.disconnected`,!0)},async getAccounts(){let e=await _();if(!e)throw new o;return(await e.request({method:`eth_accounts`})).map(i)},async getProvider(){if(t()){if(!m){let e=await a(()=>g.safe.getInfo(),{timeout:10});if(!e)throw Error(`Could not load Safe information`);m=new f.SafeAppProvider(e,g)}return m}},async getChainId(){let e=await _();if(!e)throw new o;return Number(e.chainId)},async isAuthorized(){try{return p&&await r.storage?.getItem(`safe.disconnected`)?!1:!!(await this.getAccounts()).length}catch{return!1}},onAccountsChanged(){},onChainChanged(){},onDisconnect(){r.emitter.emit(`disconnect`)},$filteredChains:l,getTxStatus(e){return s(()=>g.txs.getBySafeTxHash(e)).mapLeft(()=>Error(`Could not get transaction status`))},txStatus:d.TransactionStatus,sendTransactions(e){return s(()=>g.txs.send(e)).mapLeft(()=>Error(`Could not send transactions`))}}})}var m=()=>({groupName:`Safe Wallet`,wallets:[()=>({id:c.id,name:c.name,iconUrl:``,iconBackground:`#fff`,chainGroup:{id:c.id,title:c.name,iconUrl:``},createConnector:()=>p({shimDisconnect:!0})})]});export{m as safeConnector};
1
+ import{K as e,S as t,n,t as r}from"./createConnector-BcHSC56W.js";import{y as i}from"./getAbiItem-BJPwnmQn.js";import{t as a}from"./withTimeout-CjYhtdDq.js";import{F as o,it as s,o as c}from"./index-BIOEiLJw.js";import{t as l}from"./dist-DbKYrgxE.js";import u,{t as d}from"./esm-FztE-O2S.js";var f=l();function p(l={}){let{shimDisconnect:p=!1}=l,m,h;return r(r=>{let l=new n([]),g=new u,_=async()=>{if(t()){if(!m){let e=await a(()=>g.safe.getInfo(),{timeout:10});if(!e)throw Error(`Could not load Safe information`);m=new f.SafeAppProvider(e,g)}return m}};return{id:c.id,name:c.name,type:c.type,async connect(t){let n=await _();if(!n)throw new o;let i=await this.getAccounts(),a=await this.getChainId();return l.next(e.fromNullable(r.chains.find(e=>e.id===a)).map(e=>[e]).orDefault([])),h||(h=this.onDisconnect.bind(this),n.on(`disconnect`,h)),p&&await r.storage?.removeItem(`safe.disconnected`),{accounts:t?.withCapabilities?i.map(e=>({address:e,capabilities:{}})):i,chainId:a}},async disconnect(){let e=await _();if(!e)throw new o;h&&=(e.removeListener(`disconnect`,h),void 0),p&&await r.storage?.setItem(`safe.disconnected`,!0)},async getAccounts(){let e=await _();if(!e)throw new o;return(await e.request({method:`eth_accounts`})).map(i)},async getProvider(){if(t()){if(!m){let e=await a(()=>g.safe.getInfo(),{timeout:10});if(!e)throw Error(`Could not load Safe information`);m=new f.SafeAppProvider(e,g)}return m}},async getChainId(){let e=await _();if(!e)throw new o;return Number(e.chainId)},async isAuthorized(){try{return p&&await r.storage?.getItem(`safe.disconnected`)?!1:!!(await this.getAccounts()).length}catch{return!1}},onAccountsChanged(){},onChainChanged(){},onDisconnect(){r.emitter.emit(`disconnect`)},$filteredChains:l,getTxStatus(e){return s(()=>g.txs.getBySafeTxHash(e)).mapLeft(()=>Error(`Could not get transaction status`))},txStatus:d.TransactionStatus,sendTransactions(e){return s(()=>g.txs.send(e)).mapLeft(()=>Error(`Could not send transactions`))}}})}var m=()=>({groupName:`Safe Wallet`,wallets:[()=>({id:c.id,name:c.name,iconUrl:``,iconBackground:`#fff`,chainGroup:{id:c.id,title:c.name,iconUrl:``},createConnector:()=>p({shimDisconnect:!0})})]});export{m as safeConnector};
@@ -1,4 +1,4 @@
1
- import{t as e}from"./exports-ifnvj7kn.js";import{i as t,l as n,t as r}from"./lit-element-CPGuB_v8.js";import{F as i,N as a,P as o,S as s,_ as c,g as l,h as u,i as d,j as f,l as p,m,s as h,t as g,x as _}from"./AccountController-BHkVezUY.js";import"./lit-CVrrzrGA.js";import{a as v,o as y,s as b}from"./class-map-BhcOy3ep.js";import"./class-map-fHNEycfA.js";import{t as x}from"./w3m-legal-footer-mRPcrcuQ.js";import"./wui-text-srwqZdvu.js";import"./wui-button-wFo2QXAv.js";import"./wui-icon-BbFdniVd.js";import{t as S}from"./ErrorUtil-CC2RiWXL.js";import"./wui-loading-thumbnail-CAnobd9Y.js";import"./wui-link-D46W0upB.js";import{t as C}from"./W3mFrameProvider-BJza4ZWx.js";import"./wui-icon-box-HYYcHgEF.js";import{t as w}from"./ConstantsUtil-R84-vBrP.js";import"./wui-shimmer-B3m5DSa1.js";import{t as T}from"./wui-list-social-CufThWE9.js";import"./wui-qr-code-CadVdoQK.js";var E=n`
1
+ import{t as e}from"./exports-ifnvj7kn.js";import{i as t,l as n,t as r}from"./lit-element-CPGuB_v8.js";import{F as i,N as a,P as o,S as s,_ as c,g as l,h as u,i as d,j as f,l as p,m,s as h,t as g,x as _}from"./AccountController-BHkVezUY.js";import"./lit-CVrrzrGA.js";import{a as v,o as y,s as b}from"./class-map-BhcOy3ep.js";import"./class-map-fHNEycfA.js";import{t as x}from"./w3m-legal-footer-mRPcrcuQ.js";import"./wui-text-srwqZdvu.js";import"./wui-button-wFo2QXAv.js";import"./wui-icon-BbFdniVd.js";import{t as S}from"./ErrorUtil-CC2RiWXL.js";import"./wui-loading-thumbnail-CAnobd9Y.js";import"./wui-link-D46W0upB.js";import{t as C}from"./W3mFrameProvider-BJza4ZWx.js";import"./wui-icon-box-HYYcHgEF.js";import{t as w}from"./ConstantsUtil-R84-vBrP.js";import"./wui-shimmer-B3m5DSa1.js";import{t as T}from"./wui-list-social-CufThWE9.js";import"./wui-qr-code-CNh2d2fT.js";var E=n`
2
2
  :host {
3
3
  margin-top: var(--wui-spacing-3xs);
4
4
  }
@@ -1 +1 @@
1
- import{K as e,b as t,n,t as r}from"./createConnector-BcHSC56W.js";import{i,t as a}from"./dist-rLdy04_b.js";import{r as o}from"./networks-CWeJ1anG.js";import{A as s,h as c,l,m as u,p as d,t as f,u as p}from"./index-DTVV95ia.js";i(),c();var m=e=>/^[0-9a-fA-F]+$/.test(e)&&e.length%2==0,h=e=>{let t=e.trim(),n=t.startsWith(`0x`)?t.slice(2):t,r=[];return m(n)?r.push({encoding:`hex`,buffer:a.from(n,`hex`)}):r.push({encoding:`base64`,buffer:a.from(t,`base64`)}),r},g=e=>{let t;try{return{tx:u.deserialize(e.buffer),error:null}}catch(e){t=e}try{return{tx:d.from(e.buffer),error:null}}catch(n){return{tx:null,error:`encoding=${e.encoding} bufferLength=${e.buffer.length} VersionedTransaction error: ${t instanceof Error?t.message:String(t)}. Legacy Transaction error: ${n instanceof Error?n.message:String(n)}`}}},_=e=>{let t=h(e),n=[];for(let e of t){let t=g(e);if(t.tx)return t.tx;t.error&&n.push(t.error)}throw Error(`Failed to deserialize Solana transaction. Tried ${n.length} candidate(s). ${n.join(` | `)}`)},v=({solanaWallet:t,walletDetailsParams:i,connection:a})=>r(r=>({...i,isSolanaConnector:!0,id:t.adapter.name,name:t.adapter.name,type:t.adapter.name,showQrModal:!1,sendTransaction:async e=>{let n=_(e);return await t.adapter.sendTransaction(n,a)},connect:async e=>(r.emitter.emit(`message`,{type:`connecting`}),r.storage?.removeItem(`solana.disconnected`),await t.adapter.connect(),{accounts:e?.withCapabilities?[{address:t.adapter.publicKey?.toBase58(),capabilities:{}}]:[t.adapter.publicKey?.toBase58()],chainId:s.id}),disconnect:()=>(r.storage?.setItem(`solana.disconnected`,!0),t.adapter.disconnect()),getAccounts:async()=>e.fromNullable(t.adapter.publicKey?.toBase58()).map(e=>[e]).unsafeCoerce(),switchChain:async()=>s,getChainId:async()=>s.id,isAuthorized:async()=>{if(await r.storage?.getItem(`solana.disconnected`))return!1;let e=await r.storage?.getItem(`recentConnectorId`);return e&&e===t.adapter.name&&await t.adapter.autoConnect(),!!(t.adapter.connected&&t.adapter.publicKey?.toBase58())},onAccountsChanged:e=>{e.length===0?r.emitter.emit(`disconnect`):r.emitter.emit(`change`,{accounts:e})},onChainChanged:e=>{r.emitter.emit(`change`,{chainId:e})},onDisconnect:()=>{r.emitter.emit(`disconnect`)},getProvider:async()=>({}),$filteredChains:new n([s]).asObservable()})),y=({wallets:e,forceWalletConnectOnly:n,connection:r,variant:i})=>({groupName:`Solana`,wallets:n?[]:e.filter(e=>i===`porto`?e.adapter instanceof p:!0).map(e=>()=>({id:e.adapter.name,name:i===`porto`?`Porto`:e.adapter.name,iconUrl:i===`porto`?f:e.adapter.icon,iconBackground:i===`porto`?`#000`:`#fff`,chainGroup:{iconUrl:t(o.Solana),title:`Solana`,id:`solana`},installed:e.readyState===`Installed`||e.readyState===`Loadable`,...l(e.adapter),createConnector:t=>v({solanaWallet:e,walletDetailsParams:t,connection:r})}))});export{_ as deserializeSolanaTransaction,y as getSolanaConnectors,h as getSolanaTxDecodingCandidates};
1
+ import{K as e,b as t,n,t as r}from"./createConnector-BcHSC56W.js";import{i,t as a}from"./dist-rLdy04_b.js";import{r as o}from"./networks-CWeJ1anG.js";import{A as s,h as c,l,m as u,p as d,t as f,u as p}from"./index-BIOEiLJw.js";i(),c();var m=e=>/^[0-9a-fA-F]+$/.test(e)&&e.length%2==0,h=e=>{let t=e.trim(),n=t.startsWith(`0x`)?t.slice(2):t,r=[];return m(n)?r.push({encoding:`hex`,buffer:a.from(n,`hex`)}):r.push({encoding:`base64`,buffer:a.from(t,`base64`)}),r},g=e=>{let t;try{return{tx:u.deserialize(e.buffer),error:null}}catch(e){t=e}try{return{tx:d.from(e.buffer),error:null}}catch(n){return{tx:null,error:`encoding=${e.encoding} bufferLength=${e.buffer.length} VersionedTransaction error: ${t instanceof Error?t.message:String(t)}. Legacy Transaction error: ${n instanceof Error?n.message:String(n)}`}}},_=e=>{let t=h(e),n=[];for(let e of t){let t=g(e);if(t.tx)return t.tx;t.error&&n.push(t.error)}throw Error(`Failed to deserialize Solana transaction. Tried ${n.length} candidate(s). ${n.join(` | `)}`)},v=({solanaWallet:t,walletDetailsParams:i,connection:a})=>r(r=>({...i,isSolanaConnector:!0,id:t.adapter.name,name:t.adapter.name,type:t.adapter.name,showQrModal:!1,sendTransaction:async e=>{let n=_(e);return await t.adapter.sendTransaction(n,a)},connect:async e=>(r.emitter.emit(`message`,{type:`connecting`}),r.storage?.removeItem(`solana.disconnected`),await t.adapter.connect(),{accounts:e?.withCapabilities?[{address:t.adapter.publicKey?.toBase58(),capabilities:{}}]:[t.adapter.publicKey?.toBase58()],chainId:s.id}),disconnect:()=>(r.storage?.setItem(`solana.disconnected`,!0),t.adapter.disconnect()),getAccounts:async()=>e.fromNullable(t.adapter.publicKey?.toBase58()).map(e=>[e]).unsafeCoerce(),switchChain:async()=>s,getChainId:async()=>s.id,isAuthorized:async()=>{if(await r.storage?.getItem(`solana.disconnected`))return!1;let e=await r.storage?.getItem(`recentConnectorId`);return e&&e===t.adapter.name&&await t.adapter.autoConnect(),!!(t.adapter.connected&&t.adapter.publicKey?.toBase58())},onAccountsChanged:e=>{e.length===0?r.emitter.emit(`disconnect`):r.emitter.emit(`change`,{accounts:e})},onChainChanged:e=>{r.emitter.emit(`change`,{chainId:e})},onDisconnect:()=>{r.emitter.emit(`disconnect`)},getProvider:async()=>({}),$filteredChains:new n([s]).asObservable()})),y=({wallets:e,forceWalletConnectOnly:n,connection:r,variant:i})=>({groupName:`Solana`,wallets:n?[]:e.filter(e=>i===`porto`?e.adapter instanceof p:!0).map(e=>()=>({id:e.adapter.name,name:i===`porto`?`Porto`:e.adapter.name,iconUrl:i===`porto`?f:e.adapter.icon,iconBackground:i===`porto`?`#000`:`#fff`,chainGroup:{iconUrl:t(o.Solana),title:`Solana`,id:`solana`},installed:e.readyState===`Installed`||e.readyState===`Loadable`,...l(e.adapter),createConnector:t=>v({solanaWallet:e,walletDetailsParams:t,connection:r})}))});export{_ as deserializeSolanaTransaction,y as getSolanaConnectors,h as getSolanaTxDecodingCandidates};
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index.es--eR005hT.js","assets/chunk-CzyJ72yW.js","assets/decode-DpVNjAmo.js","assets/preload-helper-DzyYoeor.js","assets/sha3-CDZ-aOth.js","assets/utils-DBNb3TAV.js","assets/esm-SeYA9l8u.js","assets/browser-ponyfill-BtdYAc_i.js","assets/index.es-Bk6Eex5v.js","assets/esm-Bwjh0hft.js","assets/dist-CbYzjs0N.js","assets/events-Dz20IHRz.js","assets/dist-rLdy04_b.js","assets/dist-BNDiu-ID.js","assets/index.es-Db9uv8UH.js","assets/index.es-GvscGfHE.js","assets/blakejs-Dk2rjG-7.js","assets/src-Djtn6dts.js"])))=>i.map(i=>d[i]);
2
- import{G as e,H as t,K as n,U as r,b as i,n as a,t as o}from"./createConnector-BcHSC56W.js";import{t as s}from"./preload-helper-DzyYoeor.js";import{i as c}from"./dist-rLdy04_b.js";import{h as l,l as u,m as d,s as f}from"./utils-DBNb3TAV.js";import{a as p}from"./networks-CWeJ1anG.js";import{n as m}from"./esm-SeYA9l8u.js";import{P as h,a as g,it as _}from"./index-DTVV95ia.js";import{n as v,r as y,t as b}from"./registry-CvkKYDcW.js";l();function x(e){return e?k(f(e)):`0x`}new TextDecoder(`utf-8`);function S(e,t){return e.length===t.length?e.every((e,n)=>t[n]===e):!1}function C(e){return typeof e==`string`}function w(e){return typeof e==`number`}function T(e){return e instanceof Uint8Array}var E=/^0x[\da-fA-F]+$/;function D(e,t){return C(e)&&(e===`0x`||E.test(e))&&(!t||e.length%2==0)}new Uint8Array([0,97,115,109]),new Uint8Array([80,86,77]),l();function O(e){return d(A(e))}var k=e=>e?e.startsWith(`0x`)?e:`0x${e}`:`0x`,A=e=>e?e.startsWith(`0x`)?e.substring(2):e:``;function ee(e){let t=(e??0).toString(16);return k(t.length%2?`0${t}`:t)}function j(e){return O(ee(e))}var M=new TextEncoder;function N(e){return M.encode(e)}function P(e){return x(N(e))}function F(e){if(T(e))return e;if(w(e))return j(e);if(D(e))return O(e);if(C(e))return N(e);throw Error(`Invalid input type of: ${e}`)}function I(e,t=256,n){let r=Math.ceil(t/8),i=F(e);return n?v(i,{dkLen:r,key:n}):v(i,{dkLen:r})}l();function L(...e){return u(...e)}var R=N(`SS58PRE`);function z(e){return I(L(R,e),512)}function B(e){let t=e[0]&64?2:1,n=t===1?e[0]:(e[0]&63)<<2|e[1]>>6|(e[1]&63)<<8,r=[34+t,35+t].includes(e.length),i=e.length-(r?2:1),a=z(e.subarray(0,i));return[(e[0]&128)==0&&![46,47].includes(e[0])&&(r?e[e.length-2]===a[0]&&e[e.length-1]===a[1]:e[e.length-1]===a[0]),i,t,n]}var V=[3,4,6,10,35,36,37,38];function H(e,t,n=-1){if(!e)throw Error(`Invalid empty address passed`);if(T(e)||D(e))return F(e);try{let r=m.decode(e);if(!V.includes(r.length))throw Error(`Invalid decoded address length`);let[i,a,o,s]=B(r);if(!i&&!t)throw Error(`Invalid decoded address checksum`);if(n!==-1&&n!==s)throw Error(`Expected ss58Format ${n}, received ${s}`);return r.slice(o,a)}catch(t){throw Error(`Decoding ${e}: ${t.message}`)}}c();function U({storage:e,keyPrefix:t=`luno.`}){let n=e=>`${t}${e}`;return{async getItem(t){try{let r=n(t),i=await e.getItem(r);return i==null?null:String(i)}catch{return null}},async setItem(t,r){try{let i=n(t);await e.setItem(i,r)}catch{}},async removeItem(t){try{let r=n(t);await e.removeItem(r)}catch{}}}}U({storage:typeof window<`u`&&window.localStorage?window.localStorage:{getItem:async e=>null,setItem:async(e,t)=>{},removeItem:async e=>{}},keyPrefix:`luno.`});var W=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzA0IiBoZWlnaHQ9IjcwNCIgdmlld0JveD0iMCAwIDcwNCA3MDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMzYyXzgwMTcpIj4KICAgICAgICA8bWFzayBpZD0ibWFzazBfMzYyXzgwMTciIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSI3MDQiCiAgICAgICAgICAgICAgaGVpZ2h0PSI3MDQiPgogICAgICAgICAgICA8cmVjdCB3aWR0aD0iNzA0IiBoZWlnaHQ9IjcwNCIgcng9IjQ4IiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMzYyXzgwMTcpIi8+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDxnIG1hc2s9InVybCgjbWFzazBfMzYyXzgwMTcpIj4KICAgICAgICAgICAgPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAxXzM2Ml84MDE3KSI+CiAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMTg0Ny4wOSIgaGVpZ2h0PSIxMjYwLjc5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTI5IDE3Ni45MzcpIHJvdGF0ZSgtMjMuMjgpIgogICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzBDMEMwQyIvPgogICAgICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41IiBmaWx0ZXI9InVybCgjZmlsdGVyMF9mXzM2Ml84MDE3KSI+CiAgICAgICAgICAgICAgICAgICAgPGVsbGlwc2UgY3g9IjI5MC40NjQiIGN5PSIyMjQuNzUxIiByeD0iMjkwLjQ2NCIgcnk9IjIyNC43NTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC41NzEyMzggMC44MjA3ODUgMC43MjIxOTEgLTAuNjkxNjk0IC03MS45NDk3IDY1MS4wMjEpIiBmaWxsPSIjNzMxMTQwIi8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2ZfMzYyXzgwMTcpIj4KICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBjeD0iMzIxLjY2NSIgY3k9IjMwNi44MjEiIHJ4PSIzMjEuNjY1IiByeT0iMzA2LjgyMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjgwMjIyOCAtMC41OTcwMTggLTAuNTEwNDgzIC0wLjg1OTg4OCAtMjQ2LjQ3MiAxMzQ2LjM5KSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMDA0QkZGIi8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciIGZpbHRlcj0idXJsKCNmaWx0ZXIyX2ZfMzYyXzgwMTcpIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOTk5LjU1NiAtMTkzLjU4MkM4NTUuMTkgLTE2NS4yNzkgNzgyLjM5MyAtMjg5LjM2NSA2NjYuMTMyIC0xOTYuNzNDMzk2Ljk4IDE3LjcyNTUgODA2LjAxNiA1NzAuMjU0IDExNTAuMzEgNjE0LjgyNEMxMzU3LjQ3IDY0MS42NDEgMTM4OC40NyA2ODcuNDQ0IDE1MTYuMTQgNTE4LjUyNUMxNjQwLjcxIDM1My43MjEgMTY3MC4yNCAyNTAuNDU5IDE2NzcuMzYgMjkuMzkwNUMxNjc5Ljk1IC01MC45ODcgMTY2MS42NyAtMTg5LjkyNSAxNjAwLjcyIC0yNjQuODM5QzE1MzEuMjEgLTM1MC4yNzkgMTQ0My40NyAtMzYxLjQ0MiAxMzQ3LjE4IC0zMzYuNzkyQzEyNDguMDUgLTMxMS40MTYgMTE3OC43MiAtMjI4LjcwOCA5OTkuNTU2IC0xOTMuNTgyWiIKICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMUU5Qjc2Ii8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAyXzM2Ml84MDE3KSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01MTIgMzAxLjU5OVYyMzQuOTlMMjQ1LjI4NiAxMjhMMTkyIDE1NS4wNkwxOTIuMjgxIDM2Mi4zOEwzOTEuODI0IDQ0Mi43MjdMMjg1LjI1MSA0ODguMTA0VjQ1My4wMTNMMjM2LjMyNCA0MzMuMTUyTDE5Mi4yODEgNDUzLjk2N0wxOTIuMjgxIDU4MC45NEwyNDUuMzMzIDYwOEw1MTIgNDg3LjY4OFY0MDIuMzQ1TDI3MiAzMDYuMjgzVjI0OEw0NjIuNDE3IDMyNC4wOEw1MTIgMzAxLjU5OVoiCiAgICAgICAgICAgICAgICAgIGZpbGw9IndoaXRlIi8+CiAgICAgICAgPC9nPgogICAgPC9nPgogICAgPGRlZnM+CiAgICAgICAgPGZpbHRlciBpZD0iZmlsdGVyMF9mXzM2Ml84MDE3IiB4PSItMjc1LjgyNSIgeT0iMTQ5LjMyMiIgd2lkdGg9IjEwNjQuMjMiIGhlaWdodD0iMTE2OS4zIgogICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgogICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgogICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJzaGFwZSIvPgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxNTAiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8zNjJfODAxNyIvPgogICAgICAgIDwvZmlsdGVyPgogICAgICAgIDxmaWx0ZXIgaWQ9ImZpbHRlcjFfZl8zNjJfODAxNyIgeD0iLTc0Ni45NTciIHk9IjI2NC4xNjciIHdpZHRoPSIxMjAzLjgxIiBoZWlnaHQ9IjEyNTIuNjkiCiAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CiAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CiAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjE1MCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzM2Ml84MDE3Ii8+CiAgICAgICAgPC9maWx0ZXI+CiAgICAgICAgPGZpbHRlciBpZD0iZmlsdGVyMl9mXzM2Ml84MDE3IiB4PSItMjEuMDExNyIgeT0iLTk0OC4yNzEiIHdpZHRoPSIyMjk4LjYxIiBoZWlnaHQ9IjIxODkuNjQiCiAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CiAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CiAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMwMCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzM2Ml84MDE3Ii8+CiAgICAgICAgPC9maWx0ZXI+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzM2Ml84MDE3IiB4MT0iMzUyIiB5MT0iMCIgeDI9IjM1MiIgeTI9IjcwNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDA0QkZGIi8+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzRDRUFBQyIvPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGNsaXBQYXRoIGlkPSJjbGlwMF8zNjJfODAxNyI+CiAgICAgICAgICAgIDxyZWN0IHdpZHRoPSI3MDQiIGhlaWdodD0iNzA0IiByeD0iMTYiIGZpbGw9IndoaXRlIi8+CiAgICAgICAgPC9jbGlwUGF0aD4KICAgICAgICA8Y2xpcFBhdGggaWQ9ImNsaXAxXzM2Ml84MDE3Ij4KICAgICAgICAgICAgPHJlY3Qgd2lkdGg9IjE4NDcuMDkiIGhlaWdodD0iMTI2MC43OSIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01MjkgMTc2LjkzNykgcm90YXRlKC0yMy4yOCkiLz4KICAgICAgICA8L2NsaXBQYXRoPgogICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcDJfMzYyXzgwMTciPgogICAgICAgICAgICA8cmVjdCB3aWR0aD0iMzIwIiBoZWlnaHQ9IjQ4MCIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5MiAxMjgpIi8+CiAgICAgICAgPC9jbGlwUGF0aD4KICAgIDwvZGVmcz4KPC9zdmc+Cg==`,G=`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+CiAgICA8cGF0aCBmaWxsPSIjZGRmZTc2IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDcwLjI1YzAgMjEuMjU1IDAgMzEuODgzIDQuNDYzIDM5Ljg1MmEzNSAzNSAwIDAgMCAxMy40MzUgMTMuNDM1QzI1Ljg2NyAxMjggMzYuNDk1IDEyOCA1Ny43NSAxMjhoMTIuNWMyMS4yNTUgMCAzMS44ODMgMCAzOS44NTItNC40NjNhMzUgMzUgMCAwIDAgMTMuNDM1LTEzLjQzNUMxMjggMTAyLjEzMyAxMjggOTEuNTA1IDEyOCA3MC4yNXYtMTIuNWMwLTIxLjI1NSAwLTMxLjg4My00LjQ2My0zOS44NTJhMzUgMzUgMCAwIDAtMTMuNDM1LTEzLjQzNUMxMDIuMTMzIDAgOTEuNTA1IDAgNzAuMjUgMGgtMTIuNUMzNi40OTUgMCAyNS44NjcgMCAxNy44OTggNC40NjNBMzUgMzUgMCAwIDAgNC40NjMgMTcuODk4QzAgMjUuODY3IDAgMzYuNDk1IDAgNTcuNzVaIi8+CiAgICA8cGF0aCBmaWxsPSIjZWE1NzUwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0zMy44NzkgMzUuMTE3LS41IDE5LjE2NWM4LjEwNyA0LjE2OCAxNS43NSA0LjA3NSAyNC43NCAyLjA2MyAzLjU2LTEuMzk3IDYuMDU2LTEuNzAyIDkuNTExIDAgOS4wNjcgMi44MTYgMTYuOTY5IDEuOTUgMjUuMTg1LTIuMjQzbC0uNDg1LTE5LjE4N2MwLTEwLjgwNS03LjAwNC0xNC45NjItMTQuNjMyLTEyLjczOS0uNzc5LjIzMi0xLjk0NCAxLjI3NC0xLjk0NCAyLjIwN2wtLjE4MSAxOC43MzNhMS43NyAxLjc3IDAgMSAxLTMuNTM4LS4wMTVWMjAuMDY3YTguODM4IDguODM4IDAgMCAwLTE3LjY3NSAwVjQzLjFhMS43NyAxLjc3IDAgMSAxLTMuNTM4LjAxNWwtLjE3Ni0xOC43NDNjMC0uOTIzLTEuMTA5LTEuOTYtMS44ODItMi4xOTItOC44LTIuNjEtMTQuODggMi41MzgtMTQuODggMTIuOTM2Wm0yLjQ3NSAyMy44NDNhNDguNDMgNDguNDMgMCAwIDEtNS4yMDktMi4yNTRjLTQuNzMtMi4yNjktMTIuMDk1LTEuNTYyLTE3LjA3MiA0LjExMS0yLjI3NCAyLjYtLjUxNSA2LjM2IDIuNzcgNy40NDggMS41ODMuNTI2IDMuMDE3IDEuNDEzIDQuMzUzIDIuNDA4bC40NjQuMzM2YzQuMTMyIDIuOTY1IDYuNzkzIDcuNDA2IDcuMDU2IDEyLjQ4NmwuMjUzIDQuODEyYTMxLjYxNiAzMS42MTYgMCAwIDAgMTkuNDI4IDI1Ljk1OSAzOC41OSAzOC41OSAwIDAgMCAyOS4zMjcgMCAzMS42MTYgMzEuNjE2IDAgMCAwIDE5LjQyOS0yNS45NTljLjA0Ni0uODI1LjA2MS0xLjY1LjA1MS0yLjQ2NWwuMTI0LTIuMzQ3Yy4yNjMtNS4wOCAyLjkyNC05LjUyIDcuMDU2LTEyLjQ4NmwuNDY0LS4zMzZjMS4zNC0uOTk1IDIuNzctMS44ODIgNC4zNTMtMi40MDggMy4yODUtMS4wODkgNS4wNS00Ljg0OSAyLjc3LTcuNDQ4LTQuOTc4LTUuNjczLTEyLjM0My02LjM3NS0xNy4wNzItNC4xMS0xLjcxOC44MjUtMy40MzUgMS42NS01LjIxIDIuMjUzbC0zLjYyIDEuMjM4LS4wMS4wNDFjLTYuNjU0IDEuODQyLTEyLjEyIDEuODQ3LTE4LjM5OC0uNzQyLTMuMTc3LTEuMzEtNi4zOC0xLjU1OC05LjQ4IDAtNS45NjcgMS44NTYtMTIuMDQ4IDIuNjQtMTguMjA2LjcwMWwtMy42MjYtMS4yMzhabTI2LjY2NSA0NC43MzJjMTMuMzkgMCAyNC4yNDEtMTUuNTk2IDI0LjI0MS0xNS41OTZTNzYuNDEgNzIuNDk5IDYzLjAyIDcyLjQ5OWMtMTMuMzg1IDAtMjQuMjM2IDE1LjU5Ny0yNC4yMzYgMTUuNTk3czEwLjg1MSAxNS41OTYgMjQuMjQgMTUuNTk2Wm0xMC44ODMtMTUuNTk2YzAgNi4wMS00Ljg3MiAxMC44ODItMTAuODgzIDEwLjg4Mi02LjAxIDAtMTAuODgyLTQuODcyLTEwLjg4Mi0xMC44ODJzNC44NzItMTAuODgzIDEwLjg4Mi0xMC44ODMgMTAuODgzIDQuODcyIDEwLjg4MyAxMC44ODNabS0xMC44ODMgNC45MzZhNC45MzYgNC45MzYgMCAxIDAgMC05Ljg3MiA0LjkzNiA0LjkzNiAwIDAgMCAwIDkuODcyWiIvPgo8L3N2Zz4K`;function K(e,t){try{return S(H(e),H(t))}catch{return!1}}function q(e,t){if(!e)return[];try{return e.map(e=>{let n;try{n=x(H(e.address))}catch{}return{address:e.address,name:e.name,publicKey:n,meta:{source:t,genesisHash:e.genesisHash},type:e.type}})}catch(e){throw Error(`Failed to map injected accounts: ${e.message}`)}}var J=class extends h.default{constructor(){super(),this.links={},this.accounts=[],this.signer=void 0,this.connectionUri=void 0}async getAccounts(){return[...this.accounts]}async getSigner(){return this.signer,this.signer}hasConnectionUri(){return!1}async getConnectionUri(){return this.connectionUri}},Y=class extends J{constructor(e){super(),this.unsubscribe=null,this.specificInjector=void 0,this.id=e.id,this.name=e.name,this.icon=e.icon,this.links=e.links,this.injectorId=e.injectorId||e.id}isInstalled(){if(typeof window>`u`)return!1;let e=window.injectedWeb3;return typeof e==`object`&&typeof e[this.injectorId]<`u`}async isAvailable(){return this.isInstalled()}async connect(e){if(this.signer)return[...this.accounts];if(!await this.isAvailable())throw Error(`${this.name} extension not found or not enabled.`);try{if(this.specificInjector=await window.injectedWeb3[this.injectorId].enable(e),!this.specificInjector)throw Error(`Failed to enable the '${this.id}' extension.`);if(this.signer=this.specificInjector.signer,!this.signer)throw Error(`Could not get signer from ${this.name}.`);let t=await this.specificInjector.accounts.get();if(t.length===0)throw Error(`No accounts found in ${this.name}. Make sure accounts are visible and access is granted.`);return this.accounts=q(t,this.id),await this.startSubscription(),this.emit(`connect`,[...this.accounts]),[...this.accounts]}catch(e){throw await this.cleanup(),e}}async disconnect(){await this.cleanup(),this.emit(`disconnect`)}async signMessage(e,t){if(!t||!e)return;let n=await this.getSigner();if(!n||!n?.signRaw)throw Error(`Signer is not available or does not support signRaw.`);if(!(await this.getAccounts()).some(e=>e.address.toLowerCase()===t.toLowerCase()))throw Error(`Address ${t} is not managed by ${this.name}.`);try{let r=P(e);return(await n.signRaw({address:t,data:r,type:`bytes`})).signature}catch(e){throw Error(`Connector ${this.id}: Failed to sign message: ${e.message}`)}}async startSubscription(){if(await this.cleanupSubscription(),!this.specificInjector)throw Error(`Connector ${this.id}: Cannot subscribe, specificInjector not available.`);try{this.unsubscribe=this.specificInjector.accounts.subscribe(e=>{let t=q(e,this.id);JSON.stringify(this.accounts)!==JSON.stringify(t)&&(this.accounts=t,this.emit(`accountsChanged`,[...this.accounts]))})}catch{this.unsubscribe=null}}async cleanupSubscription(){this.unsubscribe&&=(this.unsubscribe(),null)}async cleanup(){await this.cleanupSubscription(),this.accounts=[],this.signer=void 0,this.specificInjector=void 0}},X=class extends J{constructor(e){super(),this.supportedChains=[],this.unsubscribe=null,this.id=e.id||`walletconnect`,this.name=e.name||`WalletConnect`,this.links=e.links||{},this.icon=e.icon||`data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjQwMCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8Y2xpcFBhdGggaWQ9ImEiPgogICAgICAgIDxwYXRoIGQ9Im0wIDBoNDAwdjQwMGgtNDAweiIvPgogICAgPC9jbGlwUGF0aD4KICAgIDxnIGNsaXAtcGF0aD0idXJsKCNhKSI+CiAgICAgICAgPGNpcmNsZSBjeD0iMjAwIiBjeT0iMjAwIiBmaWxsPSIjMzM5NmZmIiByPSIxOTkuNSIgc3Ryb2tlPSIjNjZiMWZmIi8+CiAgICAgICAgPHBhdGggZD0ibTEyMi41MTkgMTQ4Ljk2NWM0Mi43OTEtNDEuNzI5IDExMi4xNzEtNDEuNzI5IDE1NC45NjIgMGw1LjE1IDUuMDIyYzIuMTQgMi4wODYgMi4xNCA1LjQ2OSAwIDcuNTU1bC0xNy42MTcgMTcuMThjLTEuMDcgMS4wNDMtMi44MDQgMS4wNDMtMy44NzQgMGwtNy4wODctNi45MTFjLTI5Ljg1My0yOS4xMTEtNzguMjUzLTI5LjExMS0xMDguMTA2IDBsLTcuNTkgNy40MDFjLTEuMDcgMS4wNDMtMi44MDQgMS4wNDMtMy44NzQgMGwtMTcuNjE3LTE3LjE4Yy0yLjE0LTIuMDg2LTIuMTQtNS40NjkgMC03LjU1NXptMTkxLjM5NyAzNS41MjkgMTUuNjc5IDE1LjI5YzIuMTQgMi4wODYgMi4xNCA1LjQ2OSAwIDcuNTU1bC03MC43IDY4Ljk0NGMtMi4xMzkgMi4wODctNS42MDggMi4wODctNy43NDggMGwtNTAuMTc4LTQ4LjkzMWMtLjUzNS0uNTIyLTEuNDAyLS41MjItMS45MzcgMGwtNTAuMTc4IDQ4LjkzMWMtMi4xMzkgMi4wODctNS42MDggMi4wODctNy43NDggMGwtNzAuNzAxNS02OC45NDVjLTIuMTM5Ni0yLjA4Ni0yLjEzOTYtNS40NjkgMC03LjU1NWwxNS42Nzk1LTE1LjI5YzIuMTM5Ni0yLjA4NiA1LjYwODUtMi4wODYgNy43NDgxIDBsNTAuMTc4OSA0OC45MzJjLjUzNS41MjIgMS40MDIuNTIyIDEuOTM3IDBsNTAuMTc3LTQ4LjkzMmMyLjEzOS0yLjA4NyA1LjYwOC0yLjA4NyA3Ljc0OCAwbDUwLjE3OSA0OC45MzJjLjUzNS41MjIgMS40MDIuNTIyIDEuOTM3IDBsNTAuMTc5LTQ4LjkzMWMyLjEzOS0yLjA4NyA1LjYwOC0yLjA4NyA3Ljc0OCAweiIKICAgICAgICAgICAgICBmaWxsPSIjZmZmIi8+CiAgICA8L2c+Cjwvc3ZnPgo=`,this.projectId=e.projectId,this.relayUrl=e.relayUrl||`wss://relay.walletconnect.com`,this.metadata=e.metadata,this.supportedChains=e.supportedChains||[]}isInstalled(){return!1}async isAvailable(){return!0}convertChainIdToCaipId(e){return e.map(e=>`polkadot:${(e.genesisHash||e).replace(`0x`,``).slice(0,32)}`)}async connect(e,t){if(!this.projectId)throw Error(`${this.name} requires a projectId. Please visit https://cloud.walletconnect.com to get one.`);let n=t?.length?t:this.supportedChains.length?this.supportedChains:void 0;if(!n||n.length===0)throw Error(`${this.name} requires chains configuration.`);this.connectedChains=n;let{UniversalProvider:r}=await s(async()=>{let{UniversalProvider:e}=await import(`./index.es--eR005hT.js`);return{UniversalProvider:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]));try{if(this.provider=await r.init({projectId:this.projectId,relayUrl:this.relayUrl,metadata:this.metadata||{name:e,description:`LunoKit DApp`,url:typeof window<`u`?window.location.origin:``,icons:[this.icon]}}),this.provider.session){this.session=this.provider.session;let e=this.getAccountsFromSession(n);return this.accounts=e,await this.startSubscription(),this.emit(`connect`,[...this.accounts]),[...this.accounts]}if(!this.provider?.client)throw Error(`Provider not initialized or not connected`);let{uri:t,approval:i}=await this.provider.client.connect({requiredNamespaces:{polkadot:{methods:[`polkadot_signMessage`,`polkadot_sendTransaction`,`polkadot_signTransaction`,`polkadot_requestAccounts`],chains:this.convertChainIdToCaipId(n),events:[`accountsChanged`,`chainChanged`,`connect`]}},optionalNamespaces:{polkadot:{methods:[`polkadot_signMessage`,`polkadot_sendTransaction`,`polkadot_signTransaction`,`polkadot_requestAccounts`],chains:this.convertChainIdToCaipId(n),events:[`accountsChanged`,`chainChanged`,`connect`]}}});this.emit(`get_uri`,t);let a=await i();this.session=a,this.provider.session=a,this.connectionUri=void 0;let o=this.getAccountsFromSession(n);return this.accounts=o,await this.startSubscription(),this.emit(`connect`,[...this.accounts]),[...this.accounts]}catch(e){throw this.connectionUri=void 0,e}}getAccountsFromSession(e){let t=[e[0].genesisHash||e[0]],n=this.convertChainIdToCaipId(t)[0],r=this.session?.namespaces.polkadot.accounts.flat().filter(e=>e.includes(n)).map(e=>e.replace(`${n}:`,``));if(r&&r.length===0){let t=this.convertChainIdToCaipId(e)[0];r=this.session?.namespaces.polkadot.accounts.flat().filter(e=>e.includes(t)).map(e=>e.replace(`${t}:`,``))}let i=r.map(e=>({address:e,name:`${this.name} Account`,meta:{source:this.id},publicKey:void 0}));return this.emit(`accountsChanged`,[...i]),i}async disconnect(){try{this.provider&&await Promise.race([await this.provider.disconnect(),new Promise((e,t)=>setTimeout(()=>t(Error(`Disconnect timeout`)),5e3))])}catch{}await this.cleanup(),this.emit(`disconnect`)}async signMessage(e,t){if(!this.provider?.client||!this.session?.topic)throw Error(`Provider not initialized or not connected`);try{let n=await this.getSigner();if(!n)throw Error(`No signer provided`);let{signature:r}=await n.signRaw({address:t,data:e,type:`bytes`});return r}catch(e){throw e}}hasConnectionUri(){return!0}async getConnectionUri(){return this.connectionUri?this.connectionUri:new Promise(e=>{this.once(`get_uri`,t=>{this.connectionUri=t,e(t)})})}async getSigner(){if(!(!this.provider?.client||!this.session))return{signPayload:async e=>{let t=`polkadot:${e.genesisHash.replace(`0x`,``).slice(0,32)}`,n=this.session.namespaces.polkadot.accounts.find(n=>{let r=n.replace(`${t}:`,``);return n.includes(t)&&K(e.address,r)});if(!n)throw Error(`Chain ${e.genesisHash} is not supported by the wallet.}`);let r=n.replace(`${t}:`,``),i={...e,address:r};return await this.provider?.client?.request({topic:this.session.topic,chainId:`polkadot:${i.genesisHash.replace(`0x`,``).slice(0,32)}`,request:{method:`polkadot_signTransaction`,params:{address:r,transactionPayload:i}}})},signRaw:async e=>{let t=this.convertChainIdToCaipId(this.connectedChains)[0],n=this.session.namespaces.polkadot.accounts.find(n=>{let r=n.replace(`${t}:`,``);return n.includes(t)&&K(e.address,r)});if(!n)throw Error(`No accounts available for chain ${t}`);let r=n.replace(`${t}:`,``),i={...e};return await this.provider.client.request({topic:this.session.topic,chainId:t,request:{method:`polkadot_signMessage`,params:{address:r,message:i.data,type:i.type}}})}}}async startSubscription(){if(await this.cleanupSubscription(),!this.provider?.client||!this.session)throw Error(`Connector ${this.id}: Cannot subscribe, provider or session not available.`);try{let e=async()=>{await this.cleanup(),this.emit(`disconnect`)};this.provider.client.on(`session_delete`,e),this.unsubscribe=()=>{this.provider?.client?.off(`session_delete`,e)}}catch{this.unsubscribe=null}}async cleanupSubscription(){this.unsubscribe&&=(this.unsubscribe(),null)}async cleanup(){await this.cleanupSubscription(),this.accounts=[],this.signer=void 0,this.provider=void 0,this.session=void 0}},Z=e=>new X(e),Q=()=>new Y({id:`subwallet-js`,name:`SubWallet`,icon:W,links:{browserExtension:`https://chromewebstore.google.com/detail/subwallet-polkadot-wallet/onhogfjeacnfoofkfgppdlbmlmnplgbn`,deepLink:`https://mobile.subwallet.app/browser`}}),te=()=>new Y({id:`talisman`,name:`Talisman`,icon:G,links:{browserExtension:`https://chromewebstore.google.com/detail/talisman-wallet/fijngjgcjhjmmpcmkeiomlglpeiijkld`}}),$=({id:t,name:i,type:s,baseConnector:c,walletDetailsParams:l,chains:u,lunoKitChains:d})=>o(o=>{let f=new a(u);return{...l,id:t,name:i,type:s,showQrModal:!0,signTransaction:t=>_(()=>c.getSigner()).chain(i=>_.liftEither(n.fromNullable(i?.signPayload?.bind(i)).toEither(Error(`signer missing`))).chain(e=>_(()=>e({...t.tx,withSignedTransaction:!0}))).chain(n=>n.signedTransaction?_.liftEither(e(typeof n.signedTransaction==`string`?n.signedTransaction:y(n.signedTransaction))):_.liftEither(r.encase(()=>{let e=new b;e.setMetadata(e.createType(`Metadata`,t.metadataRpc));let r=e.createType(`Extrinsic`,{method:t.tx.method},{version:t.tx.version});return r.addSignature(t.tx.address,n.signature,t.tx),y(r.toU8a())})))).mapLeft(e=>Error(`Failed to sign transaction`,{cause:e})),connect:async e=>{o.emitter.emit(`message`,{type:`connecting`}),c.once(`get_uri`,e=>c.emit(`display_uri`,e));let t=await c.connect(i,d);if(!t||t.length===0)throw Error(`No accounts found`);return o.storage?.removeItem(`substrate.disconnected`),o.storage?.setItem(`substrate.lastConnectedId`,c.id),{accounts:e?.withCapabilities?t.map(e=>({address:e.address,capabilities:{}})):t.map(e=>e.address),chainId:f.getValue()[0].id}},disconnect:()=>(o.storage?.setItem(`substrate.disconnected`,!0),o.storage?.removeItem(`substrate.lastConnectedId`),c.disconnect()),getAccounts:()=>c.getAccounts().then(e=>e.map(e=>e.address)),switchChain:async e=>{let t=f.getValue().find(t=>t.id===e.chainId);if(!t)throw Error(`Chain not found`);return o.emitter.emit(`change`,{chainId:e.chainId}),t},getChainId:async()=>f.getValue()[0].id,isAuthorized:async()=>{if(await o.storage?.getItem(`substrate.disconnected`))return!1;let e=await o.storage?.getItem(`substrate.lastConnectedId`);return!!(e&&e===c.id)},onAccountsChanged:e=>{e.length===0?o.emitter.emit(`disconnect`):o.emitter.emit(`change`,{accounts:e})},onChainChanged:e=>{o.emitter.emit(`change`,{chainId:e})},onDisconnect:()=>{o.emitter.emit(`disconnect`)},getProvider:async()=>c,$filteredChains:f.asObservable()}}),ne=(e,n,r)=>{let a=Q(),o=te(),s=Z({projectId:t.walletConnectV2.projectId}),c={iconUrl:i(p.Polkadot),title:`Substrate`,id:`substrate`},l=()=>({id:s.id,name:s.name,iconUrl:s.icon,iconBackground:`#fff`,chainGroup:c,installed:!0,qrCode:{getUri:e=>e},createConnector:t=>{let r=$({baseConnector:s,id:s.id,name:s.name,type:g.type,walletDetailsParams:t,chains:e,lunoKitChains:n});return e=>{let n=r(e);return{...n,...t,rkDetails:{...t.rkDetails,walletConnectModalConnector:n}}}}});return{groupName:`Substrate`,wallets:r?[l]:[l,()=>({id:o.id,name:o.name,iconUrl:o.icon,iconBackground:`#fff`,chainGroup:c,installed:o.isInstalled(),downloadUrls:{browserExtension:o.links.browserExtension,chrome:o.links.browserExtension},createConnector:t=>$({baseConnector:o,id:o.id,name:o.name,type:g.type,walletDetailsParams:t,chains:e,lunoKitChains:n})}),()=>({id:a.id,name:a.name,iconUrl:a.icon,iconBackground:`#fff`,chainGroup:c,installed:a.isInstalled(),downloadUrls:{browserExtension:a.links.browserExtension,chrome:a.links.browserExtension},createConnector:t=>$({baseConnector:a,id:a.id,name:a.name,type:g.type,walletDetailsParams:t,chains:e,lunoKitChains:n})})]}};export{ne as getSubstrateConnectors};
2
+ import{G as e,H as t,K as n,U as r,b as i,n as a,t as o}from"./createConnector-BcHSC56W.js";import{t as s}from"./preload-helper-DzyYoeor.js";import{i as c}from"./dist-rLdy04_b.js";import{h as l,l as u,m as d,s as f}from"./utils-DBNb3TAV.js";import{a as p}from"./networks-CWeJ1anG.js";import{n as m}from"./esm-SeYA9l8u.js";import{P as h,a as g,it as _}from"./index-BIOEiLJw.js";import{n as v,r as y,t as b}from"./registry-DLj0P6dj.js";l();function x(e){return e?k(f(e)):`0x`}new TextDecoder(`utf-8`);function S(e,t){return e.length===t.length?e.every((e,n)=>t[n]===e):!1}function C(e){return typeof e==`string`}function w(e){return typeof e==`number`}function T(e){return e instanceof Uint8Array}var E=/^0x[\da-fA-F]+$/;function D(e,t){return C(e)&&(e===`0x`||E.test(e))&&(!t||e.length%2==0)}new Uint8Array([0,97,115,109]),new Uint8Array([80,86,77]),l();function O(e){return d(A(e))}var k=e=>e?e.startsWith(`0x`)?e:`0x${e}`:`0x`,A=e=>e?e.startsWith(`0x`)?e.substring(2):e:``;function ee(e){let t=(e??0).toString(16);return k(t.length%2?`0${t}`:t)}function j(e){return O(ee(e))}var M=new TextEncoder;function N(e){return M.encode(e)}function P(e){return x(N(e))}function F(e){if(T(e))return e;if(w(e))return j(e);if(D(e))return O(e);if(C(e))return N(e);throw Error(`Invalid input type of: ${e}`)}function I(e,t=256,n){let r=Math.ceil(t/8),i=F(e);return n?v(i,{dkLen:r,key:n}):v(i,{dkLen:r})}l();function L(...e){return u(...e)}var R=N(`SS58PRE`);function z(e){return I(L(R,e),512)}function B(e){let t=e[0]&64?2:1,n=t===1?e[0]:(e[0]&63)<<2|e[1]>>6|(e[1]&63)<<8,r=[34+t,35+t].includes(e.length),i=e.length-(r?2:1),a=z(e.subarray(0,i));return[(e[0]&128)==0&&![46,47].includes(e[0])&&(r?e[e.length-2]===a[0]&&e[e.length-1]===a[1]:e[e.length-1]===a[0]),i,t,n]}var V=[3,4,6,10,35,36,37,38];function H(e,t,n=-1){if(!e)throw Error(`Invalid empty address passed`);if(T(e)||D(e))return F(e);try{let r=m.decode(e);if(!V.includes(r.length))throw Error(`Invalid decoded address length`);let[i,a,o,s]=B(r);if(!i&&!t)throw Error(`Invalid decoded address checksum`);if(n!==-1&&n!==s)throw Error(`Expected ss58Format ${n}, received ${s}`);return r.slice(o,a)}catch(t){throw Error(`Decoding ${e}: ${t.message}`)}}c();function U({storage:e,keyPrefix:t=`luno.`}){let n=e=>`${t}${e}`;return{async getItem(t){try{let r=n(t),i=await e.getItem(r);return i==null?null:String(i)}catch{return null}},async setItem(t,r){try{let i=n(t);await e.setItem(i,r)}catch{}},async removeItem(t){try{let r=n(t);await e.removeItem(r)}catch{}}}}U({storage:typeof window<`u`&&window.localStorage?window.localStorage:{getItem:async e=>null,setItem:async(e,t)=>{},removeItem:async e=>{}},keyPrefix:`luno.`});var W=`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzA0IiBoZWlnaHQ9IjcwNCIgdmlld0JveD0iMCAwIDcwNCA3MDQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMzYyXzgwMTcpIj4KICAgICAgICA8bWFzayBpZD0ibWFzazBfMzYyXzgwMTciIHN0eWxlPSJtYXNrLXR5cGU6YWxwaGEiIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjAiIHk9IjAiIHdpZHRoPSI3MDQiCiAgICAgICAgICAgICAgaGVpZ2h0PSI3MDQiPgogICAgICAgICAgICA8cmVjdCB3aWR0aD0iNzA0IiBoZWlnaHQ9IjcwNCIgcng9IjQ4IiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXJfMzYyXzgwMTcpIi8+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDxnIG1hc2s9InVybCgjbWFzazBfMzYyXzgwMTcpIj4KICAgICAgICAgICAgPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAxXzM2Ml84MDE3KSI+CiAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMTg0Ny4wOSIgaGVpZ2h0PSIxMjYwLjc5IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTI5IDE3Ni45MzcpIHJvdGF0ZSgtMjMuMjgpIgogICAgICAgICAgICAgICAgICAgICAgZmlsbD0iIzBDMEMwQyIvPgogICAgICAgICAgICAgICAgPGcgb3BhY2l0eT0iMC41IiBmaWx0ZXI9InVybCgjZmlsdGVyMF9mXzM2Ml84MDE3KSI+CiAgICAgICAgICAgICAgICAgICAgPGVsbGlwc2UgY3g9IjI5MC40NjQiIGN5PSIyMjQuNzUxIiByeD0iMjkwLjQ2NCIgcnk9IjIyNC43NTEiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC41NzEyMzggMC44MjA3ODUgMC43MjIxOTEgLTAuNjkxNjk0IC03MS45NDk3IDY1MS4wMjEpIiBmaWxsPSIjNzMxMTQwIi8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2ZfMzYyXzgwMTcpIj4KICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBjeD0iMzIxLjY2NSIgY3k9IjMwNi44MjEiIHJ4PSIzMjEuNjY1IiByeT0iMzA2LjgyMSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjgwMjIyOCAtMC41OTcwMTggLTAuNTEwNDgzIC0wLjg1OTg4OCAtMjQ2LjQ3MiAxMzQ2LjM5KSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMDA0QkZGIi8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyBvcGFjaXR5PSIwLjciIGZpbHRlcj0idXJsKCNmaWx0ZXIyX2ZfMzYyXzgwMTcpIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNOTk5LjU1NiAtMTkzLjU4MkM4NTUuMTkgLTE2NS4yNzkgNzgyLjM5MyAtMjg5LjM2NSA2NjYuMTMyIC0xOTYuNzNDMzk2Ljk4IDE3LjcyNTUgODA2LjAxNiA1NzAuMjU0IDExNTAuMzEgNjE0LjgyNEMxMzU3LjQ3IDY0MS42NDEgMTM4OC40NyA2ODcuNDQ0IDE1MTYuMTQgNTE4LjUyNUMxNjQwLjcxIDM1My43MjEgMTY3MC4yNCAyNTAuNDU5IDE2NzcuMzYgMjkuMzkwNUMxNjc5Ljk1IC01MC45ODcgMTY2MS42NyAtMTg5LjkyNSAxNjAwLjcyIC0yNjQuODM5QzE1MzEuMjEgLTM1MC4yNzkgMTQ0My40NyAtMzYxLjQ0MiAxMzQ3LjE4IC0zMzYuNzkyQzEyNDguMDUgLTMxMS40MTYgMTE3OC43MiAtMjI4LjcwOCA5OTkuNTU2IC0xOTMuNTgyWiIKICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPSIjMUU5Qjc2Ii8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAyXzM2Ml84MDE3KSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik01MTIgMzAxLjU5OVYyMzQuOTlMMjQ1LjI4NiAxMjhMMTkyIDE1NS4wNkwxOTIuMjgxIDM2Mi4zOEwzOTEuODI0IDQ0Mi43MjdMMjg1LjI1MSA0ODguMTA0VjQ1My4wMTNMMjM2LjMyNCA0MzMuMTUyTDE5Mi4yODEgNDUzLjk2N0wxOTIuMjgxIDU4MC45NEwyNDUuMzMzIDYwOEw1MTIgNDg3LjY4OFY0MDIuMzQ1TDI3MiAzMDYuMjgzVjI0OEw0NjIuNDE3IDMyNC4wOEw1MTIgMzAxLjU5OVoiCiAgICAgICAgICAgICAgICAgIGZpbGw9IndoaXRlIi8+CiAgICAgICAgPC9nPgogICAgPC9nPgogICAgPGRlZnM+CiAgICAgICAgPGZpbHRlciBpZD0iZmlsdGVyMF9mXzM2Ml84MDE3IiB4PSItMjc1LjgyNSIgeT0iMTQ5LjMyMiIgd2lkdGg9IjEwNjQuMjMiIGhlaWdodD0iMTE2OS4zIgogICAgICAgICAgICAgICAgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgogICAgICAgICAgICA8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgogICAgICAgICAgICA8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJzaGFwZSIvPgogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIxNTAiIHJlc3VsdD0iZWZmZWN0MV9mb3JlZ3JvdW5kQmx1cl8zNjJfODAxNyIvPgogICAgICAgIDwvZmlsdGVyPgogICAgICAgIDxmaWx0ZXIgaWQ9ImZpbHRlcjFfZl8zNjJfODAxNyIgeD0iLTc0Ni45NTciIHk9IjI2NC4xNjciIHdpZHRoPSIxMjAzLjgxIiBoZWlnaHQ9IjEyNTIuNjkiCiAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CiAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CiAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjE1MCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzM2Ml84MDE3Ii8+CiAgICAgICAgPC9maWx0ZXI+CiAgICAgICAgPGZpbHRlciBpZD0iZmlsdGVyMl9mXzM2Ml84MDE3IiB4PSItMjEuMDExNyIgeT0iLTk0OC4yNzEiIHdpZHRoPSIyMjk4LjYxIiBoZWlnaHQ9IjIxODkuNjQiCiAgICAgICAgICAgICAgICBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CiAgICAgICAgICAgIDxmZUZsb29kIGZsb29kLW9wYWNpdHk9IjAiIHJlc3VsdD0iQmFja2dyb3VuZEltYWdlRml4Ii8+CiAgICAgICAgICAgIDxmZUJsZW5kIG1vZGU9Im5vcm1hbCIgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9InNoYXBlIi8+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjMwMCIgcmVzdWx0PSJlZmZlY3QxX2ZvcmVncm91bmRCbHVyXzM2Ml84MDE3Ii8+CiAgICAgICAgPC9maWx0ZXI+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzM2Ml84MDE3IiB4MT0iMzUyIiB5MT0iMCIgeDI9IjM1MiIgeTI9IjcwNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDA0QkZGIi8+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzRDRUFBQyIvPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGNsaXBQYXRoIGlkPSJjbGlwMF8zNjJfODAxNyI+CiAgICAgICAgICAgIDxyZWN0IHdpZHRoPSI3MDQiIGhlaWdodD0iNzA0IiByeD0iMTYiIGZpbGw9IndoaXRlIi8+CiAgICAgICAgPC9jbGlwUGF0aD4KICAgICAgICA8Y2xpcFBhdGggaWQ9ImNsaXAxXzM2Ml84MDE3Ij4KICAgICAgICAgICAgPHJlY3Qgd2lkdGg9IjE4NDcuMDkiIGhlaWdodD0iMTI2MC43OSIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01MjkgMTc2LjkzNykgcm90YXRlKC0yMy4yOCkiLz4KICAgICAgICA8L2NsaXBQYXRoPgogICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcDJfMzYyXzgwMTciPgogICAgICAgICAgICA8cmVjdCB3aWR0aD0iMzIwIiBoZWlnaHQ9IjQ4MCIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5MiAxMjgpIi8+CiAgICAgICAgPC9jbGlwUGF0aD4KICAgIDwvZGVmcz4KPC9zdmc+Cg==`,G=`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMTI4IDEyOCI+CiAgICA8cGF0aCBmaWxsPSIjZGRmZTc2IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wIDcwLjI1YzAgMjEuMjU1IDAgMzEuODgzIDQuNDYzIDM5Ljg1MmEzNSAzNSAwIDAgMCAxMy40MzUgMTMuNDM1QzI1Ljg2NyAxMjggMzYuNDk1IDEyOCA1Ny43NSAxMjhoMTIuNWMyMS4yNTUgMCAzMS44ODMgMCAzOS44NTItNC40NjNhMzUgMzUgMCAwIDAgMTMuNDM1LTEzLjQzNUMxMjggMTAyLjEzMyAxMjggOTEuNTA1IDEyOCA3MC4yNXYtMTIuNWMwLTIxLjI1NSAwLTMxLjg4My00LjQ2My0zOS44NTJhMzUgMzUgMCAwIDAtMTMuNDM1LTEzLjQzNUMxMDIuMTMzIDAgOTEuNTA1IDAgNzAuMjUgMGgtMTIuNUMzNi40OTUgMCAyNS44NjcgMCAxNy44OTggNC40NjNBMzUgMzUgMCAwIDAgNC40NjMgMTcuODk4QzAgMjUuODY3IDAgMzYuNDk1IDAgNTcuNzVaIi8+CiAgICA8cGF0aCBmaWxsPSIjZWE1NzUwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0zMy44NzkgMzUuMTE3LS41IDE5LjE2NWM4LjEwNyA0LjE2OCAxNS43NSA0LjA3NSAyNC43NCAyLjA2MyAzLjU2LTEuMzk3IDYuMDU2LTEuNzAyIDkuNTExIDAgOS4wNjcgMi44MTYgMTYuOTY5IDEuOTUgMjUuMTg1LTIuMjQzbC0uNDg1LTE5LjE4N2MwLTEwLjgwNS03LjAwNC0xNC45NjItMTQuNjMyLTEyLjczOS0uNzc5LjIzMi0xLjk0NCAxLjI3NC0xLjk0NCAyLjIwN2wtLjE4MSAxOC43MzNhMS43NyAxLjc3IDAgMSAxLTMuNTM4LS4wMTVWMjAuMDY3YTguODM4IDguODM4IDAgMCAwLTE3LjY3NSAwVjQzLjFhMS43NyAxLjc3IDAgMSAxLTMuNTM4LjAxNWwtLjE3Ni0xOC43NDNjMC0uOTIzLTEuMTA5LTEuOTYtMS44ODItMi4xOTItOC44LTIuNjEtMTQuODggMi41MzgtMTQuODggMTIuOTM2Wm0yLjQ3NSAyMy44NDNhNDguNDMgNDguNDMgMCAwIDEtNS4yMDktMi4yNTRjLTQuNzMtMi4yNjktMTIuMDk1LTEuNTYyLTE3LjA3MiA0LjExMS0yLjI3NCAyLjYtLjUxNSA2LjM2IDIuNzcgNy40NDggMS41ODMuNTI2IDMuMDE3IDEuNDEzIDQuMzUzIDIuNDA4bC40NjQuMzM2YzQuMTMyIDIuOTY1IDYuNzkzIDcuNDA2IDcuMDU2IDEyLjQ4NmwuMjUzIDQuODEyYTMxLjYxNiAzMS42MTYgMCAwIDAgMTkuNDI4IDI1Ljk1OSAzOC41OSAzOC41OSAwIDAgMCAyOS4zMjcgMCAzMS42MTYgMzEuNjE2IDAgMCAwIDE5LjQyOS0yNS45NTljLjA0Ni0uODI1LjA2MS0xLjY1LjA1MS0yLjQ2NWwuMTI0LTIuMzQ3Yy4yNjMtNS4wOCAyLjkyNC05LjUyIDcuMDU2LTEyLjQ4NmwuNDY0LS4zMzZjMS4zNC0uOTk1IDIuNzctMS44ODIgNC4zNTMtMi40MDggMy4yODUtMS4wODkgNS4wNS00Ljg0OSAyLjc3LTcuNDQ4LTQuOTc4LTUuNjczLTEyLjM0My02LjM3NS0xNy4wNzItNC4xMS0xLjcxOC44MjUtMy40MzUgMS42NS01LjIxIDIuMjUzbC0zLjYyIDEuMjM4LS4wMS4wNDFjLTYuNjU0IDEuODQyLTEyLjEyIDEuODQ3LTE4LjM5OC0uNzQyLTMuMTc3LTEuMzEtNi4zOC0xLjU1OC05LjQ4IDAtNS45NjcgMS44NTYtMTIuMDQ4IDIuNjQtMTguMjA2LjcwMWwtMy42MjYtMS4yMzhabTI2LjY2NSA0NC43MzJjMTMuMzkgMCAyNC4yNDEtMTUuNTk2IDI0LjI0MS0xNS41OTZTNzYuNDEgNzIuNDk5IDYzLjAyIDcyLjQ5OWMtMTMuMzg1IDAtMjQuMjM2IDE1LjU5Ny0yNC4yMzYgMTUuNTk3czEwLjg1MSAxNS41OTYgMjQuMjQgMTUuNTk2Wm0xMC44ODMtMTUuNTk2YzAgNi4wMS00Ljg3MiAxMC44ODItMTAuODgzIDEwLjg4Mi02LjAxIDAtMTAuODgyLTQuODcyLTEwLjg4Mi0xMC44ODJzNC44NzItMTAuODgzIDEwLjg4Mi0xMC44ODMgMTAuODgzIDQuODcyIDEwLjg4MyAxMC44ODNabS0xMC44ODMgNC45MzZhNC45MzYgNC45MzYgMCAxIDAgMC05Ljg3MiA0LjkzNiA0LjkzNiAwIDAgMCAwIDkuODcyWiIvPgo8L3N2Zz4K`;function K(e,t){try{return S(H(e),H(t))}catch{return!1}}function q(e,t){if(!e)return[];try{return e.map(e=>{let n;try{n=x(H(e.address))}catch{}return{address:e.address,name:e.name,publicKey:n,meta:{source:t,genesisHash:e.genesisHash},type:e.type}})}catch(e){throw Error(`Failed to map injected accounts: ${e.message}`)}}var J=class extends h.default{constructor(){super(),this.links={},this.accounts=[],this.signer=void 0,this.connectionUri=void 0}async getAccounts(){return[...this.accounts]}async getSigner(){return this.signer,this.signer}hasConnectionUri(){return!1}async getConnectionUri(){return this.connectionUri}},Y=class extends J{constructor(e){super(),this.unsubscribe=null,this.specificInjector=void 0,this.id=e.id,this.name=e.name,this.icon=e.icon,this.links=e.links,this.injectorId=e.injectorId||e.id}isInstalled(){if(typeof window>`u`)return!1;let e=window.injectedWeb3;return typeof e==`object`&&typeof e[this.injectorId]<`u`}async isAvailable(){return this.isInstalled()}async connect(e){if(this.signer)return[...this.accounts];if(!await this.isAvailable())throw Error(`${this.name} extension not found or not enabled.`);try{if(this.specificInjector=await window.injectedWeb3[this.injectorId].enable(e),!this.specificInjector)throw Error(`Failed to enable the '${this.id}' extension.`);if(this.signer=this.specificInjector.signer,!this.signer)throw Error(`Could not get signer from ${this.name}.`);let t=await this.specificInjector.accounts.get();if(t.length===0)throw Error(`No accounts found in ${this.name}. Make sure accounts are visible and access is granted.`);return this.accounts=q(t,this.id),await this.startSubscription(),this.emit(`connect`,[...this.accounts]),[...this.accounts]}catch(e){throw await this.cleanup(),e}}async disconnect(){await this.cleanup(),this.emit(`disconnect`)}async signMessage(e,t){if(!t||!e)return;let n=await this.getSigner();if(!n||!n?.signRaw)throw Error(`Signer is not available or does not support signRaw.`);if(!(await this.getAccounts()).some(e=>e.address.toLowerCase()===t.toLowerCase()))throw Error(`Address ${t} is not managed by ${this.name}.`);try{let r=P(e);return(await n.signRaw({address:t,data:r,type:`bytes`})).signature}catch(e){throw Error(`Connector ${this.id}: Failed to sign message: ${e.message}`)}}async startSubscription(){if(await this.cleanupSubscription(),!this.specificInjector)throw Error(`Connector ${this.id}: Cannot subscribe, specificInjector not available.`);try{this.unsubscribe=this.specificInjector.accounts.subscribe(e=>{let t=q(e,this.id);JSON.stringify(this.accounts)!==JSON.stringify(t)&&(this.accounts=t,this.emit(`accountsChanged`,[...this.accounts]))})}catch{this.unsubscribe=null}}async cleanupSubscription(){this.unsubscribe&&=(this.unsubscribe(),null)}async cleanup(){await this.cleanupSubscription(),this.accounts=[],this.signer=void 0,this.specificInjector=void 0}},X=class extends J{constructor(e){super(),this.supportedChains=[],this.unsubscribe=null,this.id=e.id||`walletconnect`,this.name=e.name||`WalletConnect`,this.links=e.links||{},this.icon=e.icon||`data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiBoZWlnaHQ9IjQwMCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHdpZHRoPSI0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgICB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8Y2xpcFBhdGggaWQ9ImEiPgogICAgICAgIDxwYXRoIGQ9Im0wIDBoNDAwdjQwMGgtNDAweiIvPgogICAgPC9jbGlwUGF0aD4KICAgIDxnIGNsaXAtcGF0aD0idXJsKCNhKSI+CiAgICAgICAgPGNpcmNsZSBjeD0iMjAwIiBjeT0iMjAwIiBmaWxsPSIjMzM5NmZmIiByPSIxOTkuNSIgc3Ryb2tlPSIjNjZiMWZmIi8+CiAgICAgICAgPHBhdGggZD0ibTEyMi41MTkgMTQ4Ljk2NWM0Mi43OTEtNDEuNzI5IDExMi4xNzEtNDEuNzI5IDE1NC45NjIgMGw1LjE1IDUuMDIyYzIuMTQgMi4wODYgMi4xNCA1LjQ2OSAwIDcuNTU1bC0xNy42MTcgMTcuMThjLTEuMDcgMS4wNDMtMi44MDQgMS4wNDMtMy44NzQgMGwtNy4wODctNi45MTFjLTI5Ljg1My0yOS4xMTEtNzguMjUzLTI5LjExMS0xMDguMTA2IDBsLTcuNTkgNy40MDFjLTEuMDcgMS4wNDMtMi44MDQgMS4wNDMtMy44NzQgMGwtMTcuNjE3LTE3LjE4Yy0yLjE0LTIuMDg2LTIuMTQtNS40NjkgMC03LjU1NXptMTkxLjM5NyAzNS41MjkgMTUuNjc5IDE1LjI5YzIuMTQgMi4wODYgMi4xNCA1LjQ2OSAwIDcuNTU1bC03MC43IDY4Ljk0NGMtMi4xMzkgMi4wODctNS42MDggMi4wODctNy43NDggMGwtNTAuMTc4LTQ4LjkzMWMtLjUzNS0uNTIyLTEuNDAyLS41MjItMS45MzcgMGwtNTAuMTc4IDQ4LjkzMWMtMi4xMzkgMi4wODctNS42MDggMi4wODctNy43NDggMGwtNzAuNzAxNS02OC45NDVjLTIuMTM5Ni0yLjA4Ni0yLjEzOTYtNS40NjkgMC03LjU1NWwxNS42Nzk1LTE1LjI5YzIuMTM5Ni0yLjA4NiA1LjYwODUtMi4wODYgNy43NDgxIDBsNTAuMTc4OSA0OC45MzJjLjUzNS41MjIgMS40MDIuNTIyIDEuOTM3IDBsNTAuMTc3LTQ4LjkzMmMyLjEzOS0yLjA4NyA1LjYwOC0yLjA4NyA3Ljc0OCAwbDUwLjE3OSA0OC45MzJjLjUzNS41MjIgMS40MDIuNTIyIDEuOTM3IDBsNTAuMTc5LTQ4LjkzMWMyLjEzOS0yLjA4NyA1LjYwOC0yLjA4NyA3Ljc0OCAweiIKICAgICAgICAgICAgICBmaWxsPSIjZmZmIi8+CiAgICA8L2c+Cjwvc3ZnPgo=`,this.projectId=e.projectId,this.relayUrl=e.relayUrl||`wss://relay.walletconnect.com`,this.metadata=e.metadata,this.supportedChains=e.supportedChains||[]}isInstalled(){return!1}async isAvailable(){return!0}convertChainIdToCaipId(e){return e.map(e=>`polkadot:${(e.genesisHash||e).replace(`0x`,``).slice(0,32)}`)}async connect(e,t){if(!this.projectId)throw Error(`${this.name} requires a projectId. Please visit https://cloud.walletconnect.com to get one.`);let n=t?.length?t:this.supportedChains.length?this.supportedChains:void 0;if(!n||n.length===0)throw Error(`${this.name} requires chains configuration.`);this.connectedChains=n;let{UniversalProvider:r}=await s(async()=>{let{UniversalProvider:e}=await import(`./index.es--eR005hT.js`);return{UniversalProvider:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]));try{if(this.provider=await r.init({projectId:this.projectId,relayUrl:this.relayUrl,metadata:this.metadata||{name:e,description:`LunoKit DApp`,url:typeof window<`u`?window.location.origin:``,icons:[this.icon]}}),this.provider.session){this.session=this.provider.session;let e=this.getAccountsFromSession(n);return this.accounts=e,await this.startSubscription(),this.emit(`connect`,[...this.accounts]),[...this.accounts]}if(!this.provider?.client)throw Error(`Provider not initialized or not connected`);let{uri:t,approval:i}=await this.provider.client.connect({requiredNamespaces:{polkadot:{methods:[`polkadot_signMessage`,`polkadot_sendTransaction`,`polkadot_signTransaction`,`polkadot_requestAccounts`],chains:this.convertChainIdToCaipId(n),events:[`accountsChanged`,`chainChanged`,`connect`]}},optionalNamespaces:{polkadot:{methods:[`polkadot_signMessage`,`polkadot_sendTransaction`,`polkadot_signTransaction`,`polkadot_requestAccounts`],chains:this.convertChainIdToCaipId(n),events:[`accountsChanged`,`chainChanged`,`connect`]}}});this.emit(`get_uri`,t);let a=await i();this.session=a,this.provider.session=a,this.connectionUri=void 0;let o=this.getAccountsFromSession(n);return this.accounts=o,await this.startSubscription(),this.emit(`connect`,[...this.accounts]),[...this.accounts]}catch(e){throw this.connectionUri=void 0,e}}getAccountsFromSession(e){let t=[e[0].genesisHash||e[0]],n=this.convertChainIdToCaipId(t)[0],r=this.session?.namespaces.polkadot.accounts.flat().filter(e=>e.includes(n)).map(e=>e.replace(`${n}:`,``));if(r&&r.length===0){let t=this.convertChainIdToCaipId(e)[0];r=this.session?.namespaces.polkadot.accounts.flat().filter(e=>e.includes(t)).map(e=>e.replace(`${t}:`,``))}let i=r.map(e=>({address:e,name:`${this.name} Account`,meta:{source:this.id},publicKey:void 0}));return this.emit(`accountsChanged`,[...i]),i}async disconnect(){try{this.provider&&await Promise.race([await this.provider.disconnect(),new Promise((e,t)=>setTimeout(()=>t(Error(`Disconnect timeout`)),5e3))])}catch{}await this.cleanup(),this.emit(`disconnect`)}async signMessage(e,t){if(!this.provider?.client||!this.session?.topic)throw Error(`Provider not initialized or not connected`);try{let n=await this.getSigner();if(!n)throw Error(`No signer provided`);let{signature:r}=await n.signRaw({address:t,data:e,type:`bytes`});return r}catch(e){throw e}}hasConnectionUri(){return!0}async getConnectionUri(){return this.connectionUri?this.connectionUri:new Promise(e=>{this.once(`get_uri`,t=>{this.connectionUri=t,e(t)})})}async getSigner(){if(!(!this.provider?.client||!this.session))return{signPayload:async e=>{let t=`polkadot:${e.genesisHash.replace(`0x`,``).slice(0,32)}`,n=this.session.namespaces.polkadot.accounts.find(n=>{let r=n.replace(`${t}:`,``);return n.includes(t)&&K(e.address,r)});if(!n)throw Error(`Chain ${e.genesisHash} is not supported by the wallet.}`);let r=n.replace(`${t}:`,``),i={...e,address:r};return await this.provider?.client?.request({topic:this.session.topic,chainId:`polkadot:${i.genesisHash.replace(`0x`,``).slice(0,32)}`,request:{method:`polkadot_signTransaction`,params:{address:r,transactionPayload:i}}})},signRaw:async e=>{let t=this.convertChainIdToCaipId(this.connectedChains)[0],n=this.session.namespaces.polkadot.accounts.find(n=>{let r=n.replace(`${t}:`,``);return n.includes(t)&&K(e.address,r)});if(!n)throw Error(`No accounts available for chain ${t}`);let r=n.replace(`${t}:`,``),i={...e};return await this.provider.client.request({topic:this.session.topic,chainId:t,request:{method:`polkadot_signMessage`,params:{address:r,message:i.data,type:i.type}}})}}}async startSubscription(){if(await this.cleanupSubscription(),!this.provider?.client||!this.session)throw Error(`Connector ${this.id}: Cannot subscribe, provider or session not available.`);try{let e=async()=>{await this.cleanup(),this.emit(`disconnect`)};this.provider.client.on(`session_delete`,e),this.unsubscribe=()=>{this.provider?.client?.off(`session_delete`,e)}}catch{this.unsubscribe=null}}async cleanupSubscription(){this.unsubscribe&&=(this.unsubscribe(),null)}async cleanup(){await this.cleanupSubscription(),this.accounts=[],this.signer=void 0,this.provider=void 0,this.session=void 0}},Z=e=>new X(e),Q=()=>new Y({id:`subwallet-js`,name:`SubWallet`,icon:W,links:{browserExtension:`https://chromewebstore.google.com/detail/subwallet-polkadot-wallet/onhogfjeacnfoofkfgppdlbmlmnplgbn`,deepLink:`https://mobile.subwallet.app/browser`}}),te=()=>new Y({id:`talisman`,name:`Talisman`,icon:G,links:{browserExtension:`https://chromewebstore.google.com/detail/talisman-wallet/fijngjgcjhjmmpcmkeiomlglpeiijkld`}}),$=({id:t,name:i,type:s,baseConnector:c,walletDetailsParams:l,chains:u,lunoKitChains:d})=>o(o=>{let f=new a(u);return{...l,id:t,name:i,type:s,showQrModal:!0,signTransaction:t=>_(()=>c.getSigner()).chain(i=>_.liftEither(n.fromNullable(i?.signPayload?.bind(i)).toEither(Error(`signer missing`))).chain(e=>_(()=>e({...t.tx,withSignedTransaction:!0}))).chain(n=>n.signedTransaction?_.liftEither(e(typeof n.signedTransaction==`string`?n.signedTransaction:y(n.signedTransaction))):_.liftEither(r.encase(()=>{let e=new b;e.setMetadata(e.createType(`Metadata`,t.metadataRpc));let r=e.createType(`Extrinsic`,{method:t.tx.method},{version:t.tx.version});return r.addSignature(t.tx.address,n.signature,t.tx),y(r.toU8a())})))).mapLeft(e=>Error(`Failed to sign transaction`,{cause:e})),connect:async e=>{o.emitter.emit(`message`,{type:`connecting`}),c.once(`get_uri`,e=>c.emit(`display_uri`,e));let t=await c.connect(i,d);if(!t||t.length===0)throw Error(`No accounts found`);return o.storage?.removeItem(`substrate.disconnected`),o.storage?.setItem(`substrate.lastConnectedId`,c.id),{accounts:e?.withCapabilities?t.map(e=>({address:e.address,capabilities:{}})):t.map(e=>e.address),chainId:f.getValue()[0].id}},disconnect:()=>(o.storage?.setItem(`substrate.disconnected`,!0),o.storage?.removeItem(`substrate.lastConnectedId`),c.disconnect()),getAccounts:()=>c.getAccounts().then(e=>e.map(e=>e.address)),switchChain:async e=>{let t=f.getValue().find(t=>t.id===e.chainId);if(!t)throw Error(`Chain not found`);return o.emitter.emit(`change`,{chainId:e.chainId}),t},getChainId:async()=>f.getValue()[0].id,isAuthorized:async()=>{if(await o.storage?.getItem(`substrate.disconnected`))return!1;let e=await o.storage?.getItem(`substrate.lastConnectedId`);return!!(e&&e===c.id)},onAccountsChanged:e=>{e.length===0?o.emitter.emit(`disconnect`):o.emitter.emit(`change`,{accounts:e})},onChainChanged:e=>{o.emitter.emit(`change`,{chainId:e})},onDisconnect:()=>{o.emitter.emit(`disconnect`)},getProvider:async()=>c,$filteredChains:f.asObservable()}}),ne=(e,n,r)=>{let a=Q(),o=te(),s=Z({projectId:t.walletConnectV2.projectId}),c={iconUrl:i(p.Polkadot),title:`Substrate`,id:`substrate`},l=()=>({id:s.id,name:s.name,iconUrl:s.icon,iconBackground:`#fff`,chainGroup:c,installed:!0,qrCode:{getUri:e=>e},createConnector:t=>{let r=$({baseConnector:s,id:s.id,name:s.name,type:g.type,walletDetailsParams:t,chains:e,lunoKitChains:n});return e=>{let n=r(e);return{...n,...t,rkDetails:{...t.rkDetails,walletConnectModalConnector:n}}}}});return{groupName:`Substrate`,wallets:r?[l]:[l,()=>({id:o.id,name:o.name,iconUrl:o.icon,iconBackground:`#fff`,chainGroup:c,installed:o.isInstalled(),downloadUrls:{browserExtension:o.links.browserExtension,chrome:o.links.browserExtension},createConnector:t=>$({baseConnector:o,id:o.id,name:o.name,type:g.type,walletDetailsParams:t,chains:e,lunoKitChains:n})}),()=>({id:a.id,name:a.name,iconUrl:a.icon,iconBackground:`#fff`,chainGroup:c,installed:a.isInstalled(),downloadUrls:{browserExtension:a.links.browserExtension,chrome:a.links.browserExtension},createConnector:t=>$({baseConnector:a,id:a.id,name:a.name,type:g.type,walletDetailsParams:t,chains:e,lunoKitChains:n})})]}};export{ne as getSubstrateConnectors};
@@ -1,4 +1,4 @@
1
- import{s as e,t}from"./chunk-CzyJ72yW.js";import{n,t as r}from"./dist-CbYzjs0N.js";import{U as i,b as a,n as o,t as s}from"./createConnector-BcHSC56W.js";import{i as c,t as l}from"./dist-rLdy04_b.js";import{r as u}from"./networks-CWeJ1anG.js";import{E as d,c as f,it as p,j as m,n as h}from"./index-DTVV95ia.js";import{t as g}from"./cjs-C4xHpwSP.js";import{r as _,t as v}from"./dist-Dtx-4lnI.js";var y=t(((e,t)=>{c(),(function(e,n){t!==void 0&&t.exports?t.exports=n():(e.nacl||={},e.nacl.util=n())})(e,function(){var e={};function t(e){if(!/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(e))throw TypeError(`invalid encoding`)}return e.decodeUTF8=function(e){if(typeof e!=`string`)throw TypeError(`expected string`);var t,n=unescape(encodeURIComponent(e)),r=new Uint8Array(n.length);for(t=0;t<n.length;t++)r[t]=n.charCodeAt(t);return r},e.encodeUTF8=function(e){var t,n=[];for(t=0;t<e.length;t++)n.push(String.fromCharCode(e[t]));return decodeURIComponent(escape(n.join(``)))},typeof atob>`u`?l.from===void 0?(e.encodeBase64=function(e){return new l(e).toString(`base64`)},e.decodeBase64=function(e){return t(e),new Uint8Array(Array.prototype.slice.call(new l(e,`base64`),0))}):(e.encodeBase64=function(e){return l.from(e).toString(`base64`)},e.decodeBase64=function(e){return t(e),new Uint8Array(Array.prototype.slice.call(l.from(e,`base64`),0))}):(e.encodeBase64=function(e){var t,n=[],r=e.length;for(t=0;t<r;t++)n.push(String.fromCharCode(e[t]));return btoa(n.join(``))},e.decodeBase64=function(e){t(e);var n,r=atob(e),i=new Uint8Array(r.length);for(n=0;n<r.length;n++)i[n]=r.charCodeAt(n);return i}),e})})),b=v();r();var ee=e(y(),1),te=e(_(),1),ne;(function(e){e[e.UNKNOWN_ERROR=0]=`UNKNOWN_ERROR`,e[e.BAD_REQUEST_ERROR=1]=`BAD_REQUEST_ERROR`,e[e.MANIFEST_NOT_FOUND_ERROR=2]=`MANIFEST_NOT_FOUND_ERROR`,e[e.MANIFEST_CONTENT_ERROR=3]=`MANIFEST_CONTENT_ERROR`,e[e.UNKNOWN_APP_ERROR=100]=`UNKNOWN_APP_ERROR`,e[e.USER_REJECTS_ERROR=300]=`USER_REJECTS_ERROR`,e[e.METHOD_NOT_SUPPORTED=400]=`METHOD_NOT_SUPPORTED`})(ne||={});var re;(function(e){e[e.UNKNOWN_ERROR=0]=`UNKNOWN_ERROR`,e[e.METHOD_NOT_SUPPORTED=400]=`METHOD_NOT_SUPPORTED`})(re||={});var ie;(function(e){e[e.UNKNOWN_ERROR=0]=`UNKNOWN_ERROR`,e[e.BAD_REQUEST_ERROR=1]=`BAD_REQUEST_ERROR`,e[e.UNKNOWN_APP_ERROR=100]=`UNKNOWN_APP_ERROR`,e[e.USER_REJECTS_ERROR=300]=`USER_REJECTS_ERROR`,e[e.METHOD_NOT_SUPPORTED=400]=`METHOD_NOT_SUPPORTED`})(ie||={});var ae;(function(e){e[e.UNKNOWN_ERROR=0]=`UNKNOWN_ERROR`,e[e.BAD_REQUEST_ERROR=1]=`BAD_REQUEST_ERROR`,e[e.UNKNOWN_APP_ERROR=100]=`UNKNOWN_APP_ERROR`,e[e.USER_REJECTS_ERROR=300]=`USER_REJECTS_ERROR`,e[e.METHOD_NOT_SUPPORTED=400]=`METHOD_NOT_SUPPORTED`})(ae||={});var oe;(function(e){e[e.UNKNOWN_ERROR=0]=`UNKNOWN_ERROR`,e[e.BAD_REQUEST_ERROR=1]=`BAD_REQUEST_ERROR`,e[e.UNKNOWN_APP_ERROR=100]=`UNKNOWN_APP_ERROR`,e[e.METHOD_NOT_SUPPORTED=400]=`METHOD_NOT_SUPPORTED`})(oe||={});var se;(function(e){e.MAINNET=`-239`,e.TESTNET=`-3`})(se||={});function ce(e,t){let n=ee.default.encodeBase64(e);return t?encodeURIComponent(n):n}function le(e,t){return t&&(e=decodeURIComponent(e)),ee.default.decodeBase64(e)}function ue(e,t=!1){let n;return e instanceof Uint8Array?n=e:(typeof e!=`string`&&(e=JSON.stringify(e)),n=ee.default.decodeUTF8(e)),ce(n,t)}function de(e,t=!1){let n=le(e,t);return{toString(){return ee.default.encodeUTF8(n)},toObject(){try{return JSON.parse(ee.default.encodeUTF8(n))}catch{return null}},toUint8Array(){return n}}}var fe={encode:ue,decode:de};function pe(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function me(e,t){if(t>=e.length)throw Error(`Index is out of buffer`);return[e.slice(0,t),e.slice(t)]}function he(e){let t=``;return e.forEach(e=>{t+=(`0`+(e&255).toString(16)).slice(-2)}),t}function ge(e){if(e.length%2!=0)throw Error(`Cannot convert ${e} to bytesArray`);let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n/2]=parseInt(e.slice(n,n+2),16);return t}var _e=class{constructor(e){this.nonceLength=24,this.keyPair=e?this.createKeypairFromString(e):this.createKeypair(),this.sessionId=he(this.keyPair.publicKey)}createKeypair(){return te.default.box.keyPair()}createKeypairFromString(e){return{publicKey:ge(e.publicKey),secretKey:ge(e.secretKey)}}createNonce(){return te.default.randomBytes(this.nonceLength)}encrypt(e,t){let n=new TextEncoder().encode(e),r=this.createNonce();return pe(r,te.default.box(n,r,t,this.keyPair.secretKey))}decrypt(e,t){let[n,r]=me(e,this.nonceLength),i=te.default.box.open(r,n,t,this.keyPair.secretKey);if(!i)throw Error(`Decryption error: \n message: ${e.toString()} \n sender pubkey: ${t.toString()} \n keypair pubkey: ${this.keyPair.publicKey.toString()} \n keypair secretkey: ${this.keyPair.secretKey.toString()}`);return new TextDecoder().decode(i)}stringifyKeypair(){return{publicKey:he(this.keyPair.publicKey),secretKey:he(this.keyPair.secretKey)}}};r();function ve(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function x(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}var S=class e extends Error{get info(){return``}constructor(t,n){super(t,n),this.message=`${e.prefix} ${this.constructor.name}${this.info?`: `+this.info:``}${t?`
1
+ import{s as e,t}from"./chunk-CzyJ72yW.js";import{n,t as r}from"./dist-CbYzjs0N.js";import{U as i,b as a,n as o,t as s}from"./createConnector-BcHSC56W.js";import{i as c,t as l}from"./dist-rLdy04_b.js";import{r as u}from"./networks-CWeJ1anG.js";import{E as d,c as f,it as p,j as m,n as h}from"./index-BIOEiLJw.js";import{t as g}from"./cjs-C4xHpwSP.js";import{r as _,t as v}from"./dist-Dtx-4lnI.js";var y=t(((e,t)=>{c(),(function(e,n){t!==void 0&&t.exports?t.exports=n():(e.nacl||={},e.nacl.util=n())})(e,function(){var e={};function t(e){if(!/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(e))throw TypeError(`invalid encoding`)}return e.decodeUTF8=function(e){if(typeof e!=`string`)throw TypeError(`expected string`);var t,n=unescape(encodeURIComponent(e)),r=new Uint8Array(n.length);for(t=0;t<n.length;t++)r[t]=n.charCodeAt(t);return r},e.encodeUTF8=function(e){var t,n=[];for(t=0;t<e.length;t++)n.push(String.fromCharCode(e[t]));return decodeURIComponent(escape(n.join(``)))},typeof atob>`u`?l.from===void 0?(e.encodeBase64=function(e){return new l(e).toString(`base64`)},e.decodeBase64=function(e){return t(e),new Uint8Array(Array.prototype.slice.call(new l(e,`base64`),0))}):(e.encodeBase64=function(e){return l.from(e).toString(`base64`)},e.decodeBase64=function(e){return t(e),new Uint8Array(Array.prototype.slice.call(l.from(e,`base64`),0))}):(e.encodeBase64=function(e){var t,n=[],r=e.length;for(t=0;t<r;t++)n.push(String.fromCharCode(e[t]));return btoa(n.join(``))},e.decodeBase64=function(e){t(e);var n,r=atob(e),i=new Uint8Array(r.length);for(n=0;n<r.length;n++)i[n]=r.charCodeAt(n);return i}),e})})),b=v();r();var ee=e(y(),1),te=e(_(),1),ne;(function(e){e[e.UNKNOWN_ERROR=0]=`UNKNOWN_ERROR`,e[e.BAD_REQUEST_ERROR=1]=`BAD_REQUEST_ERROR`,e[e.MANIFEST_NOT_FOUND_ERROR=2]=`MANIFEST_NOT_FOUND_ERROR`,e[e.MANIFEST_CONTENT_ERROR=3]=`MANIFEST_CONTENT_ERROR`,e[e.UNKNOWN_APP_ERROR=100]=`UNKNOWN_APP_ERROR`,e[e.USER_REJECTS_ERROR=300]=`USER_REJECTS_ERROR`,e[e.METHOD_NOT_SUPPORTED=400]=`METHOD_NOT_SUPPORTED`})(ne||={});var re;(function(e){e[e.UNKNOWN_ERROR=0]=`UNKNOWN_ERROR`,e[e.METHOD_NOT_SUPPORTED=400]=`METHOD_NOT_SUPPORTED`})(re||={});var ie;(function(e){e[e.UNKNOWN_ERROR=0]=`UNKNOWN_ERROR`,e[e.BAD_REQUEST_ERROR=1]=`BAD_REQUEST_ERROR`,e[e.UNKNOWN_APP_ERROR=100]=`UNKNOWN_APP_ERROR`,e[e.USER_REJECTS_ERROR=300]=`USER_REJECTS_ERROR`,e[e.METHOD_NOT_SUPPORTED=400]=`METHOD_NOT_SUPPORTED`})(ie||={});var ae;(function(e){e[e.UNKNOWN_ERROR=0]=`UNKNOWN_ERROR`,e[e.BAD_REQUEST_ERROR=1]=`BAD_REQUEST_ERROR`,e[e.UNKNOWN_APP_ERROR=100]=`UNKNOWN_APP_ERROR`,e[e.USER_REJECTS_ERROR=300]=`USER_REJECTS_ERROR`,e[e.METHOD_NOT_SUPPORTED=400]=`METHOD_NOT_SUPPORTED`})(ae||={});var oe;(function(e){e[e.UNKNOWN_ERROR=0]=`UNKNOWN_ERROR`,e[e.BAD_REQUEST_ERROR=1]=`BAD_REQUEST_ERROR`,e[e.UNKNOWN_APP_ERROR=100]=`UNKNOWN_APP_ERROR`,e[e.METHOD_NOT_SUPPORTED=400]=`METHOD_NOT_SUPPORTED`})(oe||={});var se;(function(e){e.MAINNET=`-239`,e.TESTNET=`-3`})(se||={});function ce(e,t){let n=ee.default.encodeBase64(e);return t?encodeURIComponent(n):n}function le(e,t){return t&&(e=decodeURIComponent(e)),ee.default.decodeBase64(e)}function ue(e,t=!1){let n;return e instanceof Uint8Array?n=e:(typeof e!=`string`&&(e=JSON.stringify(e)),n=ee.default.decodeUTF8(e)),ce(n,t)}function de(e,t=!1){let n=le(e,t);return{toString(){return ee.default.encodeUTF8(n)},toObject(){try{return JSON.parse(ee.default.encodeUTF8(n))}catch{return null}},toUint8Array(){return n}}}var fe={encode:ue,decode:de};function pe(e,t){let n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}function me(e,t){if(t>=e.length)throw Error(`Index is out of buffer`);return[e.slice(0,t),e.slice(t)]}function he(e){let t=``;return e.forEach(e=>{t+=(`0`+(e&255).toString(16)).slice(-2)}),t}function ge(e){if(e.length%2!=0)throw Error(`Cannot convert ${e} to bytesArray`);let t=new Uint8Array(e.length/2);for(let n=0;n<e.length;n+=2)t[n/2]=parseInt(e.slice(n,n+2),16);return t}var _e=class{constructor(e){this.nonceLength=24,this.keyPair=e?this.createKeypairFromString(e):this.createKeypair(),this.sessionId=he(this.keyPair.publicKey)}createKeypair(){return te.default.box.keyPair()}createKeypairFromString(e){return{publicKey:ge(e.publicKey),secretKey:ge(e.secretKey)}}createNonce(){return te.default.randomBytes(this.nonceLength)}encrypt(e,t){let n=new TextEncoder().encode(e),r=this.createNonce();return pe(r,te.default.box(n,r,t,this.keyPair.secretKey))}decrypt(e,t){let[n,r]=me(e,this.nonceLength),i=te.default.box.open(r,n,t,this.keyPair.secretKey);if(!i)throw Error(`Decryption error: \n message: ${e.toString()} \n sender pubkey: ${t.toString()} \n keypair pubkey: ${this.keyPair.publicKey.toString()} \n keypair secretkey: ${this.keyPair.secretKey.toString()}`);return new TextDecoder().decode(i)}stringifyKeypair(){return{publicKey:he(this.keyPair.publicKey),secretKey:he(this.keyPair.secretKey)}}};r();function ve(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function x(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})}var S=class e extends Error{get info(){return``}constructor(t,n){super(t,n),this.message=`${e.prefix} ${this.constructor.name}${this.info?`: `+this.info:``}${t?`
2
2
  `+t:``}`,Object.setPrototypeOf(this,e.prototype)}};S.prefix=`[TON_CONNECT_SDK_ERROR]`;var ye=class e extends S{get info(){return`Passed DappMetadata is in incorrect format.`}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},be=class e extends S{get info(){return"Passed `tonconnect-manifest.json` contains errors. Check format of your manifest. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest"}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},xe=class e extends S{get info(){return"Manifest not found. Make sure you added `tonconnect-manifest.json` to the root of your app or passed correct manifestUrl. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest"}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},Se=class e extends S{get info(){return`Wallet connection called but wallet already connected. To avoid the error, disconnect the wallet before doing a new connection.`}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},Ce=class e extends S{get info(){return`Send transaction or other protocol methods called while wallet is not connected.`}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},we=class e extends S{get info(){return`There is an attempt to connect to the injected wallet while it is not exists in the webpage.`}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},Te=class e extends S{get info(){return`Wallet doesn't support requested feature method.`}constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype)}},Ee=class e extends S{get info(){return`Missing required features. You need to update your wallet.`}constructor(t,n){super(t,n),Object.setPrototypeOf(this,e.prototype)}},De=class e extends S{constructor(t,n){super(t,n),this.name=`WalletWrongNetworkError`,Object.setPrototypeOf(this,e.prototype)}};function Oe(e){return`jsBridgeKey`in e}function ke(e){return`type`in e&&e.type===`wallet-connect`}var Ae=class e extends S{get info(){return`User rejects the action in the wallet.`}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},je=class e extends S{get info(){return`Request to the wallet contains errors.`}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},Me=class e extends S{get info(){return`App tries to send rpc request to the injected wallet while not connected.`}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},Ne=class e extends S{get info(){return`An error occurred while fetching the wallets list.`}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},Pe=class e extends S{get info(){return`Passed address is in incorrect format.`}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},Fe=class e extends S{get info(){return`Passed hex is in incorrect format.`}constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},Ie=class e extends S{constructor(...t){super(...t),Object.setPrototypeOf(this,e.prototype)}},Le={[ne.UNKNOWN_ERROR]:Ie,[ne.USER_REJECTS_ERROR]:Ae,[ne.BAD_REQUEST_ERROR]:je,[ne.UNKNOWN_APP_ERROR]:Me,[ne.MANIFEST_NOT_FOUND_ERROR]:xe,[ne.MANIFEST_CONTENT_ERROR]:be},Re=new class{parseError(e){let t=Ie;return e.code in Le&&(t=Le[e.code]||Ie),new t(e.message)}},ze=class{isError(e){return`error`in e}},Be={[ie.UNKNOWN_ERROR]:Ie,[ie.USER_REJECTS_ERROR]:Ae,[ie.BAD_REQUEST_ERROR]:je,[ie.UNKNOWN_APP_ERROR]:Me},Ve=new class extends ze{convertToRpcRequest(e){return{method:`sendTransaction`,params:[JSON.stringify(e)]}}parseAndThrowError(e){let t=Ie;throw e.error.code in Be&&(t=Be[e.error.code]||Ie),new t(e.error.message)}convertFromRpcResponse(e){return{boc:e.result}}},He={[ae.UNKNOWN_ERROR]:Ie,[ae.USER_REJECTS_ERROR]:Ae,[ae.BAD_REQUEST_ERROR]:je,[ae.UNKNOWN_APP_ERROR]:Me},Ue=new class extends ze{convertToRpcRequest(e){return{method:`signData`,params:[JSON.stringify(e)]}}parseAndThrowError(e){let t=Ie;throw e.error.code in He&&(t=He[e.error.code]||Ie),new t(e.error.message)}convertFromRpcResponse(e){return e.result}},We=class{constructor(e,t){this.storage=e,this.storeKey=`ton-connect-storage_http-bridge-gateway::`+t}storeLastEventId(e){return x(this,void 0,void 0,function*(){return this.storage.setItem(this.storeKey,e)})}removeLastEventId(){return x(this,void 0,void 0,function*(){return this.storage.removeItem(this.storeKey)})}getLastEventId(){return x(this,void 0,void 0,function*(){return(yield this.storage.getItem(this.storeKey))||null})}};function Ge(e){return e.slice(-1)===`/`?e.slice(0,-1):e}function Ke(e,t){return Ge(e)+`/`+t}function qe(e){if(!e)return!1;let t=new URL(e);return t.protocol===`tg:`||t.hostname===`t.me`}function Je(e){return e?e.includes(`ton_addr`)||e.includes(`ton--5Faddr`):!1}function Ye(e){return e.replaceAll(`.`,`%2E`).replaceAll(`-`,`%2D`).replaceAll(`_`,`%5F`).replaceAll(`&`,`-`).replaceAll(`=`,`__`).replaceAll(`%`,`--`)}function Xe(e){return e.replaceAll(`--`,`%`).replaceAll(`__`,`=`).replaceAll(`-`,`&`).replaceAll(`%5F`,`_`).replaceAll(`%2D`,`-`).replaceAll(`%2E`,`.`)}function Ze(e,t){return x(this,void 0,void 0,function*(){return new Promise((t,n)=>{var r;let i=setTimeout(()=>t(),e);(r=void 0)==null||r.addEventListener(`abort`,()=>{clearTimeout(i),n(new S(`Delay aborted`))})})})}function Qe(e){let t=new AbortController;return e?.aborted?t.abort():e?.addEventListener(`abort`,()=>t.abort(),{once:!0}),t}function $e(e,t){return x(this,void 0,void 0,function*(){let n=t?.attempts??10,r=t?.delayMs??200,i=Qe(t?.signal);if(typeof e!=`function`)throw new S(`Expected a function, got ${typeof e}`);let a=0,o;for(;a<n;){if(i.signal.aborted)throw new S(`Aborted after attempts ${a}`);try{return yield e({signal:i.signal})}catch(e){o=e,a++,a<n&&(yield Ze(r))}}throw o})}function et(e,t){let n=null,r=null,i=null,a=null,o=null,s=(s,...c)=>x(this,void 0,void 0,function*(){if(a=s??null,o?.abort(),o=Qe(s),o.signal.aborted)throw new S(`Resource creation was aborted`);r=c??null;let l=e(o.signal,...c);i=l;let u=yield l;if(i!==l&&u!==n)throw yield t(u),new S(`Resource creation was aborted by a new resource creation`);return n=u,n});return{create:s,current:()=>n??null,dispose:()=>x(this,void 0,void 0,function*(){try{let e=n;n=null;let r=i;i=null;try{o?.abort()}catch{}yield Promise.allSettled([e?t(e):Promise.resolve(),r?t(yield r):Promise.resolve()])}catch{}}),recreate:e=>x(this,void 0,void 0,function*(){let t=n,o=i,c=r,l=a;if(yield Ze(e),t===n&&o===i&&c===r&&l===a)return yield s(a,...c??[]);throw new S(`Resource recreation was aborted by a new resource creation`)})}}function tt(e,t){let n=t?.timeout,r=Qe(t?.signal);return new Promise((t,i)=>x(this,void 0,void 0,function*(){if(r.signal.aborted){i(new S(`Operation aborted`));return}let a;n!==void 0&&(a=setTimeout(()=>{r.abort(),i(new S(`Timeout after ${n}ms`))},n)),r.signal.addEventListener(`abort`,()=>{clearTimeout(a),i(new S(`Operation aborted`))},{once:!0}),yield e((...e)=>{clearTimeout(a),t(...e)},()=>{clearTimeout(a),i()},{timeout:n,abort:r.signal})}))}var nt=class{get isReady(){return this.eventSource.current()?.readyState===EventSource.OPEN}get isClosed(){return this.eventSource.current()?.readyState!==EventSource.OPEN}get isConnecting(){return this.eventSource.current()?.readyState===EventSource.CONNECTING}constructor(e,t,n,r,i,a){this.bridgeUrl=t,this.sessionId=n,this.listener=r,this.errorsListener=i,this.ssePath=`events`,this.postPath=`message`,this.heartbeatMessage=`heartbeat`,this.defaultTtl=300,this.defaultReconnectDelay=2e3,this.defaultResendDelay=5e3,this.eventSource=et((e,t,n)=>x(this,void 0,void 0,function*(){return yield rt({bridgeUrl:this.bridgeUrl,ssePath:this.ssePath,sessionId:this.sessionId,bridgeGatewayStorage:this.bridgeGatewayStorage,errorHandler:this.errorsHandler.bind(this),messageHandler:this.messagesHandler.bind(this),signal:e,openingDeadlineMS:t,traceId:n})}),e=>x(this,void 0,void 0,function*(){e.close()})),this.bridgeGatewayStorage=new We(e,t),this.analytics=a?.scoped({bridge_url:t,client_id:n})}registerSession(e){return x(this,void 0,void 0,function*(){var t,n,r;try{(t=this.analytics)==null||t.emitBridgeClientConnectStarted({trace_id:e?.traceId});let r=Date.now();yield this.eventSource.create(e?.signal,e?.openingDeadlineMS,e?.traceId);let i=Date.now()-r;(n=this.analytics)==null||n.emitBridgeClientConnectEstablished({bridge_connect_duration:i,trace_id:e?.traceId})}catch(t){throw(r=this.analytics)==null||r.emitBridgeClientConnectError({trace_id:e?.traceId,error_message:String(t)}),t}})}send(e,t,n,r){return x(this,void 0,void 0,function*(){let i={};typeof r==`number`?i.ttl=r:(i.ttl=r?.ttl,i.signal=r?.signal,i.attempts=r?.attempts,i.traceId=r?.traceId);let a=new URL(Ke(this.bridgeUrl,this.postPath));a.searchParams.append(`client_id`,this.sessionId),a.searchParams.append(`to`,t),a.searchParams.append(`ttl`,(i?.ttl||this.defaultTtl).toString()),a.searchParams.append(`topic`,n),i?.traceId&&a.searchParams.append(`trace_id`,i.traceId);let o=fe.encode(e);yield $e(e=>x(this,void 0,void 0,function*(){let t=yield this.post(a,o,e.signal);if(!t.ok)throw new S(`Bridge send failed, status ${t.status}`)}),{attempts:i?.attempts??2**53-1,delayMs:this.defaultResendDelay,signal:i?.signal})})}pause(){this.eventSource.dispose().catch(e=>(`${e}`,void 0))}unPause(){return x(this,void 0,void 0,function*(){yield this.eventSource.recreate(0)})}close(){return x(this,void 0,void 0,function*(){yield this.eventSource.dispose().catch(e=>(`${e}`,void 0))})}setListener(e){this.listener=e}setErrorsListener(e){this.errorsListener=e}post(e,t,n){return x(this,void 0,void 0,function*(){let r=yield fetch(e,{method:`post`,body:t,signal:n});if(!r.ok)throw new S(`Bridge send failed, status ${r.status}`);return r})}errorsHandler(e,t){return x(this,void 0,void 0,function*(){if(this.isConnecting)throw e.close(),new S(`Bridge error, failed to connect`);if(this.isReady){try{this.errorsListener(t)}catch{}return}if(this.isClosed)return e.close(),`${this.defaultReconnectDelay}`,yield this.eventSource.recreate(this.defaultReconnectDelay);throw new S(`Bridge error, unknown state`)})}messagesHandler(e){return x(this,void 0,void 0,function*(){if(e.data===this.heartbeatMessage||(yield this.bridgeGatewayStorage.storeLastEventId(e.lastEventId),this.isClosed))return;let t;try{let n=JSON.parse(e.data);t={message:n.message,from:n.from,traceId:n.trace_id}}catch{throw new S(`Bridge message parse failed, message ${e.data}`)}this.listener(t)})}};function rt(e){return x(this,void 0,void 0,function*(){return yield tt((t,n,r)=>x(this,void 0,void 0,function*(){var i;let a=Qe(r.signal).signal;if(a.aborted){n(new S(`Bridge connection aborted`));return}let o=new URL(Ke(e.bridgeUrl,e.ssePath));o.searchParams.append(`client_id`,e.sessionId);let s=yield e.bridgeGatewayStorage.getLastEventId();if(s&&o.searchParams.append(`last_event_id`,s),e.traceId&&o.searchParams.append(`trace_id`,e.traceId),a.aborted){n(new S(`Bridge connection aborted`));return}let c=new EventSource(o.toString());c.onerror=r=>x(this,void 0,void 0,function*(){if(a.aborted){c.close(),n(new S(`Bridge connection aborted`));return}try{let n=yield e.errorHandler(c,r);n!==c&&c.close(),n&&n!==c&&t(n)}catch(e){c.close(),n(e)}}),c.onopen=()=>{if(a.aborted){c.close(),n(new S(`Bridge connection aborted`));return}t(c)},c.onmessage=t=>{if(a.aborted){c.close(),n(new S(`Bridge connection aborted`));return}e.messageHandler(t)},(i=e.signal)==null||i.addEventListener(`abort`,()=>{c.close(),n(new S(`Bridge connection aborted`))})}),{timeout:e.openingDeadlineMS,signal:e.signal})})}var it=300*1e3;function at(e){return!(`connectEvent`in e)}function ot(e){return!(`connectEvent`in e)}function st(e){return Date.now()-(e.createdAt??0)>it}var ct=2,lt,ut=new Uint8Array(16);function dt(){if(!lt){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);lt=crypto.getRandomValues.bind(crypto)}return lt(ut)}var C=[];for(let e=0;e<256;++e)C.push((e+256).toString(16).slice(1));function ft(e,t=0){return(C[e[t+0]]+C[e[t+1]]+C[e[t+2]]+C[e[t+3]]+`-`+C[e[t+4]]+C[e[t+5]]+`-`+C[e[t+6]]+C[e[t+7]]+`-`+C[e[t+8]]+C[e[t+9]]+`-`+C[e[t+10]]+C[e[t+11]]+C[e[t+12]]+C[e[t+13]]+C[e[t+14]]+C[e[t+15]]).toLowerCase()}var pt={};function w(e,t,n){let r;if(e)r=ht(e.random??e.rng?.call(e)??dt(),e.msecs,e.seq,t,n);else{let e=Date.now(),i=dt();mt(pt,e,i),r=ht(i,pt.msecs,pt.seq,t,n)}return t??ft(r)}function mt(e,t,n){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=n[6]<<23|n[7]<<16|n[8]<<8|n[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function ht(e,t,n,r,i=0){if(e.length<16)throw Error(`Random bytes length must be >= 16`);if(!r)r=new Uint8Array(16),i=0;else if(i<0||i+16>r.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);return t??=Date.now(),n??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],r[i++]=t/1099511627776&255,r[i++]=t/4294967296&255,r[i++]=t/16777216&255,r[i++]=t/65536&255,r[i++]=t/256&255,r[i++]=t&255,r[i++]=112|n>>>28&15,r[i++]=n>>>20&255,r[i++]=128|n>>>14&63,r[i++]=n>>>6&255,r[i++]=n<<2&255|e[10]&3,r[i++]=e[11],r[i++]=e[12],r[i++]=e[13],r[i++]=e[14],r[i++]=e[15],r}function gt(e,t){return x(this,void 0,void 0,function*(){if(t<=0)return[];if(t>e.length)throw RangeError(`count cannot be greater than the number of promises`);let n=Array(e.length),r=0;return new Promise(i=>{e.forEach((e,a)=>{Promise.resolve(e).then(e=>({status:`fulfilled`,value:e})).catch(e=>({status:`rejected`,reason:e})).then(e=>{n[a]=e,r++,r===t&&i(n)})})})})}var _t=class e{static fromStorage(t,n){return x(this,void 0,void 0,function*(){let r=yield t.getHttpConnection();return at(r)?new e(t,r.connectionSource,n):new e(t,{bridgeUrl:r.session.bridgeUrl},n)})}constructor(e,t,n){this.connectionStorage=e,this.walletConnectionSource=t,this.analyticsManager=n,this.type=`http`,this.standardUniversalLink=`tc://`,this.pendingRequests=new Map,this.session=null,this.gateway=null,this.pendingGateways=[],this.listeners=[],this.defaultOpeningDeadlineMS=12e3,this.defaultRetryTimeoutMS=2e3,this.optionalOpenGateways=3,this.analytics=this.analyticsManager?.scoped()}connect(e,t){var n;let r=t?.traceId??w(),i=Qe(t?.signal);(n=this.abortController)==null||n.abort(),this.abortController=i,this.closeGateways();let a=new _e;this.session={sessionCrypto:a,bridgeUrl:`bridgeUrl`in this.walletConnectionSource?this.walletConnectionSource.bridgeUrl:``},this.connectionStorage.storeConnection({type:`http`,connectionSource:this.walletConnectionSource,sessionCrypto:a}).then(()=>x(this,void 0,void 0,function*(){i.signal.aborted||(yield $e(e=>this.openGateways(a,{openingDeadlineMS:t?.openingDeadlineMS??this.defaultOpeningDeadlineMS,signal:e?.signal,traceId:r}),{attempts:2**53-1,delayMs:this.defaultRetryTimeoutMS,signal:i.signal}))}));let o=`universalLink`in this.walletConnectionSource&&this.walletConnectionSource.universalLink?this.walletConnectionSource.universalLink:this.standardUniversalLink;return this.generateUniversalLink(o,e,{traceId:r})}restoreConnection(e){return x(this,void 0,void 0,function*(){var t;let n=e?.traceId??w(),r=Qe(e?.signal);if((t=this.abortController)==null||t.abort(),this.abortController=r,r.signal.aborted)return;this.closeGateways();let i=yield this.connectionStorage.getHttpConnection();if(!i||r.signal.aborted)return;let a=e?.openingDeadlineMS??this.defaultOpeningDeadlineMS;if(at(i))return this.session={sessionCrypto:i.sessionCrypto,bridgeUrl:`bridgeUrl`in this.walletConnectionSource?this.walletConnectionSource.bridgeUrl:``},yield this.openGateways(i.sessionCrypto,{openingDeadlineMS:a,signal:r?.signal,traceId:e?.traceId});if(Array.isArray(this.walletConnectionSource))throw new S(`Internal error. Connection source is array while WalletConnectionSourceHTTP was expected.`);if(this.session=i.session,this.gateway&&(yield this.gateway.close()),this.gateway=new nt(this.connectionStorage.storage,this.walletConnectionSource.bridgeUrl,i.session.sessionCrypto.sessionId,this.gatewayListener.bind(this),this.gatewayErrorsListener.bind(this),this.analyticsManager),!r.signal.aborted){this.listeners.forEach(e=>e(Object.assign(Object.assign({},i.connectEvent),{traceId:n})));try{yield $e(e=>this.gateway.registerSession({openingDeadlineMS:a,signal:e.signal,traceId:n}),{attempts:2**53-1,delayMs:this.defaultRetryTimeoutMS,signal:r.signal})}catch{yield this.disconnect({signal:r.signal,traceId:n});return}}})}sendRequest(e,t){let n={};return typeof t==`function`?n.onRequestSent=t:(n.onRequestSent=t?.onRequestSent,n.signal=t?.signal,n.attempts=t?.attempts,n.traceId=t?.traceId),n.traceId??=w(),new Promise((t,r)=>x(this,void 0,void 0,function*(){var i,a;if(!this.gateway||!this.session||!(`walletPublicKey`in this.session))throw new S(`Trying to send bridge request without session`);let o=(yield this.connectionStorage.getNextRpcRequestId()).toString();yield this.connectionStorage.increaseNextRpcRequestId(),Object.assign(Object.assign({},e),{id:o});let s=this.session.sessionCrypto.encrypt(JSON.stringify(Object.assign(Object.assign({},e),{id:o})),ge(this.session.walletPublicKey));try{(i=this.analytics)==null||i.emitBridgeClientMessageSent({bridge_url:this.gateway.bridgeUrl,client_id:this.session.sessionCrypto.sessionId,wallet_id:this.session.walletPublicKey,message_id:o,request_type:e.method,trace_id:n.traceId}),yield this.gateway.send(s,this.session.walletPublicKey,e.method,{attempts:n?.attempts,signal:n?.signal,traceId:n.traceId}),(a=n?.onRequestSent)==null||a.call(n),this.pendingRequests.set(o.toString(),t)}catch(e){r(e)}}))}closeConnection(){this.closeGateways(),this.listeners=[],this.session=null,this.gateway=null}disconnect(e){return x(this,void 0,void 0,function*(){let t=e?.traceId??w();return new Promise(n=>x(this,void 0,void 0,function*(){let r=!1,i=null,a=()=>{r||(r=!0,this.removeBridgeAndSession().then(n))};try{this.closeGateways();let n=Qe(e?.signal);i=setTimeout(()=>{n.abort()},this.defaultOpeningDeadlineMS),yield this.sendRequest({method:`disconnect`,params:[]},{onRequestSent:a,signal:n.signal,attempts:1,traceId:t})}catch{r||this.removeBridgeAndSession().then(n)}finally{i&&clearTimeout(i),a()}}))})}listen(e){return this.listeners.push(e),()=>this.listeners=this.listeners.filter(t=>t!==e)}pause(){var e;(e=this.gateway)==null||e.pause(),this.pendingGateways.forEach(e=>e.pause())}unPause(){return x(this,void 0,void 0,function*(){let e=this.pendingGateways.map(e=>e.unPause());this.gateway&&e.push(this.gateway.unPause()),yield Promise.all(e)})}pendingGatewaysListener(e,t,n){return x(this,void 0,void 0,function*(){if(!this.pendingGateways.includes(e)){yield e.close();return}return this.closeGateways({except:e}),this.gateway&&(yield this.gateway.close()),this.session.bridgeUrl=t,this.gateway=e,this.gateway.setErrorsListener(this.gatewayErrorsListener.bind(this)),this.gateway.setListener(this.gatewayListener.bind(this)),this.gatewayListener(n)})}gatewayListener(e){return x(this,void 0,void 0,function*(){var t,n;let r=e.traceId??w(),i;try{i=JSON.parse(this.session.sessionCrypto.decrypt(fe.decode(e.message).toUint8Array(),ge(e.from)))}catch(n){throw(t=this.analytics)==null||t.emitBridgeClientMessageDecodeError({bridge_url:this.session.bridgeUrl,client_id:this.session.sessionCrypto.sessionId,wallet_id:e.from,error_message:String(n),trace_id:e?.traceId}),n}let a=`event`in i?i.event:``;if((n=this.analytics)==null||n.emitBridgeClientMessageReceived({bridge_url:this.session.bridgeUrl,client_id:this.session.sessionCrypto.sessionId,wallet_id:e.from,message_id:String(i.id),request_type:a,trace_id:e?.traceId}),!(`event`in i)){let e=i.id.toString(),t=this.pendingRequests.get(e);if(!t){`${e}`;return}t(Object.assign(Object.assign({},i),{traceId:r})),this.pendingRequests.delete(e);return}if(i.id!==void 0){let e=yield this.connectionStorage.getLastWalletEventId();if(e!==void 0&&i.id<=e){`${i.id}${e}`;return}i.event!==`connect`&&(yield this.connectionStorage.storeLastWalletEventId(i.id))}let o=this.listeners;i.event===`connect`&&(yield this.updateSession(i,e.from)),i.event===`disconnect`&&(yield this.removeBridgeAndSession()),o.forEach(e=>e(Object.assign(Object.assign({},i),{traceId:r})))})}gatewayErrorsListener(e){return x(this,void 0,void 0,function*(){throw new S(`Bridge error ${JSON.stringify(e)}`)})}updateSession(e,t){return x(this,void 0,void 0,function*(){this.session=Object.assign(Object.assign({},this.session),{walletPublicKey:t});let n=e.payload.items.find(e=>e.name===`ton_addr`),r=Object.assign(Object.assign({},e),{payload:Object.assign(Object.assign({},e.payload),{items:[n]})});yield this.connectionStorage.storeConnection({type:`http`,session:this.session,lastWalletEventId:e.id,connectEvent:r,nextRpcRequestId:0})})}removeBridgeAndSession(){return x(this,void 0,void 0,function*(){this.closeConnection(),yield this.connectionStorage.removeConnection()})}generateUniversalLink(e,t,n){return qe(e)?this.generateTGUniversalLink(e,t,n):this.generateRegularUniversalLink(e,t,n)}generateRegularUniversalLink(e,t,n){let r=new URL(e);return r.searchParams.append(`v`,ct.toString()),r.searchParams.append(`id`,this.session.sessionCrypto.sessionId),r.searchParams.append(`trace_id`,n.traceId),r.searchParams.append(`r`,JSON.stringify(t)),r.toString()}generateTGUniversalLink(e,t,n){let r=this.generateRegularUniversalLink(`about:blank`,t,n).split(`?`)[1],i=`tonconnect-`+Ye(r),a=this.convertToDirectLink(e),o=new URL(a);return o.searchParams.append(`startapp`,i),o.toString()}convertToDirectLink(e){let t=new URL(e);return t.searchParams.has(`attach`)&&(t.searchParams.delete(`attach`),t.pathname+=`/start`),t.toString()}openGateways(e,t){return x(this,void 0,void 0,function*(){let n=t?.traceId??w();if(Array.isArray(this.walletConnectionSource)){this.pendingGateways.map(e=>e.close().catch()),this.pendingGateways=this.walletConnectionSource.map(t=>{let n=new nt(this.connectionStorage.storage,t.bridgeUrl,e.sessionId,()=>{},()=>{},this.analyticsManager);return n.setListener(e=>this.pendingGatewaysListener(n,t.bridgeUrl,e)),n});let r=Math.max(this.pendingGateways.length-this.optionalOpenGateways,1);yield gt(this.pendingGateways.map(e=>$e(r=>this.pendingGateways.some(t=>t===e)?e.registerSession({openingDeadlineMS:t?.openingDeadlineMS??this.defaultOpeningDeadlineMS,signal:r.signal,traceId:n}):e.close(),{attempts:2**53-1,delayMs:this.defaultRetryTimeoutMS,signal:t?.signal})),r);return}else return this.gateway&&(yield this.gateway.close()),this.gateway=new nt(this.connectionStorage.storage,this.walletConnectionSource.bridgeUrl,e.sessionId,this.gatewayListener.bind(this),this.gatewayErrorsListener.bind(this),this.analyticsManager),yield this.gateway.registerSession({openingDeadlineMS:t?.openingDeadlineMS,signal:t?.signal,traceId:n})})}closeGateways(e){var t;(t=this.gateway)==null||t.close(),this.pendingGateways.filter(t=>t!==e?.except).forEach(e=>e.close()),this.pendingGateways=[]}};function vt(e,t){return yt(e,[t])}function yt(e,t){return!e||typeof e!=`object`?!1:t.every(t=>t in e)}function bt(e){try{return!vt(e,`tonconnect`)||!vt(e.tonconnect,`walletInfo`)?!1:yt(e.tonconnect.walletInfo,[`name`,`app_name`,`image`,`about_url`,`platforms`])}catch{return!1}}var xt=class e{static getInstance(){return e.instance||=new e,e.instance}constructor(){this.storage={}}get length(){return Object.keys(this.storage).length}clear(){this.storage={}}getItem(e){return this.storage[e]??null}key(e){let t=Object.keys(this.storage);return e<0||e>=t.length?null:t[e]??null}removeItem(e){delete this.storage[e]}setItem(e,t){this.storage[e]=t}};function St(){if(!(typeof window>`u`))return window}function Ct(){if(!(typeof document>`u`))return document}function wt(){let e=St()?.location.origin;return e?e+`/tonconnect-manifest.json`:``}function Tt(){let e=St()?.location?.origin,t=St()?.location?.pathname;return e&&t?e+t:``}function Et(){if(Dt())return localStorage;if(Ot())throw new S("`localStorage` is unavailable, but it is required for TonConnect. For more details, see https://github.com/ton-connect/sdk/tree/main/packages/sdk#init-connector");return xt.getInstance()}function Dt(){try{return typeof localStorage<`u`}catch{return!1}}function Ot(){return n!==void 0&&n.versions!=null&&n.versions.node!=null}function kt(){try{return typeof window<`u`&&window.location?window.location.hostname:null}catch{return null}}function At(){let e=St();if(!e)return[];try{return Object.entries(e)}catch{return[]}}var jt=class e{static fromStorage(t,n){return x(this,void 0,void 0,function*(){return new e(t,(yield t.getInjectedConnection()).jsBridgeKey,n)})}static isWalletInjected(t){return e.isWindowContainsWallet(this.window,t)}static isInsideWalletBrowser(t){return e.isWindowContainsWallet(this.window,t)?this.window[t].tonconnect.isWalletBrowser:!1}static getCurrentlyInjectedWallets(){return this.window?At().filter(([e,t])=>bt(t)).map(([e,t])=>({name:t.tonconnect.walletInfo.name,appName:t.tonconnect.walletInfo.app_name,aboutUrl:t.tonconnect.walletInfo.about_url,imageUrl:t.tonconnect.walletInfo.image,tondns:t.tonconnect.walletInfo.tondns,jsBridgeKey:e,injected:!0,embedded:t.tonconnect.isWalletBrowser,platforms:t.tonconnect.walletInfo.platforms,features:t.tonconnect.walletInfo.features})):[]}static isWindowContainsWallet(e,t){return!!e&&t in e&&typeof e[t]==`object`&&`tonconnect`in e[t]}constructor(t,n,r){this.connectionStorage=t,this.injectedWalletKey=n,this.type=`injected`,this.unsubscribeCallback=null,this.listenSubscriptions=!1,this.listeners=[];let i=e.window;if(!e.isWindowContainsWallet(i,n))throw new we;this.injectedWallet=i[n].tonconnect,r&&(this.analytics=r.scoped({bridge_key:n,wallet_app_name:this.injectedWallet.deviceInfo.appName,wallet_app_version:this.injectedWallet.deviceInfo.appVersion}))}connect(e,t){this._connect(ct,e,t)}restoreConnection(e){return x(this,void 0,void 0,function*(){var t,n,r;let i=e?.traceId??w();try{(t=this.analytics)==null||t.emitJsBridgeCall({js_bridge_method:`restoreConnection`,trace_id:i});let e=yield this.injectedWallet.restoreConnection();(n=this.analytics)==null||n.emitJsBridgeResponse({js_bridge_method:`restoreConnection`,trace_id:i}),e.event===`connect`?(this.makeSubscriptions({traceId:i}),this.listeners.forEach(t=>t(Object.assign(Object.assign({},e),{traceId:i})))):yield this.connectionStorage.removeConnection()}catch(e){(r=this.analytics)==null||r.emitJsBridgeError({js_bridge_method:`restoreConnection`,error_message:String(e),trace_id:i}),yield this.connectionStorage.removeConnection()}})}closeConnection(){this.listenSubscriptions&&this.injectedWallet.disconnect(),this.closeAllListeners()}disconnect(e){return x(this,void 0,void 0,function*(){let t=e?.traceId??w();return new Promise(e=>{let n=()=>{this.closeAllListeners(),this.connectionStorage.removeConnection().then(e)};try{this.injectedWallet.disconnect(),n()}catch{this.sendRequest({method:`disconnect`,params:[]},{onRequestSent:n,traceId:t})}})})}closeAllListeners(){var e;this.listenSubscriptions=!1,this.listeners=[],(e=this.unsubscribeCallback)==null||e.call(this)}listen(e){return this.listeners.push(e),()=>this.listeners=this.listeners.filter(t=>t!==e)}sendRequest(e,t){return x(this,void 0,void 0,function*(){var n,r;let i={};typeof t==`function`?(i.onRequestSent=t,i.traceId=w()):(i.onRequestSent=t?.onRequestSent,i.signal=t?.signal,i.attempts=t?.attempts,i.traceId=t?.traceId??w());let a=(yield this.connectionStorage.getNextRpcRequestId()).toString();yield this.connectionStorage.increaseNextRpcRequestId(),Object.assign(Object.assign({},e),{id:a}),(n=this.analytics)==null||n.emitJsBridgeCall({js_bridge_method:`send`});let o=this.injectedWallet.send(Object.assign(Object.assign({},e),{id:a}));return o.then(e=>{var t;(t=this.analytics)==null||t.emitJsBridgeResponse({js_bridge_method:`send`})}).catch(e=>{var t;(t=this.analytics)==null||t.emitJsBridgeError({js_bridge_method:`send`,error_message:String(e)})}),(r=i?.onRequestSent)==null||r.call(i),o})}_connect(e,t,n){return x(this,void 0,void 0,function*(){var r,i,a;let o=n?.traceId??w();try{`${e}`,(r=this.analytics)==null||r.emitJsBridgeCall({js_bridge_method:`connect`,trace_id:o});let n=yield this.injectedWallet.connect(e,t);(i=this.analytics)==null||i.emitJsBridgeResponse({js_bridge_method:`connect`}),n.event===`connect`&&(yield this.updateSession(),this.makeSubscriptions({traceId:o})),this.listeners.forEach(e=>e(Object.assign(Object.assign({},n),{traceId:o})))}catch(e){(a=this.analytics)==null||a.emitJsBridgeError({js_bridge_method:`connect`,error_message:String(e),trace_id:o});let t={event:`connect_error`,payload:{code:0,message:e?.toString()}};this.listeners.forEach(e=>e(Object.assign(Object.assign({},t),{traceId:o})))}})}makeSubscriptions(e){var t,n,r;this.listenSubscriptions=!0,(t=this.analytics)==null||t.emitJsBridgeCall({js_bridge_method:`listen`,trace_id:e.traceId});try{this.unsubscribeCallback=this.injectedWallet.listen(e=>{let t=e.traceId??w();this.listenSubscriptions&&this.listeners.forEach(n=>n(Object.assign(Object.assign({},e),{traceId:t}))),e.event===`disconnect`&&this.disconnect({traceId:t})}),(n=this.analytics)==null||n.emitJsBridgeResponse({js_bridge_method:`listen`,trace_id:e.traceId})}catch(t){throw(r=this.analytics)==null||r.emitJsBridgeError({js_bridge_method:`listen`,error_message:String(t),trace_id:e.traceId}),t}}updateSession(){return this.connectionStorage.storeConnection({type:`injected`,jsBridgeKey:this.injectedWalletKey,nextRpcRequestId:0})}};jt.window=St();var Mt=class{constructor(e,t){this.storage=e,this.walletsListManager=t,this.storeKey=`ton-connect-storage_bridge-connection`}storeConnection(e){return x(this,void 0,void 0,function*(){if(e.type===`injected`||e.type===`wallet-connect`)return this.storage.setItem(this.storeKey,JSON.stringify(e));if(!at(e)){let t={sessionKeyPair:e.session.sessionCrypto.stringifyKeypair(),walletPublicKey:e.session.walletPublicKey,bridgeUrl:e.session.bridgeUrl},n={type:`http`,connectEvent:e.connectEvent,session:t,lastWalletEventId:e.lastWalletEventId,nextRpcRequestId:e.nextRpcRequestId};return this.storage.setItem(this.storeKey,JSON.stringify(n))}let t={type:`http`,connectionSource:e.connectionSource,sessionCrypto:e.sessionCrypto.stringifyKeypair(),createdAt:Date.now()};return this.storage.setItem(this.storeKey,JSON.stringify(t))})}removeConnection(){return x(this,void 0,void 0,function*(){return this.storage.removeItem(this.storeKey)})}getConnection(){return x(this,void 0,void 0,function*(){try{let e=yield this.storage.getItem(this.storeKey);if(!e)return null;let t=JSON.parse(e);if(t.type===`injected`||t.type===`wallet-connect`)return t;if(!ot(t)){let e=new _e(t.session.sessionKeyPair);return yield this.actualizeBridgeConnection({type:`http`,connectEvent:t.connectEvent,lastWalletEventId:t.lastWalletEventId,nextRpcRequestId:t.nextRpcRequestId,session:{sessionCrypto:e,bridgeUrl:t.session.bridgeUrl,walletPublicKey:t.session.walletPublicKey}})}return st(t)?(yield this.removeConnection(),null):{type:`http`,sessionCrypto:new _e(t.sessionCrypto),connectionSource:t.connectionSource}}catch{return null}})}getHttpConnection(){return x(this,void 0,void 0,function*(){let e=yield this.getConnection();if(!e)throw new S(`Trying to read HTTP connection source while nothing is stored`);if(e.type!==`http`)throw new S(`Trying to read HTTP connection source while ${e.type} connection is stored`);return e})}getHttpPendingConnection(){return x(this,void 0,void 0,function*(){let e=yield this.getConnection();if(!e)throw new S(`Trying to read HTTP connection source while nothing is stored`);if(e.type!==`http`)throw new S(`Trying to read HTTP connection source while ${e.type} connection is stored`);if(!at(e))throw new S(`Trying to read HTTP-pending connection while http connection is stored`);return e})}getInjectedConnection(){return x(this,void 0,void 0,function*(){let e=yield this.getConnection();if(!e)throw new S(`Trying to read Injected bridge connection source while nothing is stored`);if(e?.type!==`injected`)throw new S(`Trying to read Injected bridge connection source while ${e.type} connection is stored`);return e})}getWalletConnectConnection(){return x(this,void 0,void 0,function*(){let e=yield this.getConnection();if(!e)throw new S(`Trying to read wallet connect bridge connection source while nothing is stored`);if(e?.type!==`wallet-connect`)throw new S(`Trying to read wallet connect bridge connection source while ${e.type} connection is stored`);return e})}storedConnectionType(){return x(this,void 0,void 0,function*(){let e=yield this.storage.getItem(this.storeKey);return e?JSON.parse(e).type:null})}storeLastWalletEventId(e){return x(this,void 0,void 0,function*(){let t=yield this.getConnection();if(t&&t.type===`http`&&!at(t))return t.lastWalletEventId=e,this.storeConnection(t)})}getLastWalletEventId(){return x(this,void 0,void 0,function*(){let e=yield this.getConnection();if(e&&`lastWalletEventId`in e)return e.lastWalletEventId})}increaseNextRpcRequestId(){return x(this,void 0,void 0,function*(){let e=yield this.getConnection();if(e&&`nextRpcRequestId`in e)return e.nextRpcRequestId=(e.nextRpcRequestId||0)+1,this.storeConnection(e)})}getNextRpcRequestId(){return x(this,void 0,void 0,function*(){let e=yield this.getConnection();return e&&`nextRpcRequestId`in e&&e.nextRpcRequestId||0})}actualizeBridgeConnection(e){return x(this,void 0,void 0,function*(){try{let t=e.connectEvent.payload.device.appName,n=yield this.walletsListManager.getRemoteWallet(t);if(n.bridgeUrl===e.session.bridgeUrl)return e;let r=Object.assign(Object.assign({},e),{session:Object.assign(Object.assign({},e.session),{bridgeUrl:n.bridgeUrl})});return yield this.storeConnection(r),r}catch{return e}})}},Nt=class{constructor(){this.localStorage=Et()}getItem(e){return x(this,void 0,void 0,function*(){return this.localStorage.getItem(e)})}removeItem(e){return x(this,void 0,void 0,function*(){this.localStorage.removeItem(e)})}setItem(e,t){return x(this,void 0,void 0,function*(){this.localStorage.setItem(e,t)})}};function Pt(e){return It(e)&&e.injected}function Ft(e){return Pt(e)&&e.embedded}function It(e){return`jsBridgeKey`in e}function Lt(e){return`bridgeUrl`in e}var Rt=[{app_name:`telegram-wallet`,name:`Wallet`,image:`https://wallet.tg/images/logo-288.png`,about_url:`https://wallet.tg/`,universal_url:`https://t.me/wallet?attach=wallet`,bridge:[{type:`sse`,url:`https://walletbot.me/tonconnect-bridge/bridge`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!0},{name:`SignData`,types:[`text`,`binary`,`cell`]}]},{app_name:`tonkeeper`,name:`Tonkeeper`,image:`https://tonkeeper.com/assets/tonconnect-icon.png`,tondns:`tonkeeper.ton`,about_url:`https://tonkeeper.com`,universal_url:`https://app.tonkeeper.com/ton-connect`,deepLink:`tonkeeper-tc://`,bridge:[{type:`sse`,url:`https://bridge.tonapi.io/bridge`},{type:`js`,key:`tonkeeper`}],platforms:[`ios`,`android`,`chrome`,`firefox`,`macos`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!0},{name:`SignData`,types:[`text`,`binary`,`cell`]}]},{app_name:`mytonwallet`,name:`MyTonWallet`,image:`https://static.mytonwallet.io/icon-256.png`,about_url:`https://mytonwallet.io`,universal_url:`https://connect.mytonwallet.org`,deepLink:`mytonwallet-tc://`,bridge:[{type:`js`,key:`mytonwallet`},{type:`sse`,url:`https://tonconnectbridge.mytonwallet.org/bridge/`}],platforms:[`chrome`,`windows`,`macos`,`linux`,`ios`,`android`,`firefox`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!1},{name:`SignData`,types:[`text`,`binary`,`cell`]}]},{app_name:`tonhub`,name:`Tonhub`,image:`https://tonhub.com/tonconnect_logo.png`,about_url:`https://tonhub.com`,universal_url:`https://tonhub.com/ton-connect`,bridge:[{type:`js`,key:`tonhub`},{type:`sse`,url:`https://connect.tonhubapi.com/tonconnect`}],platforms:[`ios`,`android`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!0},{name:`SignData`,types:[`text`,`binary`,`cell`]}]},{app_name:`bitgetTonWallet`,name:`Bitget Wallet`,image:`https://raw.githubusercontent.com/bitgetwallet/download/refs/heads/main/logo/png/bitget_wallet_logo_288_mini.png`,about_url:`https://web3.bitget.com`,deepLink:`bitkeep://`,bridge:[{type:`js`,key:`bitgetTonWallet`},{type:`sse`,url:`https://ton-connect-bridge.bgwapi.io/bridge`}],platforms:[`ios`,`android`,`chrome`],universal_url:`https://bkcode.vip/ton-connect`,features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`okxMiniWallet`,name:`OKX Mini Wallet`,image:`https://static.okx.com/cdn/assets/imgs/2411/8BE1A4A434D8F58A.png`,about_url:`https://www.okx.com/web3`,universal_url:`https://t.me/OKX_WALLET_BOT?attach=wallet`,bridge:[{type:`sse`,url:`https://www.okx.com/tonbridge/discover/rpc/bridge`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`binanceWeb3TonWallet`,name:`Binance Wallet`,image:`https://public.bnbstatic.com/static/binance-w3w/ton-provider/binancew3w.png`,about_url:`https://www.binance.com/en/web3wallet`,deepLink:`bnc://app.binance.com/cedefi/ton-connect`,bridge:[{type:`js`,key:`binancew3w`},{type:`sse`,url:`https://wallet.binance.com/tonbridge/bridge`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],universal_url:`https://app.binance.com/cedefi/ton-connect`,features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`fintopio-tg`,name:`Fintopio`,image:`https://raw.githubusercontent.com/fintopio/ton-pub/refs/heads/main/logos/tonconnect-icon.png`,about_url:`https://fintopio.com`,universal_url:`https://t.me/fintopio?attach=wallet`,bridge:[{type:`sse`,url:`https://wallet-bridge.fintopio.com/bridge`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`okxTonWallet`,name:`OKX Wallet`,image:`https://static.okx.com/cdn/assets/imgs/247/58E63FEA47A2B7D7.png`,about_url:`https://www.okx.com/web3`,universal_url:`https://www.okx.com/download?appendQuery=true&deeplink=okx://web3/wallet/tonconnect`,bridge:[{type:`js`,key:`okxTonWallet`},{type:`sse`,url:`https://www.okx.com/tonbridge/discover/rpc/bridge`}],platforms:[`chrome`,`safari`,`firefox`,`ios`,`android`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`hot`,name:`HOT`,image:`https://raw.githubusercontent.com/hot-dao/media/main/logo.png`,about_url:`https://hot-labs.org/`,universal_url:`https://t.me/herewalletbot?attach=wallet`,bridge:[{type:`sse`,url:`https://sse-bridge.hot-labs.org`},{type:`js`,key:`hotWallet`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`bybitTonWallet`,name:`Bybit Wallet`,image:`https://raw.githubusercontent.com/bybit-web3/bybit-web3.github.io/main/docs/images/bybit-logo.png`,about_url:`https://www.bybit.com/web3`,universal_url:`https://app.bybit.com/ton-connect`,deepLink:`bybitapp://`,bridge:[{type:`js`,key:`bybitTonWallet`},{type:`sse`,url:`https://api-node.bybit.com/spot/api/web3/bridge/ton/bridge`}],platforms:[`ios`,`android`,`chrome`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`dewallet`,name:`DeWallet`,image:`https://raw.githubusercontent.com/delab-team/manifests-images/main/WalletAvatar.png`,about_url:`https://delabwallet.com`,universal_url:`https://t.me/dewallet?attach=wallet`,bridge:[{type:`sse`,url:`https://bridge.dewallet.pro/bridge`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`safepalwallet`,name:`SafePal`,image:`https://s.pvcliping.com/web/public_image/SafePal_x288.png`,tondns:``,about_url:`https://www.safepal.com`,universal_url:`https://link.safepal.io/ton-connect`,deepLink:`safepal-tc://`,bridge:[{type:`sse`,url:`https://ton-bridge.safepal.com/tonbridge/v1/bridge`},{type:`js`,key:`safepalwallet`}],platforms:[`ios`,`android`,`chrome`,`firefox`],features:[{name:`SendTransaction`,maxMessages:1,extraCurrencySupported:!1}]},{app_name:`GateWallet`,name:`GateWallet`,image:`https://img.gatedataimg.com/prd-ordinal-imgs/036f07bb8730716e/gateio-0925.png`,about_url:`https://www.gate.io/`,bridge:[{type:`js`,key:`gatetonwallet`},{type:`sse`,url:`https://dapp.gateio.services/tonbridge_api/bridge/v1`}],platforms:[`ios`,`android`],universal_url:`https://gate.onelink.me/Hls0/web3?gate_web3_wallet_universal_type=ton_connect`,features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`openmask`,name:`OpenMask`,image:`https://raw.githubusercontent.com/OpenProduct/openmask-extension/main/public/openmask-logo-288.png`,about_url:`https://www.openmask.app/`,bridge:[{type:`js`,key:`openmask`}],platforms:[`chrome`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`BitgetWeb3`,name:`BitgetWeb3`,image:`https://img.bitgetimg.com/image/third/1731638059795.png`,about_url:`​https://www.bitget.com`,universal_url:`https://t.me/BitgetOfficialBot?attach=wallet`,bridge:[{type:`sse`,url:`https://ton-connect-bridge.bgwapi.io/bridge`}],platforms:[`ios`,`android`,`windows`,`macos`,`linux`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`xtonwallet`,name:`XTONWallet`,image:`https://xtonwallet.com/assets/img/icon-256-back.png`,about_url:`https://xtonwallet.com`,bridge:[{type:`js`,key:`xtonwallet`}],platforms:[`chrome`,`firefox`],features:[{name:`SendTransaction`,maxMessages:1,extraCurrencySupported:!1}]},{app_name:`tonwallet`,name:`TON Wallet`,image:`https://wallet.ton.org/assets/ui/qr-logo.png`,about_url:`https://chrome.google.com/webstore/detail/ton-wallet/nphplpgoakhhjchkkhmiggakijnkhfnd`,bridge:[{type:`js`,key:`tonwallet`}],platforms:[`chrome`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`bitgetWalletLite`,name:`Bitget Wallet Lite`,image:`https://raw.githubusercontent.com/bitgetwallet/download/refs/heads/main/logo/png/bitget_wallet_lite_logo_288.png`,about_url:`https://web3.bitget.com`,universal_url:`https://t.me/BitgetWallet_TGBot?attach=wallet`,bridge:[{type:`sse`,url:`https://ton-connect-bridge.bgwapi.io/bridge`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!1}]},{app_name:`tomoWallet`,name:`Tomo Wallet`,image:`https://pub.tomo.inc/logo.png`,about_url:`https://www.tomo.inc/`,universal_url:`https://t.me/tomowalletbot?attach=wallet`,bridge:[{type:`sse`,url:`https://go-bridge.tomo.inc/bridge`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`miraiapp-tg`,name:`Mirai Mini App`,image:`https://cdn.mirailabs.co/miraihub/miraiapp-tg-icon-288.png`,about_url:`https://mirai.app`,universal_url:`https://t.me/MiraiAppBot?attach=wallet`,bridge:[{type:`sse`,url:`https://bridge.mirai.app`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!1},{name:`SignData`,types:[`text`,`binary`,`cell`]}]},{app_name:`Architec.ton`,name:`Architec.ton`,image:`https://raw.githubusercontent.com/Architec-Ton/wallet-tma/refs/heads/dev/public/images/arcwallet_logo.png`,about_url:`https://architecton.tech`,universal_url:`https://t.me/architec_ton_bot?attach=wallet`,bridge:[{type:`sse`,url:`https://tc.architecton.su/bridge`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!1}]},{app_name:`tokenpocket`,name:`TokenPocket`,image:`https://hk.tpstatic.net/logo/tokenpocket.png`,about_url:`https://www.tokenpocket.pro`,universal_url:`https://tp-lab.tptool.pro/ton-connect/`,bridge:[{type:`js`,key:`tokenpocket`},{type:`sse`,url:`https://ton-connect.mytokenpocket.vip/bridge`}],platforms:[`ios`,`android`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`uxuyWallet`,name:`UXUY Wallet`,image:`https://chain-cdn.uxuy.com/logo/square_288.png`,about_url:`https://docs.uxuy.com`,universal_url:`https://t.me/UXUYbot?attach=wallet`,bridge:[{type:`sse`,url:`https://bridge.uxuy.me/bridge`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`tonkeeper-pro`,name:`Tonkeeper Pro`,image:`https://tonkeeper.com/assets/tonconnect-icon-pro.png`,tondns:`tonkeeper.ton`,about_url:`https://tonkeeper.com/pro`,universal_url:`https://app.tonkeeper.com/pro/ton-connect`,deepLink:`tonkeeper-pro-tc://`,bridge:[{type:`sse`,url:`https://bridge.tonapi.io/bridge`}],platforms:[`ios`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!0},{name:`SignData`,types:[`text`,`binary`,`cell`]}]},{app_name:`nicegramWallet`,name:`Nicegram Wallet`,image:`https://static.nicegram.app/icon.png`,about_url:`https://nicegram.app`,universal_url:`https://nicegram.app/tc`,deepLink:`nicegram-tc://`,bridge:[{type:`sse`,url:`https://tc.nicegram.app/bridge`},{type:`js`,key:`nicegramWallet`}],platforms:[`ios`,`android`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!1}]},{app_name:`echoooTonWallet`,name:`EchoooWallet`,image:`https://cdn.echooo.xyz/front-end/source/images/logo/echooo-ton.png`,about_url:`https://www.echooo.xyz`,universal_url:`https://www.echooo.xyz/ton-connect`,deepLink:`echooo://`,bridge:[{type:`js`,key:`echoooTonWallet`},{type:`sse`,url:`https://ton-connect-bridge.echooo.link/bridge`}],platforms:[`ios`,`android`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!1}]},{app_name:`blitzwallet`,name:`BLITZ wallet`,image:`https://blitzwallet.cfd/wallet/public/logo.png`,about_url:`https://blitzwallet.cfd`,universal_url:`https://t.me/blitz_wallet_bot?attach=wallet`,bridge:[{type:`sse`,url:`https://blitzwallet.cfd/bridge/`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]},{app_name:`koloWeb3Wallet`,name:`Kolo`,image:`https://raw.githubusercontent.com/onidev1/tc-assets/refs/heads/main/kolo_logo_288.png`,about_url:`https://kolo.xyz`,universal_url:`https://t.me/kolo?attach=wallet`,bridge:[{type:`sse`,url:`https://web3-bridge.kolo.in/bridge`}],platforms:[`ios`,`android`,`macos`,`windows`,`linux`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!1}]},{app_name:`imToken`,name:`imToken`,image:`https://aws-v2-cdn.token.im/orbit/token-v2/icons/logo-ton-connect.png`,about_url:`https://token.im`,universal_url:`https://connect.token.im/link/ton-connect`,deepLink:`imtokenv2://link/ton-connect`,bridge:[{type:`sse`,url:`https://connect.token.im/tonbridge`},{type:`js`,key:`imToken`}],platforms:[`ios`,`android`],features:[{name:`SendTransaction`,maxMessages:255,extraCurrencySupported:!1}]},{app_name:`cactuslink`,name:`Cactus Link`,image:`https://downloads.mycactus.com/288_cactus_link.png`,about_url:`https://www.mycactus.com/defi-connector`,bridge:[{type:`js`,key:`cactuslink_ton`}],platforms:[`chrome`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1},{name:`SignData`,types:[`text`,`binary`]}]},{app_name:`onekey`,name:`OneKey`,image:`https://uni.onekey-asset.com/static/logo/onekey-x288.png`,about_url:`https://onekey.so`,bridge:[{type:`js`,key:`onekeyTonWallet`}],platforms:[`chrome`],features:[{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}]}],zt=!1;function Bt(){return zt}var Vt=class{constructor(e){this.walletsListDTOCache=null,this.walletsListDTOCacheCreationTimestamp=null,Bt()?this.walletsListSource=`https://raw.githubusercontent.com/ton-connect/wallets-list-staging/refs/heads/main/wallets-v2.json`:this.walletsListSource=e?.walletsListSource??`https://config.ton.org/wallets-v2.json`,this.cacheTTLMs=e?.cacheTTLMs,this.onDownloadDurationMeasured=e?.onDownloadDurationMeasured}getWallets(){return x(this,void 0,void 0,function*(){let[e,t]=yield Promise.all([this.fetchWalletsListDTO(),this.getCurrentlyInjectedWallets()]);return this.mergeWalletsLists(this.walletConfigDTOListToWalletConfigList(e),t)})}getEmbeddedWallet(){return x(this,void 0,void 0,function*(){let e=(yield this.getWallets()).filter(Ft);return e.length===1?e[0]:null})}fetchWalletsListDTO(){return x(this,void 0,void 0,function*(){return this.cacheTTLMs&&this.walletsListDTOCacheCreationTimestamp&&Date.now()>this.walletsListDTOCacheCreationTimestamp+this.cacheTTLMs&&(this.walletsListDTOCache=null),this.walletsListDTOCache||(this.walletsListDTOCache=this.fetchWalletsListFromSource(),this.walletsListDTOCache.then(()=>{this.walletsListDTOCacheCreationTimestamp=Date.now()}).catch(()=>{this.walletsListDTOCache=null,this.walletsListDTOCacheCreationTimestamp=null})),this.walletsListDTOCache})}getRemoteWallet(e){return x(this,void 0,void 0,function*(){let t=(yield this.getWallets()).find(t=>t.appName===e);if(!t)throw new S(`Wallet info not found for appName: "${e}"`);if(!Lt(t))throw new S(`Wallet "${e}" is not remote`);return t})}fetchWalletsListFromSource(){return x(this,void 0,void 0,function*(){var e,t;let n=[],r=performance.now();try{if(n=yield(yield fetch(this.walletsListSource)).json(),!Array.isArray(n))throw new Ne(`Wrong wallets list format, wallets list must be an array.`);let t=n.filter(e=>!this.isCorrectWalletConfigDTO(e));t.length&&(`${t.map(e=>e?.name||`unknown`).join(`, `)}`,n=n.filter(e=>this.isCorrectWalletConfigDTO(e)));let i=performance.now(),a=Math.round(i-r);(e=this.onDownloadDurationMeasured)==null||e.call(this,a)}catch{n=Rt,(t=this.onDownloadDurationMeasured)==null||t.call(this,void 0)}return n})}getCurrentlyInjectedWallets(){if(!Bt())return[];try{return jt.getCurrentlyInjectedWallets()}catch{return[]}}walletConfigDTOListToWalletConfigList(e){return e.map(e=>{let t={name:e.name,appName:e.app_name,imageUrl:e.image,aboutUrl:e.about_url,tondns:e.tondns,platforms:e.platforms,features:e.features};return e.bridge.forEach(n=>{if(n.type===`sse`&&(t.bridgeUrl=n.url,t.universalLink=e.universal_url,t.deepLink=e.deepLink),n.type===`js`){let e=n.key;t.jsBridgeKey=e,t.injected=jt.isWalletInjected(e),t.embedded=jt.isInsideWalletBrowser(e)}}),t})}mergeWalletsLists(e,t){return[...new Set(e.concat(t).map(e=>e.name)).values()].map(n=>{let r=e.find(e=>e.name===n),i=t.find(e=>e.name===n);return Object.assign(Object.assign({},r&&Object.assign({},r)),i&&Object.assign({},i))})}isCorrectWalletConfigDTO(e){if(!e||typeof e!=`object`)return!1;let t=`name`in e,n=`app_name`in e,r=`image`in e,i=`about_url`in e,a=`platforms`in e;if(!t||!r||!i||!a||!n||!e.platforms||!Array.isArray(e.platforms)||!e.platforms.length||!(`bridge`in e)||!Array.isArray(e.bridge)||!e.bridge.length)return!1;let o=e.bridge;if(o.some(e=>!e||typeof e!=`object`||!(`type`in e)))return!1;let s=o.find(e=>e.type===`sse`);if(s&&(!(typeof s==`object`&&`url`in s)||!s.url||!e.universal_url))return!1;let c=o.find(e=>e.type===`js`);return!(c&&(typeof c!=`object`||!(`key`in c)||!c.key))}};function Ht(e,t){let n=e.includes(`SendTransaction`),r=Gt(e,`SendTransaction`),i={minMessages:t.requiredMessagesNumber,extraCurrencyRequired:t.requireExtraCurrencies};if(!n&&!r)throw new Te(`Wallet doesn't support SendTransaction feature.`,{cause:{requiredFeature:{featureName:`SendTransaction`,value:i}}});if(t.requireExtraCurrencies&&(!r||!r.extraCurrencySupported))throw new Te(`Wallet is not able to handle such SendTransaction request. Extra currencies support is required.`,{cause:{requiredFeature:{featureName:`SendTransaction`,value:i}}});if(r&&r.maxMessages!==void 0){if(r.maxMessages<t.requiredMessagesNumber)throw new Te(`Wallet is not able to handle such SendTransaction request. Max support messages number is ${r.maxMessages}, but ${t.requiredMessagesNumber} is required.`,{cause:{requiredFeature:{featureName:`SendTransaction`,value:i}}});return}}function Ut(e,t){let n=e.find(e=>e&&typeof e==`object`&&e.name===`SignData`);if(!n)throw new Te(`Wallet doesn't support SignData feature.`,{cause:{requiredFeature:{featureName:`SignData`,value:{types:t.requiredTypes}}}});let r=t.requiredTypes.filter(e=>!n.types.includes(e));if(r.length)throw new Te(`Wallet doesn't support required SignData types: ${r.join(`, `)}.`,{cause:{requiredFeature:{featureName:`SignData`,value:{types:r}}}})}function Wt(e,t){if(typeof t!=`object`)return!0;let{sendTransaction:n,signData:r}=t;if(n){let t=Gt(e,`SendTransaction`);if(!t||!Kt(t,n))return!1}if(r){let t=Gt(e,`SignData`);if(!t||!qt(t,r))return!1}return!0}function Gt(e,t){return e.find(e=>e&&typeof e==`object`&&e.name===t)}function Kt(e,t){let n=t.minMessages===void 0||t.minMessages<=e.maxMessages,r=!t.extraCurrencyRequired||e.extraCurrencySupported;return!!(n&&r)}function qt(e,t){return t.types.every(t=>e.types.includes(t))}function Jt(){return{type:`request-version`}}function Yt(e){return{type:`response-version`,version:e}}function Xt(e){return{ton_connect_sdk_lib:e.ton_connect_sdk_lib,ton_connect_ui_lib:e.ton_connect_ui_lib}}function Zt(e,t,n){let r=t?.connectItems?.tonProof&&`proof`in t.connectItems.tonProof?`ton_proof`:`ton_addr`;return{wallet_address:t?.account?.address??null,wallet_state_init:t?.account.walletStateInit??null,wallet_type:t?.device.appName??null,wallet_version:t?.device.appVersion??null,auth_type:r,custom_data:Object.assign({client_id:n?.clientId??null,wallet_id:n?.walletId??null,chain_id:t?.account?.chain??null,provider:t?.provider??null},Xt(e))}}function Qt(e,t){return{type:`connection-started`,custom_data:Xt(e),trace_id:t??null}}function $t(e,t,n,r){return Object.assign({type:`connection-completed`,is_success:!0,trace_id:r??null},Zt(e,t,n))}function en(e,t,n,r,i){return{type:`connection-error`,is_success:!1,error_message:t,error_code:n??null,trace_id:i??null,custom_data:Object.assign({client_id:r?.clientId??null,wallet_id:r?.walletId??null},Xt(e))}}function tn(e,t){return{type:`connection-restoring-started`,custom_data:Xt(e),trace_id:t??null}}function nn(e,t,n,r){return Object.assign({type:`connection-restoring-completed`,is_success:!0,trace_id:r??null},Zt(e,t,n))}function rn(e,t,n){return{type:`connection-restoring-error`,is_success:!1,error_message:t,trace_id:n??null,custom_data:Xt(e)}}function an(e,t){return{valid_until:String(t.validUntil)??null,from:t.from??e?.account?.address??null,messages:t.messages.map(e=>({address:e.address??null,amount:e.amount??null}))}}function on(e,t){return{valid_until:String(t.validUntil)??null,from:t.from??e?.account?.address??null,messages:t.messages.map(e=>({address:e.address??null,amount:e.amount??null,payload:e.payload??null,state_init:e.stateInit??null}))}}function sn(e,t,n,r,i){return Object.assign(Object.assign({type:`transaction-sent-for-signature`,trace_id:i??null},Zt(e,t,r)),an(t,n))}function cn(e,t,n,r,i,a){return Object.assign(Object.assign({type:`transaction-signed`,is_success:!0,signed_transaction:r.boc,trace_id:a??null},Zt(e,t,i)),an(t,n))}function ln(e,t,n,r,i,a,o){return Object.assign(Object.assign({type:`transaction-signing-failed`,is_success:!1,error_message:r,error_code:i??null,trace_id:o??null},Zt(e,t,a)),on(t,n))}function un(e,t,n,r,i){return Object.assign({type:`sign-data-request-initiated`,data:n,trace_id:i??null},Zt(e,t,r))}function dn(e,t,n,r,i,a){return Object.assign({type:`sign-data-request-completed`,is_success:!0,data:n,signed_data:r,trace_id:a??null},Zt(e,t,i))}function fn(e,t,n,r,i,a,o){return Object.assign({type:`sign-data-request-failed`,is_success:!1,data:n,error_message:r,error_code:i??null,trace_id:o??null},Zt(e,t,a))}function pn(e,t,n,r,i){return Object.assign({type:`disconnection`,scope:n,trace_id:i??null},Zt(e,t,r))}function mn(e,t,n,r){return{type:`wallet-modal-opened`,visible_wallets:t,client_id:n??null,custom_data:e,trace_id:r??null}}function hn(e,t,n,r,i,a,o,s){let c=a;return!c&&i&&(c=qe(i)?`tg_link`:`external_link`),{type:`selected-wallet`,wallets_menu:r,visible_wallets:t,client_id:o??null,custom_data:e,trace_id:s??null,wallet_redirect_method:c,wallet_redirect_link:i||void 0,wallet_type:n?.appName??null}}var gn=class{get version(){return Xt({ton_connect_sdk_lib:this.tonConnectSdkVersion,ton_connect_ui_lib:this.tonConnectUiVersion})}constructor(e){this.eventPrefix=`ton-connect-`,this.tonConnectUiVersion=null,this.eventDispatcher=e?.eventDispatcher,this.tonConnectSdkVersion=e.tonConnectSdkVersion,this.init().catch()}init(){return x(this,void 0,void 0,function*(){try{yield this.setRequestVersionHandler(),this.tonConnectUiVersion=yield this.requestTonConnectUiVersion()}catch{}})}setRequestVersionHandler(){return x(this,void 0,void 0,function*(){yield this.eventDispatcher.addEventListener(`ton-connect-request-version`,()=>x(this,void 0,void 0,function*(){yield this.eventDispatcher.dispatchEvent(`ton-connect-response-version`,Yt(this.tonConnectSdkVersion))}))})}requestTonConnectUiVersion(){return x(this,void 0,void 0,function*(){return new Promise((e,t)=>x(this,void 0,void 0,function*(){try{yield this.eventDispatcher.addEventListener(`ton-connect-ui-response-version`,t=>{e(t.detail.version)},{once:!0}),yield this.eventDispatcher.dispatchEvent(`ton-connect-ui-request-version`,Jt())}catch(e){t(e)}}))})}dispatchUserActionEvent(e){try{this.eventDispatcher.dispatchEvent(`${this.eventPrefix}${e.type}`,e).catch()}catch{}}trackConnectionStarted(...e){try{let t=Qt(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackConnectionCompleted(...e){try{let t=$t(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackConnectionError(...e){try{let t=en(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackConnectionRestoringStarted(...e){try{let t=tn(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackConnectionRestoringCompleted(...e){try{let t=nn(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackConnectionRestoringError(...e){try{let t=rn(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackDisconnection(...e){try{let t=pn(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackTransactionSentForSignature(...e){try{let t=sn(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackTransactionSigned(...e){try{let t=cn(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackTransactionSigningFailed(...e){try{let t=ln(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackDataSentForSignature(...e){try{let t=un(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackDataSigned(...e){try{let t=dn(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}trackDataSigningFailed(...e){try{let t=fn(this.version,...e);this.dispatchUserActionEvent(t)}catch{}}},_n=`3.4.1`,vn=17,yn=81,bn=128;function xn(e,t=!1){let{wc:n,hex:r}=En(e),i=yn;t&&(i|=bn);let a=new Int8Array(34);a[0]=i,a[1]=n,a.set(r,2);let o=new Uint8Array(36);return o.set(a),o.set(Dn(a),34),fe.encode(o).replace(/\+/g,`-`).replace(/\//g,`_`)}function Sn(e){try{return Tn(e),!0}catch{return!1}}function Cn(e){try{return En(e),!0}catch{return!1}}function wn({wc:e,hex:t}){return`${e}:${t}`}function Tn(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n;try{n=fe.decode(t).toUint8Array()}catch{throw new Pe(`Invalid base64 encoding in address: ${e}`)}if(n.length!==36)throw new Pe(`Invalid address length: ${e}`);let r=n.slice(0,34),i=n.slice(34,36),a=Dn(r);if(!i.every((e,t)=>e===a[t]))throw new Pe(`Invalid checksum in address: ${e}`);let o=r[0],s=!1,c=!1;if(o&bn&&(s=!0,o^=bn),o!==vn&&o!==yn)throw new Pe(`Unknown address tag: ${o}`);c=o===vn;let l=null;l=r[1]===255?-1:r[1];let u=r.slice(2);if(l!==0&&l!==-1)throw new Pe(`Invalid workchain: ${l}`);return{wc:l,hex:Array.from(u).map(e=>e.toString(16).padStart(2,`0`)).join(``),testOnly:s,isBounceable:c}}function En(e){if(!e.includes(`:`))throw new Pe(`Wrong address ${e}. Address must include ":".`);let t=e.split(`:`);if(t.length!==2)throw new Pe(`Wrong address ${e}. Address must include ":" only once.`);let n=parseInt(t[0]);if(n!==0&&n!==-1)throw new Pe(`Wrong address ${e}. WC must be eq 0 or -1, but ${n} received.`);let r=t[1];if(r?.length!==64)throw new Pe(`Wrong address ${e}. Hex part must be 64bytes length, but ${r?.length} received.`);return{wc:n,hex:kn(r)}}function Dn(e){let t=0,n=new Uint8Array(e.length+2);n.set(e);for(let e of n){let n=128;for(;n>0;)t<<=1,e&n&&(t+=1),n>>=1,t>65535&&(t&=65535,t^=4129)}return new Uint8Array([Math.floor(t/256),t%256])}var On={};for(let e=0;e<=255;e++){let t=e.toString(16);t.length<2&&(t=`0`+t),On[t]=e}function kn(e){e=e.toLowerCase();let t=e.length;if(t%2!=0)throw new Fe(`Hex string must have length a multiple of 2: `+e);let n=t/2,r=new Uint8Array(n);for(let t=0;t<n;t++){let n=t*2,i=e.substring(n,n+2);if(!On.hasOwnProperty(i))throw new Fe(`Invalid hex character: `+i);r[t]=On[i]}return r}var An=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,jn=/^[A-Za-z0-9\-_]+$/,Mn=`te6cc`,Nn=/^-?\d+$/,Pn=/^\d+$/,Fn=128,In=128,Ln=222;function Rn(e){return typeof e==`number`&&!isNaN(e)}function zn(e){return typeof e==`string`&&e.length>0}function Bn(e){return zn(e)&&(Cn(e)||Sn(e))}function Vn(e){return zn(e)&&/^-?\d+$/.test(e)}function Hn(e){return typeof e==`string`&&(An.test(e)||jn.test(e))&&e.startsWith(Mn)}function Un(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Wn(e){return Array.isArray(e)}function Gn(e,t){return Object.keys(e).some(e=>!t.includes(e))}function Kn(e){if(!Un(e))return`Request must be an object`;if(Gn(e,[`validUntil`,`network`,`from`,`messages`]))return`Request contains extra properties`;if(e.validUntil){if(!Rn(e.validUntil))return`Incorrect 'validUntil'`;Math.floor(Date.now()/1e3)+300,e.validUntil}if(e.network!==void 0&&!Vn(e.network))return`Invalid 'network' format`;if(e.from!==void 0&&!Bn(e.from))return`Invalid 'from' address format`;if(!Wn(e.messages)||e.messages.length===0)return`'messages' is required`;for(let t=0;t<e.messages.length;t++){let n=e.messages[t],r=qn(n,t);if(r)return r}return null}function qn(e,t){if(!Un(e))return`Message at index ${t} must be an object`;if(Gn(e,[`address`,`amount`,`stateInit`,`payload`,`extraCurrency`]))return`Message at index ${t} contains extra properties`;if(!zn(e.address))return`'address' is required in message at index ${t}`;if(!Sn(e.address))return`Wrong 'address' format in message at index ${t}`;if(!zn(e.amount))return`'amount' is required in message at index ${t}`;if(!/^[0-9]+$/.test(e.amount))return`Incorrect 'amount' in message at index ${t}`;if(e.stateInit!==void 0&&(!zn(e.stateInit)||!Hn(e.stateInit)))return`Invalid 'stateInit' in message at index ${t}`;if(e.payload!==void 0&&(!zn(e.payload)||!Hn(e.payload)))return`Invalid 'payload' in message at index ${t}`;if(e.extraCurrency!==void 0){if(!Un(e.extraCurrency))return`Invalid 'extraCurrency' in message at index ${t}`;for(let[n,r]of Object.entries(e.extraCurrency))if(!Nn.test(n)||typeof r!=`string`||!Pn.test(r))return`Invalid 'extraCurrency' format in message at index ${t}`}return null}function Jn(e){if(!Un(e))return`Request must be an object`;if(Gn(e,[`tonProof`]))return`Request contains extra properties`;if(e.tonProof!==void 0){if(typeof e.tonProof!=`string`)return`Invalid 'tonProof'`;let t=e.tonProof;if(t.length===0)return`Empty 'tonProof' payload`;let n=kt();if(!n)return null;let r=new TextEncoder().encode(n).length;if(r>Fn)return`Current domain exceeds 128 bytes limit`;let i=new TextEncoder().encode(t).length;if(i>In)return`'tonProof' payload exceeds 128 bytes limit`;if(r+i>Ln)return`'tonProof' domain + payload exceeds 222 bytes limit`}return null}function Yn(e){if(!Un(e))return`Payload must be an object`;if(!zn(e.type))return`'type' is required`;switch(e.type){case`text`:return Xn(e);case`binary`:return Zn(e);case`cell`:return Qn(e);default:return`Invalid 'type' value`}}function Xn(e){return Gn(e,[`type`,`text`,`network`,`from`])?`Text payload contains extra properties`:zn(e.text)?e.network!==void 0&&!Vn(e.network)?`Invalid 'network' format`:e.from!==void 0&&!Bn(e.from)?`Invalid 'from'`:null:`'text' is required`}function Zn(e){return Gn(e,[`type`,`bytes`,`network`,`from`])?`Binary payload contains extra properties`:zn(e.bytes)?e.network!==void 0&&!Vn(e.network)?`Invalid 'network' format`:e.from!==void 0&&!Bn(e.from)?`Invalid 'from'`:null:`'bytes' is required`}function Qn(e){return Gn(e,[`type`,`schema`,`cell`,`network`,`from`])?`Cell payload contains extra properties`:zn(e.schema)?zn(e.cell)?Hn(e.cell)?e.network!==void 0&&!Vn(e.network)?`Invalid 'network' format`:e.from!==void 0&&!Bn(e.from)?`Invalid 'from'`:null:`Invalid 'cell' format (must be valid base64)`:`'cell' is required`:`'schema' is required`}function $n(e){if(!Un(e))return`ton_proof item must be an object`;if(Gn(e,[`error`,`proof`,`name`]))return`ton_proof item contains extra properties`;let t=Object.prototype.hasOwnProperty.call(e,`proof`),n=Object.prototype.hasOwnProperty.call(e,`error`);if(!t&&!n)return`'ton_proof' item must contain either 'proof' or 'error'`;if(t&&n)return`'ton_proof' item must contain either 'proof' or 'error', not both`;if(t){let t=e.proof;if(!Un(t))return`Invalid 'proof' object`;if(!Rn(t.timestamp))return`Invalid 'proof.timestamp'`;let n=t.domain;if(!Un(n))return`Invalid 'proof.domain'`;if(!Rn(n.lengthBytes))return`Invalid 'proof.domain.lengthBytes'`;if(!zn(n.value))return`Invalid 'proof.domain.value'`;try{if((typeof TextEncoder<`u`?new TextEncoder().encode(n.value).length:n.value.length)!==n.lengthBytes)return`'proof.domain.lengthBytes' does not match 'proof.domain.value'`}catch{}if(!zn(t.payload))return`Invalid 'proof.payload'`;if(!zn(t.signature)||!An.test(t.signature))return`Invalid 'proof.signature' format`}if(n){let t=e.error;if(!Un(t))return`Invalid 'error' object`;if(Gn(t,[`code`,`message`]))return`ton_proof error contains extra properties`;if(!Rn(t.code))return`Invalid 'error.code'`;if(!zn(t.message))return`Invalid 'error.message'`}return null}function er(e){if(typeof e!=`string`)return;let t=e.length+(4-e.length%4)%4;return e.replace(/-/g,`+`).replace(/_/g,`/`).padEnd(t,`=`)}function tr(e){return e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase()}function nr(){let e={};try{let t=performance.getEntriesByType(`navigation`);if(t.length>0){let n=t[0];n.responseStart&&n.requestStart&&(e.conn_ttfb=Math.round(n.responseStart-n.requestStart))}}catch{}return e}function rr(){let e={};try{let t=navigator,n=t.connection||t.mozConnection||t.webkitConnection;n&&(n.rtt!==void 0&&(e.conn_rtt=n.rtt),n.effectiveType?e.conn_network_type=n.effectiveType:n.type&&(e.conn_network_type=n.type))}catch{}return e}var ir=class e{constructor(e={}){var t;this.events=[],this.timeoutId=null,this.isProcessing=!1,this.backoff=1,this.shouldSend=!0,this.batchTimeoutMs=e.batchTimeoutMs??2e3,this.currentBatchTimeoutMs=this.batchTimeoutMs,this.maxBatchSize=e.maxBatchSize??100,this.analyticsUrl=e.analyticsUrl??`https://analytics.ton.org/events`,this.mode=e.mode??`telemetry`,this.baseEvent=Object.assign({subsystem:`dapp-sdk`,version:_n,client_environment:((t=e.environment)?.getClientEnvironment)?.call(t)},nr()),this.addWindowFocusAndBlurSubscriptions()}scoped(e){return new Proxy(this,{get(t,n){let r=n.toString();if(r.startsWith(`emit`)){let n=tr(r.replace(`emit`,``));return function(r){let i=Object.fromEntries(Object.entries(e??{}).map(([e,t])=>[e,typeof t==`function`?t():t]));return t.emit(Object.assign(Object.assign({event_name:n},i),r))}}return t[n]}})}emit(e){if(this.mode===`off`)return;let t=e.trace_id??w(),n=rr(),r=Object.assign(Object.assign(Object.assign(Object.assign({},this.baseEvent),n),e),{event_id:w(),client_timestamp:Math.floor(Date.now()/1e3),trace_id:t}),i=this.mode===`telemetry`?this.filterFullModeFields(r):r;if(this.events.push(i),this.events.length>=this.maxBatchSize){this.flush();return}this.startTimeout()}startTimeout(){this.timeoutId||this.isProcessing||(this.timeoutId=setTimeout(()=>{this.flush()},this.currentBatchTimeoutMs))}flush(){return x(this,void 0,void 0,function*(){if(this.isProcessing||this.events.length===0||!this.shouldSend)return;this.clearTimeout(),this.isProcessing=!0;let e=this.extractEventsToSend();try{yield this.processEventsBatch(e)}catch{this.restoreEvents(e)}finally{this.isProcessing=!1,this.scheduleNextFlushIfNeeded()}})}clearTimeout(){this.timeoutId&&=(clearTimeout(this.timeoutId),null)}extractEventsToSend(){let e=this.events.slice(0,this.maxBatchSize);return this.events=this.events.slice(this.maxBatchSize),e}processEventsBatch(e){return x(this,void 0,void 0,function*(){e.length;try{let t=yield this.sendEvents(e);this.handleResponse(t)}catch(e){this.handleUnknownError(e)}})}handleResponse(e){let{status:t,statusText:n}=e;this.isTooManyRequests(t)?this.handleTooManyRequests(t,n):this.isClientError(t)?this.handleClientError(t,n):this.isServerError(t)&&this.handleUnknownError({status:t,statusText:n})}restoreEvents(e){this.events.unshift(...e)}scheduleNextFlushIfNeeded(){this.events.length>0&&this.startTimeout()}sendEvents(e){return x(this,void 0,void 0,function*(){return yield fetch(this.analyticsUrl,{method:`POST`,headers:{"Content-Type":`application/json`,"X-Client-Timestamp":Math.floor(Date.now()/1e3).toString()},body:JSON.stringify(e)})})}isClientError(t){return t>=e.HTTP_STATUS.CLIENT_ERROR_START&&t<e.HTTP_STATUS.SERVER_ERROR_START}isServerError(t){return t>=e.HTTP_STATUS.SERVER_ERROR_START}isTooManyRequests(t){return t===e.HTTP_STATUS.TOO_MANY_REQUESTS}handleClientError(e,t){new S(`Analytics API error: ${e} ${t}`)}handleUnknownError(t){if(this.backoff<e.MAX_BACKOFF_ATTEMPTS)throw this.backoff++,this.currentBatchTimeoutMs*=e.BACKOFF_MULTIPLIER,new S(`Unknown analytics API error: ${t}`);this.currentBatchTimeoutMs=this.batchTimeoutMs,this.backoff=1}handleTooManyRequests(e,t){throw new S(`Analytics API error: ${e} ${t}`)}addWindowFocusAndBlurSubscriptions(){let e=Ct();if(e)try{e.addEventListener(`visibilitychange`,()=>{e.hidden?(this.clearTimeout(),this.shouldSend=!1):(this.shouldSend=!0,this.scheduleNextFlushIfNeeded())})}catch{}}getMode(){return this.mode}getPendingEventsCount(){return this.events.length}filterFullModeFields(t){let n=Object.assign({},t);for(let t of e.FULL_MODE_FIELDS)delete n[t];let r=`event_name`in t?String(t.event_name):``;return!(`error_code`in t||`error_message`in t||r.includes(`error`)||r===`connection-error`||r===`transaction-signing-failed`||r===`sign-data-request-failed`)&&`wallet_address`in n&&delete n.wallet_address,n}setWalletListDownloadDuration(e){this.baseEvent=Object.assign(Object.assign({},this.baseEvent),{wallet_list_download_duration:e})}};ir.HTTP_STATUS={TOO_MANY_REQUESTS:429,CLIENT_ERROR_START:400,SERVER_ERROR_START:500},ir.MAX_BACKOFF_ATTEMPTS=5,ir.BACKOFF_MULTIPLIER=2,ir.FULL_MODE_FIELDS=[`user_id`,`tg_id`,`locale`,`tma_is_premium`];var ar=class{constructor(){this.window=St()}dispatchEvent(e,t){return x(this,void 0,void 0,function*(){var n;let r=new CustomEvent(e,{detail:t});(n=this.window)==null||n.dispatchEvent(r)})}addEventListener(e,t,n){return x(this,void 0,void 0,function*(){var r;return(r=this.window)==null||r.addEventListener(e,t,n),()=>this.window?.removeEventListener(e,t)})}};function or(e){return{"@tonconnect/sdk":e.ton_connect_sdk_lib||``,"@tonconnect/ui":e.ton_connect_ui_lib||``}}function sr(e){return{versions:or(e.custom_data),network_id:e.custom_data.chain_id??``,client_id:e.custom_data.client_id??``,wallet_id:e.custom_data.wallet_id??``,wallet_address:e.wallet_address??``,wallet_app_name:e.wallet_type??``,wallet_app_version:e.wallet_version??``,wallet_state_init:e.wallet_state_init??``,trace_id:e.trace_id??void 0}}function cr(e,t){e.addEventListener(`ton-connect-ui-wallet-modal-opened`,e=>{let{detail:n}=e;t.emitConnectionStarted({client_id:n.client_id||``,versions:or(n.custom_data),main_screen:n.visible_wallets,trace_id:n.trace_id??void 0})}),e.addEventListener(`ton-connect-ui-selected-wallet`,e=>{let{detail:n}=e;t.emitConnectionSelectedWallet({client_id:n.client_id||``,versions:or(n.custom_data),main_screen:n.visible_wallets,wallets_menu:n.wallets_menu,trace_id:n.trace_id??void 0,wallet_app_name:n.wallet_type??``,wallet_redirect_method:n.wallet_redirect_method,wallet_redirect_link:n.wallet_redirect_link})}),e.addEventListener(`ton-connect-connection-completed`,e=>{let{detail:n}=e;t.emitConnectionCompleted(sr(n))}),e.addEventListener(`ton-connect-connection-error`,e=>{let{detail:n}=e;t.emitConnectionError({client_id:n.custom_data.client_id||``,wallet_id:n.custom_data.wallet_id||``,error_code:n.error_code??0,error_message:n.error_message,trace_id:n.trace_id??void 0})}),e.addEventListener(`ton-connect-disconnection`,e=>{let{detail:n}=e;t.emitDisconnection(sr(n))}),e.addEventListener(`ton-connect-transaction-sent-for-signature`,e=>{let{detail:n}=e;t.emitTransactionSent(sr(n))}),e.addEventListener(`ton-connect-transaction-signed`,e=>{let{detail:n}=e;t.emitTransactionSigned(Object.assign(Object.assign({},sr(n)),{signed_boc:e.detail.signed_transaction}))}),e.addEventListener(`ton-connect-transaction-signing-failed`,e=>{let{detail:n}=e;t.emitTransactionSigningFailed(Object.assign(Object.assign({},sr(n)),{valid_until:Number(n.valid_until),messages:n.messages.map(e=>({address:e.address??``,amount:e.amount??``,payload:e.payload??``,state_init:e.state_init??``})),error_message:n.error_message,error_code:n.error_code??0}))}),e.addEventListener(`ton-connect-sign-data-request-initiated`,e=>{let{detail:n}=e;t?.emitSignDataRequestInitiated(sr(n))}),e.addEventListener(`ton-connect-sign-data-request-completed`,e=>{let{detail:n}=e;t?.emitSignDataRequestCompleted(sr(n))}),e.addEventListener(`ton-connect-sign-data-request-failed`,e=>{let{detail:n}=e,r=``,i;n.data.type===`text`&&(r=n.data.text),n.data.type===`cell`&&(r=n.data.cell,i=n.data.schema),n.data.type===`binary`&&(r=n.data.bytes),t?.emitSignDataRequestFailed(Object.assign(Object.assign({},sr(n)),{sign_data_type:n.data.type,sign_data_value:r,sign_data_schema:i,error_code:n.error_code??0,error_message:n.error_message}))})}var lr=class{getClientEnvironment(){return``}getBrowser(){return``}getLocale(){return``}getPlatform(){return``}getTelegramUser(){}},ur={};function dr(){return ur.UniversalConnectorCls!==void 0&&ur.walletConnectOptions!==void 0}function fr(){if(ur.UniversalConnectorCls===void 0)throw new S(`Wallet Connect is not initialized.`);return ur.UniversalConnectorCls}function pr(){if(ur.walletConnectOptions===void 0)throw new S(`Wallet Connect is not initialized.`);return ur.walletConnectOptions}var mr=`0`,hr=0,gr=class e{constructor(e){this.connectionStorage=e,this.type=`injected`,this.listeners=[],this.connector=void 0;let{projectId:t,metadata:n}=pr();this.config={networks:[{namespace:`ton`,chains:[{id:-239,chainNamespace:`ton`,caipNetworkId:`ton:-239`,name:`TON`,nativeCurrency:{name:`TON`,symbol:`TON`,decimals:9},rpcUrls:{default:{http:[]}}},{id:-3,chainNamespace:`ton`,caipNetworkId:`ton:-3`,name:`TON`,nativeCurrency:{name:`TON`,symbol:`TON`,decimals:9},rpcUrls:{default:{http:[]}}}],methods:[`ton_sendMessage`,`ton_signData`],events:[]}],projectId:t,metadata:n}}static fromStorage(t){return x(this,void 0,void 0,function*(){return new e(t)})}initialize(){return x(this,void 0,void 0,function*(){return this.connector||=yield fr().init(this.config),this.connector})}connect(e,t){var n;let r=t?.traceId??w(),i=Qe(t?.signal);(n=this.abortController)==null||n.abort(),this.abortController=i,this._connect(e,{traceId:r,signal:i.signal,abortController:i}).catch(e=>void 0)}_connect(e,t){return x(this,void 0,void 0,function*(){let n=yield this.initialize();if(t.signal?.aborted){this.clearAbortController(t.abortController);return}let r=e.items.find(e=>e.name===`ton_proof`),i=r?[{domain:new URL(this.config.metadata.url).hostname,chains:[`ton:-239`],nonce:``,uri:`ton_proof`,ttl:0,statement:r.payload}]:void 0;try{yield n.connect({authentication:i})}catch{if(t.signal?.aborted){this.clearAbortController(t.abortController);return}let e={id:hr,event:`connect_error`,traceId:t.traceId,payload:{code:ne.USER_REJECTS_ERROR,message:`User declined the connection`}};this.emit(e),this.clearAbortController(t.abortController);return}try{yield this.onConnect(n,Object.assign(Object.assign({},t),{includeTonProof:!0}))}catch{yield this.disconnect({traceId:t.traceId,signal:t.signal})}finally{this.clearAbortController(t.abortController)}})}restoreConnection(e){return x(this,void 0,void 0,function*(){var t;let n=e?.traceId??w(),r=Qe(e?.signal);if((t=this.abortController)==null||t.abort(),this.abortController=r,!r.signal.aborted)try{if(!(yield this.connectionStorage.getWalletConnectConnection())||r.signal.aborted)return;let e=yield this.initialize();if(r.signal.aborted)return;yield this.onConnect(e,{includeTonProof:!1,traceId:n,signal:r.signal})}catch{yield this.disconnect({traceId:n,signal:r.signal})}finally{this.clearAbortController(r)}})}closeConnection(){var e;(e=this.abortController)==null||e.abort(),this.abortController=void 0,this.disconnect()}disconnect(e){return x(this,void 0,void 0,function*(){var t;let n=Qe(e?.signal);if((t=this.abortController)==null||t.abort(),this.abortController=n,!n.signal.aborted)try{if(yield this.connectionStorage.removeConnection(),n.signal.aborted)return;yield this.connector?.disconnect()}catch{}finally{this.clearAbortController(n)}})}sendRequest(e,t){return x(this,void 0,void 0,function*(){var n,r;if(!this.connector)throw new S(`Wallet Connect not initialized`);let i={};typeof t==`function`?i.onRequestSent=t:(i.onRequestSent=t?.onRequestSent,i.signal=t?.signal,i.attempts=t?.attempts,i.traceId=t?.traceId),i.traceId??=w();try{if(i.signal?.aborted)throw new S(`WalletConnect request aborted`);if(Object.assign(Object.assign({},e),{id:mr}),e.method===`sendTransaction`){let t=JSON.parse(e.params[0]),{network:r}=t,a=ve(t,[`network`]),o=this.connector.request({method:`ton_sendMessage`,params:a},`ton:${r}`);return(n=i?.onRequestSent)==null||n.call(i),{result:yield o,id:mr,traceId:i.traceId}}else if(e.method===`signData`){let t=JSON.parse(e.params[0]),{network:n}=t,a=ve(t,[`network`]),o=this.connector.request({method:`ton_signData`,params:a},`ton:${n}`);return(r=i?.onRequestSent)==null||r.call(i),{result:yield o,traceId:i.traceId,id:mr}}else if(e.method===`disconnect`)return{id:mr,traceId:i.traceId}}catch(e){return e.stack,yield this.handleWalletConnectError(e,{traceId:i.traceId})}return{id:mr,error:{code:oe.UNKNOWN_ERROR,message:`Not implemented.`},traceId:i.traceId}})}handleWalletConnectError(e,t){return x(this,void 0,void 0,function*(){if(typeof e==`object`&&e){let n=String(`message`in e?e.message:`msg`in e?e.msg:e);return n.toLowerCase().includes(`reject`)?{id:mr,traceId:t.traceId,error:{code:ie.USER_REJECTS_ERROR,message:n}}:n.toLowerCase().includes(`tonvalidationerror`)?{id:mr,traceId:t.traceId,error:{code:ie.BAD_REQUEST_ERROR,message:n}}:{id:mr,traceId:t.traceId,error:{code:ie.UNKNOWN_ERROR,message:n}}}return{id:mr,traceId:t.traceId,error:{code:ie.UNKNOWN_ERROR,message:String(e)}}})}listen(e){return this.listeners.push(e),()=>this.listeners=this.listeners.filter(t=>t!==e)}buildTonProof(e){let t=e.provider.session.authentication?.[0],n=t?.p?.iat,r=t?.p?.statement;if(!n||!r)return;let i=t.p.domain;return{name:`ton_proof`,proof:{timestamp:Math.floor(new Date(n).getTime()/1e3),domain:{lengthBytes:i.length,value:i},payload:r,signature:t.s.s}}}onConnect(e,t){return x(this,void 0,void 0,function*(){if(t.signal?.aborted)return;let n=e.provider.session,r=n.namespaces.ton;if(!r?.accounts?.[0]){yield this.disconnectWithError({traceId:t.traceId,code:ne.BAD_REQUEST_ERROR,message:`Connection error. No TON accounts connected.`});return}let[,i,a]=r.accounts[0].split(`:`,3),o=n.sessionProperties?.ton_getPublicKey;if(!o){yield this.disconnectWithError({traceId:t.traceId,code:ne.BAD_REQUEST_ERROR,message:`Connection error. No sessionProperties.ton_getPublicKey provided.`});return}let s=n.sessionProperties?.ton_getStateInit;if(!s){yield this.disconnectWithError({traceId:t.traceId,code:ne.BAD_REQUEST_ERROR,message:`Connection error. No sessionProperties.ton_getStateInit provided.`});return}e.provider.once(`session_delete`,()=>x(this,void 0,void 0,function*(){try{yield this.connectionStorage.removeConnection();let e={event:`disconnect`,traceId:w(),payload:{}};this.emit(e)}catch{}}));let c=t?.includeTonProof?this.buildTonProof(e):void 0,l=Sn(a)?wn(Tn(a)):a,u=this.buildFeatureList(r.methods),d={items:[{name:`ton_addr`,address:l,network:i,publicKey:o,walletStateInit:s},...c?[c]:[]],device:{appName:`wallet_connect`,appVersion:``,maxProtocolVersion:2,features:u,platform:`browser`}};this.emit({event:`connect`,payload:d,traceId:t.traceId}),yield this.storeConnection()})}buildFeatureList(e){let t=[];return e.includes(`ton_sendMessage`)&&t.push(`SendTransaction`,{name:`SendTransaction`,maxMessages:4,extraCurrencySupported:!1}),e.includes(`ton_signData`)&&t.push({name:`SignData`,types:[`text`,`binary`,`cell`]}),t}disconnectWithError(e){return x(this,void 0,void 0,function*(){yield this.disconnect();let t={code:e.code,message:e.message};this.emit({event:`connect_error`,traceId:e.traceId,payload:t})})}clearAbortController(e){this.abortController===e&&(this.abortController=void 0)}emit(e,t){(t??this.listeners).forEach(t=>t(e))}storeConnection(){return this.connectionStorage.storeConnection({type:`wallet-connect`})}},_r=class{static getWallets(){return this.walletsList.getWallets()}get connected(){return this._wallet!==null}get account(){return this._wallet?.account||null}get wallet(){return this._wallet}set wallet(e){this._wallet=e,this.statusChangeSubscriptions.forEach(e=>e(this._wallet))}constructor(e){this._wallet=null,this.provider=null,this.statusChangeSubscriptions=[],this.statusChangeErrorSubscriptions=[];let t=e?.manifestUrl||wt();this.dappSettings={manifestUrl:t,storage:e?.storage||new Nt},this.walletsRequiredFeatures=e?.walletsRequiredFeatures,this.environment=e?.environment??new lr,this.walletsList=new Vt({walletsListSource:e?.walletsListSource,cacheTTLMs:e?.walletsListCacheTTLMs,onDownloadDurationMeasured:e=>{var t;(t=this.analytics)==null||t.setWalletListDownloadDuration(e)}});let n=e?.eventDispatcher??new ar;if(this.tracker=new gn({eventDispatcher:n,tonConnectSdkVersion:_n}),this.environment=e?.environment??new lr,this.initAnalytics(t,n,e),!this.dappSettings.manifestUrl)throw new ye(`Dapp tonconnect-manifest.json must be specified if window.location.origin is undefined. See more https://github.com/ton-connect/docs/blob/main/requests-responses.md#app-manifest`);this.bridgeConnectionStorage=new Mt(this.dappSettings.storage,this.walletsList),e?.disableAutoPauseConnection||this.addWindowFocusAndBlurSubscriptions()}getWallets(){return this.walletsList.getWallets()}onStatusChange(e,t){return this.statusChangeSubscriptions.push(e),t&&this.statusChangeErrorSubscriptions.push(t),()=>{this.statusChangeSubscriptions=this.statusChangeSubscriptions.filter(t=>t!==e),t&&(this.statusChangeErrorSubscriptions=this.statusChangeErrorSubscriptions.filter(e=>e!==t))}}connect(e,t,n){var r,i;let a=Object.assign({},n);if(typeof t==`object`&&t&&`tonProof`in t&&(a.request=t),typeof t==`object`&&t&&(`openingDeadlineMS`in t||`signal`in t||`request`in t||`traceId`in t)&&(a.request=t?.request,a.openingDeadlineMS=t?.openingDeadlineMS,a.signal=t?.signal),a.request){let e=Jn(a.request);if(e&&!Bt())throw new S(`ConnectAdditionalRequest validation failed: `+e)}if(this.connected)throw new Se;let o=Qe(a?.signal);if((r=this.abortController)==null||r.abort(),this.abortController=o,o.signal.aborted)throw new S(`Connection was aborted`);(i=this.provider)==null||i.closeConnection(),this.provider=this.createProvider(e),o.signal.addEventListener(`abort`,()=>{var e;(e=this.provider)==null||e.closeConnection(),this.provider=null});let s=a?.traceId??w();return this.tracker.trackConnectionStarted(s),this.provider.connect(this.createConnectRequest(a?.request),{openingDeadlineMS:a?.openingDeadlineMS,signal:o.signal,traceId:s})}restoreConnection(e){return x(this,void 0,void 0,function*(){var t,n;let r=e?.traceId??w();this.tracker.trackConnectionRestoringStarted(r);let i=Qe(e?.signal);if((t=this.abortController)==null||t.abort(),this.abortController=i,i.signal.aborted){this.tracker.trackConnectionRestoringError(`Connection restoring was aborted`,r);return}let[a,o]=yield Promise.all([this.bridgeConnectionStorage.storedConnectionType(),this.walletsList.getEmbeddedWallet()]);if(i.signal.aborted){this.tracker.trackConnectionRestoringError(`Connection restoring was aborted`,r);return}let s=null;try{switch(a){case`http`:s=yield _t.fromStorage(this.bridgeConnectionStorage,this.analytics);break;case`injected`:s=yield jt.fromStorage(this.bridgeConnectionStorage,this.analytics);break;case`wallet-connect`:s=yield gr.fromStorage(this.bridgeConnectionStorage);break;default:if(o)s=this.createProvider(o);else return}}catch{this.tracker.trackConnectionRestoringError(`Provider is not restored`,r),yield this.bridgeConnectionStorage.removeConnection(),s?.closeConnection(),s=null;return}if(i.signal.aborted){s?.closeConnection(),this.tracker.trackConnectionRestoringError(`Connection restoring was aborted`,r);return}if(!s){this.tracker.trackConnectionRestoringError(`Provider is not restored`,r);return}(n=this.provider)==null||n.closeConnection(),this.provider=s,s.listen(this.walletEventsListener.bind(this));let c=()=>{this.tracker.trackConnectionRestoringError(`Connection restoring was aborted`,r),s?.closeConnection(),s=null};i.signal.addEventListener(`abort`,c);let l=$e(t=>x(this,void 0,void 0,function*(){if(yield s?.restoreConnection({openingDeadlineMS:e?.openingDeadlineMS,signal:t.signal,traceId:r}),i.signal.removeEventListener(`abort`,c),this.connected){let e=this.getSessionInfo();this.tracker.trackConnectionRestoringCompleted(this.wallet,e,r)}else this.tracker.trackConnectionRestoringError(`Connection restoring failed`,r)}),{attempts:2**53-1,delayMs:2e3,signal:e?.signal}),u=new Promise(e=>setTimeout(()=>e(),12e3));return Promise.race([l,u])})}sendTransaction(e,t){return x(this,void 0,void 0,function*(){let n={};typeof t==`function`?n.onRequestSent=t:(n.onRequestSent=t?.onRequestSent,n.signal=t?.signal,n.traceId=t?.traceId);let r=Kn(e);if(r&&!Bt())throw new S(`SendTransactionRequest validation failed: `+r);let i=Qe(n?.signal);if(i.signal.aborted)throw new S(`Transaction sending was aborted`);this.checkConnection();let a=e.messages.length,o=e.messages.some(e=>e.extraCurrency&&Object.keys(e.extraCurrency).length>0);Ht(this.wallet.device.features,{requiredMessagesNumber:a,requireExtraCurrencies:o});let s=this.getSessionInfo(),c=n?.traceId??w();this.tracker.trackTransactionSentForSignature(this.wallet,e,s,c);let{validUntil:l,messages:u}=e,d=ve(e,[`validUntil`,`messages`]),f=e.from||this.account.address,p=e.network||this.account.chain;if(this.wallet?.account.chain&&p!==this.wallet.account.chain&&!Bt())throw new De(`Wallet connected to a wrong network`,{cause:{expectedChainId:this.wallet?.account.chain,actualChainId:p}});let m=yield this.provider.sendRequest(Ve.convertToRpcRequest(Object.assign(Object.assign({},d),{from:f,network:p,valid_until:l,messages:u.map(e=>{var{extraCurrency:t,payload:n,stateInit:r}=e,i=ve(e,[`extraCurrency`,`payload`,`stateInit`]);return Object.assign(Object.assign({},i),{payload:er(n),stateInit:er(r),extra_currency:t})})})),{onRequestSent:n.onRequestSent,signal:i.signal,traceId:c});if(Ve.isError(m))return this.tracker.trackTransactionSigningFailed(this.wallet,e,m.error.message,m.error.code,s,c),Ve.parseAndThrowError(m);let h=Ve.convertFromRpcResponse(m);return this.tracker.trackTransactionSigned(this.wallet,e,h,s,c),Object.assign(Object.assign({},h),{traceId:m.traceId})})}signData(e,t){return x(this,void 0,void 0,function*(){let n=Qe(t?.signal);if(n.signal.aborted)throw new S(`data sending was aborted`);let r=Yn(e);if(r&&!Bt())throw new S(`SignDataPayload validation failed: `+r);this.checkConnection(),Ut(this.wallet.device.features,{requiredTypes:[e.type]});let i=this.getSessionInfo(),a=t?.traceId??w();this.tracker.trackDataSentForSignature(this.wallet,e,i,a);let o=e.from||this.account.address,s=e.network||this.account.chain;if(this.wallet?.account.chain&&s!==this.wallet.account.chain&&!Bt())throw new De(`Wallet connected to a wrong network`,{cause:{expectedChainId:this.wallet?.account.chain,actualChainId:s}});let c=yield this.provider.sendRequest(Ue.convertToRpcRequest(Object.assign(Object.assign(Object.assign({},e),e.type===`cell`?{cell:er(e.cell)}:{}),{from:o,network:s})),{onRequestSent:t?.onRequestSent,signal:n.signal,traceId:a});if(Ue.isError(c))return this.tracker.trackDataSigningFailed(this.wallet,e,c.error.message,c.error.code,i,a),Ue.parseAndThrowError(c);let l=Ue.convertFromRpcResponse(c);return this.tracker.trackDataSigned(this.wallet,e,l,i,a),Object.assign(Object.assign({},l),{traceId:a})})}setConnectionNetwork(e){if(this.connected)throw new S(`Cannot change network while wallet is connected`);this.desiredChainId=e}disconnect(e){return x(this,void 0,void 0,function*(){if(!this.connected)throw new Ce;let t=Qe(e?.signal),n=this.abortController;if(this.abortController=t,t.signal.aborted)throw new S(`Disconnect was aborted`);let r=e?.traceId??w();this.onWalletDisconnected(`dapp`,{traceId:r}),yield this.provider?.disconnect({signal:t.signal,traceId:r}),n?.abort()})}getSessionId(){return x(this,void 0,void 0,function*(){if(!this.provider)return null;try{let e=yield this.bridgeConnectionStorage.getConnection();return!e||e.type!==`http`?null:`sessionCrypto`in e?e.sessionCrypto.sessionId:e.session.sessionCrypto.sessionId}catch{return null}})}getSessionInfo(){if(this.provider?.type!==`http`||!(`session`in this.provider))return null;try{let e=this.provider.session;if(!e)return null;let t=e.sessionCrypto.sessionId,n=null;return`walletPublicKey`in e&&(n=e.walletPublicKey),{clientId:t,walletId:n}}catch{return null}}pauseConnection(){this.provider?.type===`http`&&this.provider.pause()}unPauseConnection(){return this.provider?.type===`http`?this.provider.unPause():Promise.resolve()}addWindowFocusAndBlurSubscriptions(){let e=Ct();if(e)try{e.addEventListener(`visibilitychange`,()=>{e.hidden?this.pauseConnection():this.unPauseConnection().catch(()=>{})})}catch{}}initAnalytics(e,t,n){let r=n?.analytics?.mode??`telemetry`;if(r===`off`)return;let i=new ir({environment:this.environment,mode:r});this.analytics=i;let a=this.environment.getTelegramUser(),o={browser:this.environment.getBrowser(),platform:this.environment.getPlatform(),manifest_json_url:e,origin_url:Tt,locale:this.environment.getLocale()};a&&(o.tg_id=a.id,o.tma_is_premium=a.isPremium),cr(t,i.scoped(o))}createProvider(e){let t;return t=!Array.isArray(e)&&Oe(e)?new jt(this.bridgeConnectionStorage,e.jsBridgeKey,this.analytics):!Array.isArray(e)&&ke(e)?new gr(this.bridgeConnectionStorage):new _t(this.bridgeConnectionStorage,e,this.analytics),t.listen(this.walletEventsListener.bind(this)),t}walletEventsListener(e){switch(e.event){case`connect`:this.onWalletConnected(e.payload,{traceId:e.traceId});break;case`connect_error`:this.tracker.trackConnectionError(e.payload.message,e.payload.code,this.getSessionInfo(),e.traceId);let t=Re.parseError(e.payload);this.onWalletConnectError(t);break;case`disconnect`:this.onWalletDisconnected(`wallet`,{traceId:e.traceId})}}onWalletConnected(e,t){var n,r;let i=e.items.find(e=>e.name===`ton_addr`),a=e.items.find(e=>e.name===`ton_proof`);if(!i)throw new S(`ton_addr connection item was not found`);if(!Wt(e.device.features,this.walletsRequiredFeatures)){(n=this.provider)==null||n.disconnect(),this.onWalletConnectError(new Ee(`Wallet does not support required features`,{cause:{connectEvent:e}}));return}let o={device:e.device,provider:this.provider.type,account:{address:i.address,chain:i.network,walletStateInit:i.walletStateInit,publicKey:i.publicKey}};if(this.desiredChainId&&o.account.chain!==this.desiredChainId){let e=this.desiredChainId,t=o.account.chain;(r=this.provider)==null||r.disconnect(),this.onWalletConnectError(new De(`Wallet connected to a wrong network`,{cause:{expectedChainId:e,actualChainId:t}}));return}if(a){let e=$n(a),t;if(e)t={name:`ton_proof`,error:{code:re.UNKNOWN_ERROR,message:e}};else try{if(`proof`in a)t={name:`ton_proof`,proof:{timestamp:a.proof.timestamp,domain:{lengthBytes:a.proof.domain.lengthBytes,value:a.proof.domain.value},payload:a.proof.payload,signature:a.proof.signature}};else if(`error`in a)t={name:`ton_proof`,error:{code:a.error.code,message:a.error.message}};else throw new S(`Invalid data format`)}catch{t={name:`ton_proof`,error:{code:re.UNKNOWN_ERROR,message:`Invalid data format`}}}o.connectItems={tonProof:t}}this.wallet=o;let s=this.getSessionInfo();this.tracker.trackConnectionCompleted(o,s,t?.traceId)}onWalletConnectError(e){if(this.statusChangeErrorSubscriptions.forEach(t=>t(e)),e instanceof xe||e instanceof be)throw e}onWalletDisconnected(e,t){let n=this.getSessionInfo();this.tracker.trackDisconnection(this.wallet,e,n,t?.traceId),this.wallet=null}checkConnection(){if(!this.connected)throw new Ce}createConnectRequest(e){let t=[Object.assign({name:`ton_addr`},this.desiredChainId?{network:this.desiredChainId}:{})];return e?.tonProof&&t.push({name:`ton_proof`,payload:e.tonProof}),{manifestUrl:this.dappSettings.manifestUrl,items:t}}};_r.walletsList=new Vt,_r.isWalletInjected=e=>jt.isWalletInjected(e),_r.isInsideWalletBrowser=e=>jt.isInsideWalletBrowser(e);var vr=t(((e,t)=>{(function(){var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}));r();var yr=e(h(),1),br=e(g(),1),xr=e(vr(),1),Sr=Object.defineProperty,Cr=Object.defineProperties,wr=Object.getOwnPropertyDescriptors,Tr=Object.getOwnPropertySymbols,Er=Object.prototype.hasOwnProperty,Dr=Object.prototype.propertyIsEnumerable,Or=(e,t,n)=>t in e?Sr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,T=(e,t)=>{for(var n in t||={})Er.call(t,n)&&Or(e,n,t[n]);if(Tr)for(var n of Tr(t))Dr.call(t,n)&&Or(e,n,t[n]);return e},E=(e,t)=>Cr(e,wr(t)),kr=(e,t)=>{var n={};for(var r in e)Er.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Tr)for(var r of Tr(e))t.indexOf(r)<0&&Dr.call(e,r)&&(n[r]=e[r]);return n},D=(e,t,n)=>new Promise((r,i)=>{var a=e=>{try{s(n.next(e))}catch(e){i(e)}},o=e=>{try{s(n.throw(e))}catch(e){i(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(a,o);s((n=n.apply(e,t)).next())}),Ar=(e,t)=>e===t,jr=Symbol(`solid-proxy`),Mr=typeof Proxy==`function`,Nr=Symbol(`solid-track`),Pr={equals:Ar},Fr=hi,Ir=1,Lr=2,Rr={owned:null,cleanups:null,context:null,owner:null},zr={},O=null,k=null,Br=null,Vr=null,Hr=0;function Ur(e,t){let n=k,r=O,i=e.length===0,a=t===void 0?r:t,o=i?Rr:{owned:null,cleanups:null,context:a?a.context:null,owner:a},s=i?e:()=>e(()=>P(()=>yi(o)));O=o,k=null;try{return pi(s,!0)}finally{k=n,O=r}}function A(e,t){t=t?Object.assign({},Pr,t):Pr;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0};return[si.bind(n),e=>(typeof e==`function`&&(e=e(n.value)),ci(n,e))]}function Wr(e,t,n){li(di(e,t,!0,Ir))}function j(e,t,n){li(di(e,t,!1,Ir))}function M(e,t,n){Fr=gi;let r=di(e,t,!1,Ir);(!n||!n.render)&&(r.user=!0),Vr?Vr.push(r):li(r)}function N(e,t,n){n=n?Object.assign({},Pr,n):Pr;let r=di(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,li(r),si.bind(r)}function Gr(e){return e&&typeof e==`object`&&`then`in e}function Kr(e,t,n){let r,i,a;r=!0,i=e,a={};let o=null,s=zr,c=!1,l=`initialValue`in a,u=typeof r==`function`&&N(r),d=new Set,[f,p]=(a.storage||A)(a.initialValue),[m,h]=A(void 0),[g,_]=A(void 0,{equals:!1}),[v,y]=A(l?`ready`:`unresolved`);function b(e,t,n,r){return o===e&&(o=null,r!==void 0&&(l=!0),(e===s||t===s)&&a.onHydrated&&queueMicrotask(()=>a.onHydrated(r,{value:t})),s=zr,ee(t,n)),t}function ee(e,t){pi(()=>{t===void 0&&p(()=>e),y(t===void 0?l?`ready`:`unresolved`:`errored`),h(t);for(let e of d.keys())e.decrement();d.clear()},!1)}function te(){let e=f(),t=m();if(t!==void 0&&!o)throw t;return k&&k.user,e}function ne(e=!0){if(e!==!1&&c)return;c=!1;let t=u?u():r;if(t==null||t===!1){b(o,P(f));return}let n,a=s===zr?P(()=>{try{return i(t,{value:f(),refetching:e})}catch(e){n=e}}):s;if(n!==void 0){b(o,void 0,bi(n),t);return}else if(!Gr(a))return b(o,a,void 0,t),a;return o=a,`v`in a?(a.s===1?b(o,a.v,void 0,t):b(o,void 0,bi(a.v),t),a):(c=!0,queueMicrotask(()=>c=!1),pi(()=>{y(l?`refreshing`:`pending`),_()},!1),a.then(e=>b(a,e,void 0,t),e=>b(a,void 0,bi(e),t)))}Object.defineProperties(te,{state:{get:()=>v()},error:{get:()=>m()},loading:{get(){let e=v();return e===`pending`||e===`refreshing`}},latest:{get(){if(!l)return te();let e=m();if(e&&!o)throw e;return f()}}});let re=O;return u?Wr(()=>(re=O,ne(!1))):ne(!1),[te,{refetch:e=>$r(re,()=>ne(e)),mutate:p}]}function qr(e){return pi(e,!1)}function P(e){if(k===null)return e();let t=k;k=null;try{return e()}finally{k=t}}function Jr(e,t,n){let r=Array.isArray(e),i;return n=>{let a;if(r){a=Array(e.length);for(let t=0;t<e.length;t++)a[t]=e[t]()}else a=e();let o=P(()=>t(a,i,n));return i=a,o}}function Yr(e){M(()=>P(e))}function Xr(e){return O===null||(O.cleanups===null?O.cleanups=[e]:O.cleanups.push(e)),e}function Zr(){return k}function Qr(){return O}function $r(e,t){let n=O,r=k;O=e,k=null;try{return pi(t,!0)}catch(e){xi(e)}finally{O=n,k=r}}function ei(e){let t=k,n=O;return Promise.resolve().then(()=>{k=t,O=n,pi(e,!1),k=O=null})}var[ti,ni]=A(!1);function ri(){return[ti,ei]}function ii(e,t){let n=Symbol(`context`);return{id:n,Provider:Ci(n),defaultValue:e}}function ai(e){let t;return O&&O.context&&(t=O.context[e.id])!==void 0?t:e.defaultValue}function oi(e){let t=N(e),n=N(()=>Si(t()));return n.toArray=()=>{let e=n();return Array.isArray(e)?e:e==null?[]:[e]},n}function si(){if(this.sources&&this.state)if(this.state===Ir)li(this);else{let e=Br;Br=null,pi(()=>_i(this),!1),Br=e}if(k){let e=this.observers?this.observers.length:0;k.sources?(k.sources.push(this),k.sourceSlots.push(e)):(k.sources=[this],k.sourceSlots=[e]),this.observers?(this.observers.push(k),this.observerSlots.push(k.sources.length-1)):(this.observers=[k],this.observerSlots=[k.sources.length-1])}return this.value}function ci(e,t,n){let r=e.value;return(!e.comparator||!e.comparator(r,t))&&(e.value=t,e.observers&&e.observers.length&&pi(()=>{for(let t=0;t<e.observers.length;t+=1){let n=e.observers[t];n.state||(n.pure?Br.push(n):Vr.push(n),n.observers&&vi(n)),n.state=Ir}if(Br.length>1e6)throw Br=[],Error()},!1)),t}function li(e){if(!e.fn)return;yi(e);let t=Hr;ui(e,e.value,t)}function ui(e,t,n){let r,i=O,a=k;k=O=e;try{r=e.fn(t)}catch(t){return e.pure&&(e.state=Ir,e.owned&&e.owned.forEach(yi),e.owned=null),e.updatedAt=n+1,xi(t)}finally{k=a,O=i}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&`observers`in e?ci(e,r):e.value=r,e.updatedAt=n)}function di(e,t,n,r=Ir,i){let a={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:O,context:O?O.context:null,pure:n};return O===null||O!==Rr&&(O.owned?O.owned.push(a):O.owned=[a]),a}function fi(e){if(e.state===0)return;if(e.state===Lr)return _i(e);if(e.suspense&&P(e.suspense.inFallback))return e.suspense.effects.push(e);let t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<Hr);)e.state&&t.push(e);for(let n=t.length-1;n>=0;n--)if(e=t[n],e.state===Ir)li(e);else if(e.state===Lr){let n=Br;Br=null,pi(()=>_i(e,t[0]),!1),Br=n}}function pi(e,t){if(Br)return e();let n=!1;t||(Br=[]),Vr?n=!0:Vr=[],Hr++;try{let t=e();return mi(n),t}catch(e){n||(Vr=null),Br=null,xi(e)}}function mi(e){if(Br&&=(hi(Br),null),e)return;let t=Vr;Vr=null,t.length&&pi(()=>Fr(t),!1)}function hi(e){for(let t=0;t<e.length;t++)fi(e[t])}function gi(e){let t,n=0;for(t=0;t<e.length;t++){let r=e[t];r.user?e[n++]=r:fi(r)}for(t=0;t<n;t++)fi(e[t])}function _i(e,t){e.state=0;for(let n=0;n<e.sources.length;n+=1){let r=e.sources[n];if(r.sources){let e=r.state;e===Ir?r!==t&&(!r.updatedAt||r.updatedAt<Hr)&&fi(r):e===Lr&&_i(r,t)}}}function vi(e){for(let t=0;t<e.observers.length;t+=1){let n=e.observers[t];n.state||(n.state=Lr,n.pure?Br.push(n):Vr.push(n),n.observers&&vi(n))}}function yi(e){let t;if(e.sources)for(;e.sources.length;){let t=e.sources.pop(),n=e.sourceSlots.pop(),r=t.observers;if(r&&r.length){let e=r.pop(),i=t.observerSlots.pop();n<r.length&&(e.sourceSlots[i]=n,r[n]=e,t.observerSlots[n]=i)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)yi(e.tOwned[t]);delete e.tOwned}if(e.owned){for(t=e.owned.length-1;t>=0;t--)yi(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}e.state=0}function bi(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Unknown error`,{cause:e})}function xi(e,t=O){throw bi(e)}function Si(e){if(typeof e==`function`&&!e.length)return Si(e());if(Array.isArray(e)){let t=[];for(let n=0;n<e.length;n++){let r=Si(e[n]);Array.isArray(r)?t.push.apply(t,r):t.push(r)}return t}return e}function Ci(e,t){return function(t){let n;return j(()=>n=P(()=>(O.context=E(T({},O.context),{[e]:t.value}),oi(()=>t.children))),void 0),n}}var wi=Symbol(`fallback`);function Ti(e){for(let t=0;t<e.length;t++)e[t]()}function Ei(e,t,n={}){let r=[],i=[],a=[],o=0,s=t.length>1?[]:null;return Xr(()=>Ti(a)),()=>{let c=e()||[],l=c.length,u,d;return c[Nr],P(()=>{let e,t,p,m,h,g,_,v,y;if(l===0)o!==0&&(Ti(a),a=[],r=[],i=[],o=0,s&&=[]),n.fallback&&(r=[wi],i[0]=Ur(e=>(a[0]=e,n.fallback())),o=1);else if(o===0){for(i=Array(l),d=0;d<l;d++)r[d]=c[d],i[d]=Ur(f);o=l}else{for(p=Array(l),m=Array(l),s&&(h=Array(l)),g=0,_=Math.min(o,l);g<_&&r[g]===c[g];g++);for(_=o-1,v=l-1;_>=g&&v>=g&&r[_]===c[v];_--,v--)p[v]=i[_],m[v]=a[_],s&&(h[v]=s[_]);for(e=new Map,t=Array(v+1),d=v;d>=g;d--)y=c[d],u=e.get(y),t[d]=u===void 0?-1:u,e.set(y,d);for(u=g;u<=_;u++)y=r[u],d=e.get(y),d!==void 0&&d!==-1?(p[d]=i[u],m[d]=a[u],s&&(h[d]=s[u]),d=t[d],e.set(y,d)):a[u]();for(d=g;d<l;d++)d in p?(i[d]=p[d],a[d]=m[d],s&&(s[d]=h[d],s[d](d))):i[d]=Ur(f);i=i.slice(0,o=l),r=c.slice(0)}return i});function f(e){if(a[d]=e,s){let[e,n]=A(d);return s[d]=n,t(c[d],e)}return t(c[d])}}}function F(e,t){return P(()=>e(t||{}))}function Di(){return!0}var Oi={get(e,t,n){return t===jr?n:e.get(t)},has(e,t){return t===jr?!0:e.has(t)},set:Di,deleteProperty:Di,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:Di,deleteProperty:Di}},ownKeys(e){return e.keys()}};function ki(e){return(e=typeof e==`function`?e():e)?e:{}}function Ai(){for(let e=0,t=this.length;e<t;++e){let t=this[e]();if(t!==void 0)return t}}function ji(...e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];t||=!!r&&jr in r,e[n]=typeof r==`function`?(t=!0,N(r)):r}if(Mr&&t)return new Proxy({get(t){for(let n=e.length-1;n>=0;n--){let r=ki(e[n])[t];if(r!==void 0)return r}},has(t){for(let n=e.length-1;n>=0;n--)if(t in ki(e[n]))return!0;return!1},keys(){let t=[];for(let n=0;n<e.length;n++)t.push(...Object.keys(ki(e[n])));return[...new Set(t)]}},Oi);let n={},r=Object.create(null);for(let t=e.length-1;t>=0;t--){let i=e[t];if(!i)continue;let a=Object.getOwnPropertyNames(i);for(let e=a.length-1;e>=0;e--){let t=a[e];if(t===`__proto__`||t===`constructor`)continue;let o=Object.getOwnPropertyDescriptor(i,t);if(!r[t])r[t]=o.get?{enumerable:!0,configurable:!0,get:Ai.bind(n[t]=[o.get.bind(i)])}:o.value===void 0?void 0:o;else{let e=n[t];e&&(o.get?e.push(o.get.bind(i)):o.value!==void 0&&e.push(()=>o.value))}}}let i={},a=Object.keys(r);for(let e=a.length-1;e>=0;e--){let t=a[e],n=r[t];n&&n.get?Object.defineProperty(i,t,n):i[t]=n?n.value:void 0}return i}function Mi(e,...t){if(Mr&&jr in e){let n=new Set(t.length>1?t.flat():t[0]),r=t.map(t=>new Proxy({get(n){return t.includes(n)?e[n]:void 0},has(n){return t.includes(n)&&n in e},keys(){return t.filter(t=>t in e)}},Oi));return r.push(new Proxy({get(t){return n.has(t)?void 0:e[t]},has(t){return n.has(t)?!1:t in e},keys(){return Object.keys(e).filter(e=>!n.has(e))}},Oi)),r}let n={},r=t.map(()=>({}));for(let i of Object.getOwnPropertyNames(e)){let a=Object.getOwnPropertyDescriptor(e,i),o=!a.get&&!a.set&&a.enumerable&&a.writable&&a.configurable,s=!1,c=0;for(let e of t)e.includes(i)&&(s=!0,o?r[c][i]=a.value:Object.defineProperty(r[c],i,a)),++c;s||(o?n[i]=a.value:Object.defineProperty(n,i,a))}return[...r,n]}var Ni=e=>`Stale read from <${e}>.`;function Pi(e){let t=`fallback`in e&&{fallback:()=>e.fallback};return N(Ei(()=>e.each,e.children,t||void 0))}function I(e){let t=e.keyed,n=N(()=>e.when,void 0,void 0),r=t?n:N(n,void 0,{equals:(e,t)=>!e==!t});return N(()=>{let i=r();if(i){let a=e.children;return typeof a==`function`&&a.length>0?P(()=>a(t?i:()=>{if(!P(r))throw Ni(`Show`);return n()})):a}return e.fallback},void 0,void 0)}function Fi(e){let t=oi(()=>e.children),n=N(()=>{let e=t(),n=Array.isArray(e)?e:[e],r=()=>void 0;for(let e=0;e<n.length;e++){let t=e,i=n[e],a=r,o=N(()=>a()?void 0:i.when,void 0,void 0),s=i.keyed?o:N(o,void 0,{equals:(e,t)=>!e==!t});r=()=>a()||(s()?[t,o,i]:void 0)}return r});return N(()=>{let t=n()();if(!t)return e.fallback;let[r,i,a]=t,o=a.children;return typeof o==`function`&&o.length>0?P(()=>o(a.keyed?i():()=>{if(P(n)()?.[0]!==r)throw Ni(`Match`);return i()})):o},void 0,void 0)}function L(e){return e}var Ii=new Set(`className.value.readOnly.noValidate.formNoValidate.isMap.noModule.playsInline.allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.hidden.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected`.split(`.`)),Li=new Set([`innerHTML`,`textContent`,`innerText`,`children`]),Ri=Object.assign(Object.create(null),{className:`class`,htmlFor:`for`}),zi=Object.assign(Object.create(null),{class:`className`,novalidate:{$:`noValidate`,FORM:1},formnovalidate:{$:`formNoValidate`,BUTTON:1,INPUT:1},ismap:{$:`isMap`,IMG:1},nomodule:{$:`noModule`,SCRIPT:1},playsinline:{$:`playsInline`,VIDEO:1},readonly:{$:`readOnly`,INPUT:1,TEXTAREA:1}});function Bi(e,t){let n=zi[e];return typeof n==`object`?n[t]?n.$:void 0:n}var Vi=new Set([`beforeinput`,`click`,`dblclick`,`contextmenu`,`focusin`,`focusout`,`input`,`keydown`,`keyup`,`mousedown`,`mousemove`,`mouseout`,`mouseover`,`mouseup`,`pointerdown`,`pointermove`,`pointerout`,`pointerover`,`pointerup`,`touchend`,`touchmove`,`touchstart`]),Hi=new Set(`altGlyph.altGlyphDef.altGlyphItem.animate.animateColor.animateMotion.animateTransform.circle.clipPath.color-profile.cursor.defs.desc.ellipse.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.filter.font.font-face.font-face-format.font-face-name.font-face-src.font-face-uri.foreignObject.g.glyph.glyphRef.hkern.image.line.linearGradient.marker.mask.metadata.missing-glyph.mpath.path.pattern.polygon.polyline.radialGradient.rect.set.stop.svg.switch.symbol.text.textPath.tref.tspan.use.view.vkern`.split(`.`)),Ui={xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`},R=e=>N(()=>e());function Wi(e,t,n){let r=n.length,i=t.length,a=r,o=0,s=0,c=t[i-1].nextSibling,l=null;for(;o<i||s<a;){if(t[o]===n[s]){o++,s++;continue}for(;t[i-1]===n[a-1];)i--,a--;if(i===o){let t=a<r?s?n[s-1].nextSibling:n[a-s]:c;for(;s<a;)e.insertBefore(n[s++],t)}else if(a===s)for(;o<i;)(!l||!l.has(t[o]))&&t[o].remove(),o++;else if(t[o]===n[a-1]&&n[s]===t[i-1]){let r=t[--i].nextSibling;e.insertBefore(n[s++],t[o++].nextSibling),e.insertBefore(n[--a],r),t[i]=n[a]}else{if(!l){l=new Map;let e=s;for(;e<a;)l.set(n[e],e++)}let r=l.get(t[o]);if(r!=null)if(s<r&&r<a){let c=o,u=1,d;for(;++c<i&&c<a&&!((d=l.get(t[c]))==null||d!==r+u);)u++;if(u>r-s){let i=t[o];for(;s<r;)e.insertBefore(n[s++],i)}else e.replaceChild(n[s++],t[o++])}else o++;else t[o++].remove()}}}var Gi=`_$DX_DELEGATE`;function Ki(e,t,n,r={}){let i;return Ur(r=>{i=r,t===document?e():V(t,e(),t.firstChild?null:void 0,n)},r.owner),()=>{i(),t.textContent=``}}function z(e,t,n,r){let i,a=()=>{let t=r?document.createElementNS(`http://www.w3.org/1998/Math/MathML`,`template`):document.createElement(`template`);return t.innerHTML=e,n?t.content.firstChild.firstChild:r?t.firstChild:t.content.firstChild},o=t?()=>P(()=>document.importNode(i||=a(),!0)):()=>(i||=a()).cloneNode(!0);return o.cloneNode=o,o}function qi(e,t=window.document){let n=t[Gi]||(t[Gi]=new Set);for(let r=0,i=e.length;r<i;r++){let i=e[r];n.has(i)||(n.add(i),t.addEventListener(i,oa))}}function B(e,t,n){n==null?e.removeAttribute(t):e.setAttribute(t,n)}function Ji(e,t,n,r){r==null?e.removeAttributeNS(t,n):e.setAttributeNS(t,n,r)}function Yi(e,t,n){n?e.setAttribute(t,``):e.removeAttribute(t)}function Xi(e,t){t==null?e.removeAttribute(`class`):e.className=t}function Zi(e,t,n,r){if(r)Array.isArray(n)?(e[`$$${t}`]=n[0],e[`$$${t}Data`]=n[1]):e[`$$${t}`]=n;else if(Array.isArray(n)){let r=n[0];e.addEventListener(t,n[0]=t=>r.call(e,n[1],t))}else e.addEventListener(t,n,typeof n!=`function`&&n)}function Qi(e,t,n={}){let r=Object.keys(t||{}),i=Object.keys(n),a,o;for(a=0,o=i.length;a<o;a++){let r=i[a];!r||r===`undefined`||t[r]||(ia(e,r,!1),delete n[r])}for(a=0,o=r.length;a<o;a++){let i=r[a],o=!!t[i];!i||i===`undefined`||n[i]===o||!o||(ia(e,i,!0),n[i]=o)}return n}function $i(e,t,n){if(!t)return n?B(e,`style`):t;let r=e.style;if(typeof t==`string`)return r.cssText=t;typeof n==`string`&&(r.cssText=n=void 0),n||={},t||={};let i,a;for(a in n)t[a]??r.removeProperty(a),delete n[a];for(a in t)i=t[a],i!==n[a]&&(r.setProperty(a,i),n[a]=i);return n}function ea(e,t={},n,r){let i={};return j(()=>i.children=sa(e,t.children,i.children)),j(()=>typeof t.ref==`function`&&ta(t.ref,e)),j(()=>na(e,t,n,!0,i,!0)),i}function ta(e,t,n){return P(()=>e(t,n))}function V(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!=`function`)return sa(e,t,r,n);j(r=>sa(e,t(),r,n),r)}function na(e,t,n,r,i={},a=!1){t||={};for(let r in i)if(!(r in t)){if(r===`children`)continue;i[r]=aa(e,r,null,i[r],n,a,t)}for(let r in t){if(r===`children`)continue;let o=t[r];i[r]=aa(e,r,o,i[r],n,a,t)}}function ra(e){return e.toLowerCase().replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function ia(e,t,n){let r=t.trim().split(/\s+/);for(let t=0,i=r.length;t<i;t++)e.classList.toggle(r[t],n)}function aa(e,t,n,r,i,a,o){let s,c,l,u,d;if(t===`style`)return $i(e,n,r);if(t===`classList`)return Qi(e,n,r);if(n===r)return r;if(t===`ref`)a||n(e);else if(t.slice(0,3)===`on:`){let i=t.slice(3);r&&e.removeEventListener(i,r,typeof r!=`function`&&r),n&&e.addEventListener(i,n,typeof n!=`function`&&n)}else if(t.slice(0,10)===`oncapture:`){let i=t.slice(10);r&&e.removeEventListener(i,r,!0),n&&e.addEventListener(i,n,!0)}else if(t.slice(0,2)===`on`){let i=t.slice(2).toLowerCase(),a=Vi.has(i);if(!a&&r){let t=Array.isArray(r)?r[0]:r;e.removeEventListener(i,t)}(a||n)&&(Zi(e,i,n,a),a&&qi([i]))}else if(t.slice(0,5)===`attr:`)B(e,t.slice(5),n);else if(t.slice(0,5)===`bool:`)Yi(e,t.slice(5),n);else if((d=t.slice(0,5)===`prop:`)||(l=Li.has(t))||!i&&((u=Bi(t,e.tagName))||(c=Ii.has(t)))||(s=e.nodeName.includes(`-`)||`is`in o))d&&(t=t.slice(5),c=!0),t===`class`||t===`className`?Xi(e,n):s&&!c&&!l?e[ra(t)]=n:e[u||t]=n;else{let r=i&&t.indexOf(`:`)>-1&&Ui[t.split(`:`)[0]];r?Ji(e,r,t,n):B(e,Ri[t]||t,n)}return n}function oa(e){let t=e.target,n=`$$${e.type}`,r=e.target,i=e.currentTarget,a=t=>Object.defineProperty(e,`target`,{configurable:!0,value:t}),o=()=>{let r=t[n];if(r&&!t.disabled){let i=t[`${n}Data`];if(i===void 0?r.call(t,e):r.call(t,i,e),e.cancelBubble)return}return t.host&&typeof t.host!=`string`&&!t.host._$host&&t.contains(e.target)&&a(t.host),!0},s=()=>{for(;o()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,`currentTarget`,{configurable:!0,get(){return t||document}}),e.composedPath){let n=e.composedPath();a(n[0]);for(let e=0;e<n.length-2&&(t=n[e],o());e++){if(t._$host){t=t._$host,s();break}if(t.parentNode===i)break}}else s();a(r)}function sa(e,t,n,r,i){for(;typeof n==`function`;)n=n();if(t===n)return n;let a=typeof t,o=r!==void 0;if(e=o&&n[0]&&n[0].parentNode||e,a===`string`||a===`number`){if(a===`number`&&(t=t.toString(),t===n))return n;if(o){let i=n[0];i&&i.nodeType===3?i.data!==t&&(i.data=t):i=document.createTextNode(t),n=ua(e,n,r,i)}else n=n!==``&&typeof n==`string`?e.firstChild.data=t:e.textContent=t}else if(t==null||a===`boolean`)n=ua(e,n,r);else if(a===`function`)return j(()=>{let i=t();for(;typeof i==`function`;)i=i();n=sa(e,i,n,r)}),()=>n;else if(Array.isArray(t)){let a=[],s=n&&Array.isArray(n);if(ca(a,t,n,i))return j(()=>n=sa(e,a,n,r,!0)),()=>n;if(a.length===0){if(n=ua(e,n,r),o)return n}else s?n.length===0?la(e,a,r):Wi(e,n,a):(n&&ua(e),la(e,a));n=a}else if(t.nodeType){if(Array.isArray(n)){if(o)return n=ua(e,n,r,t);ua(e,n,null,t)}else n==null||n===``||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t}return n}function ca(e,t,n,r){let i=!1;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=n&&n[e.length],c;if(!(o==null||o===!0||o===!1))if((c=typeof o)==`object`&&o.nodeType)e.push(o);else if(Array.isArray(o))i=ca(e,o,s)||i;else if(c===`function`)if(r){for(;typeof o==`function`;)o=o();i=ca(e,Array.isArray(o)?o:[o],Array.isArray(s)?s:[s])||i}else e.push(o),i=!0;else{let t=String(o);s&&s.nodeType===3&&s.data===t?e.push(s):e.push(document.createTextNode(t))}}return i}function la(e,t,n=null){for(let r=0,i=t.length;r<i;r++)e.insertBefore(t[r],n)}function ua(e,t,n,r){if(n===void 0)return e.textContent=``;let i=r||document.createTextNode(``);if(t.length){let r=!1;for(let a=t.length-1;a>=0;a--){let o=t[a];if(i!==o){let t=o.parentNode===e;!r&&!a?t?e.replaceChild(i,o):e.insertBefore(i,n):t&&o.remove()}else r=!0}}else e.insertBefore(i,n);return[i]}var da=`http://www.w3.org/2000/svg`;function fa(e,t=!1){return t?document.createElementNS(da,e):document.createElement(e)}function pa(e){let{useShadow:t}=e,n=document.createTextNode(``),r=()=>e.mount||document.body,i=Qr(),a;return M(()=>{a||=$r(i,()=>N(()=>e.children));let o=r();if(o instanceof HTMLHeadElement){let[e,t]=A(!1);Ur(t=>V(o,()=>e()?t():a(),null)),Xr(()=>t(!0))}else{let r=fa(e.isSVG?`g`:`div`,e.isSVG),i=t&&r.attachShadow?r.attachShadow({mode:`open`}):r;Object.defineProperty(r,`_$host`,{get(){return n.parentNode},configurable:!0}),V(i,a),o.appendChild(r),e.ref&&e.ref(r),Xr(()=>o.removeChild(r))}},void 0,{render:!0}),n}function ma(e,t){let n=N(e);return N(()=>{let e=n();switch(typeof e){case`function`:return P(()=>e(t));case`string`:let n=Hi.has(e),r=fa(e,n);return ea(r,t,n),r}})}function ha(e){let[,t]=Mi(e,[`component`]);return ma(()=>e.component,t)}var H=(e=>(e.DARK=`DARK`,e.LIGHT=`LIGHT`,e))(H||{}),ga={data:``},_a=e=>typeof window==`object`?((e?e.querySelector(`#_goober`):window._goober)||Object.assign((e||document.head).appendChild(document.createElement(`style`)),{innerHTML:` `,id:`_goober`})).firstChild:e||ga,va=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(}\s*)/g,ya=/\/\*[^]*?\*\/| +/g,ba=/\n+/g,xa=(e,t)=>{let n=``,r=``,i=``;for(let a in e){let o=e[a];a[0]==`@`?a[1]==`i`?n=a+` `+o+`;`:r+=a[1]==`f`?xa(o,a):a+`{`+xa(o,a[1]==`k`?``:t)+`}`:typeof o==`object`?r+=xa(o,t?t.replace(/([^,])+/g,e=>a.replace(/(^:.*)|([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+` `+t:t)):a):o!=null&&(a=/^--/.test(a)?a:a.replace(/[A-Z]/g,`-$&`).toLowerCase(),i+=xa.p?xa.p(a,o):a+`:`+o+`;`)}return n+(t&&i?t+`{`+i+`}`:i)+r},Sa={},Ca=e=>{if(typeof e==`object`){let t=``;for(let n in e)t+=n+Ca(e[n]);return t}return e},wa=(e,t,n,r,i)=>{let a=Ca(e),o=Sa[a]||(Sa[a]=(e=>{let t=0,n=11;for(;t<e.length;)n=101*n+e.charCodeAt(t++)>>>0;return`go`+n})(a));if(!Sa[o]){let t=a===e?(e=>{let t,n,r=[{}];for(;t=va.exec(e.replace(ya,``));)t[4]?r.shift():t[3]?(n=t[3].replace(ba,` `).trim(),r.unshift(r[0][n]=r[0][n]||{})):r[0][t[1]]=t[2].replace(ba,` `).trim();return r[0]})(e):e;Sa[o]=xa(i?{[`@keyframes `+o]:t}:t,n?``:`.`+o)}let s=n&&Sa.g?Sa.g:null;return n&&(Sa.g=Sa[o]),((e,t,n,r)=>{r?t.data=t.data.replace(r,e):t.data.indexOf(e)===-1&&(t.data=n?e+t.data:t.data+e)})(Sa[o],t,r,s),o},Ta=(e,t,n)=>e.reduce((e,r,i)=>{let a=t[i];if(a&&a.call){let e=a(n),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;a=t?`.`+t:e&&typeof e==`object`?e.props?``:xa(e,``):!1===e?``:e}return e+r+(a??``)},``);function Ea(e){let t=this||{},n=e.call?e(t.p):e;return wa(n.unshift?n.raw?Ta(n,[].slice.call(arguments,1),t.p):n.reduce((e,n)=>Object.assign(e,n&&n.call?n(t.p):n),{}):n,_a(t.target),t.g,t.o,t.k)}Ea.bind({g:1});var Da=Ea.bind({k:1}),Oa=ii();function ka(e){return F(Oa.Provider,{value:e.theme,get children(){return e.children}})}function U(){return ai(Oa)}function Aa(e){let t=this||{};return(...n)=>{let r=r=>{let i=ji(r,{theme:ai(Oa)}),[a,o]=Mi(ji(i,{get class(){let e=i.class,r=`class`in i&&/^go[0-9]+/.test(e);return[e,Ea.apply({target:t.target,o:r,p:i,g:t.g},n)].filter(Boolean).join(` `)}}),[`as`,`theme`]),s=o,c=a.as||e,l;return typeof c==`function`?l=c(s):t.g==1?(l=document.createElement(c),ea(l,s)):l=ha(ji({component:c},s)),l};return r.class=e=>P(()=>Ea.apply({target:t.target,p:e,g:t.g},n)),r}}var W=new Proxy(Aa,{get(e,t){return e(t)}});function ja(){let e=Aa.call({g:1},`div`).apply(null,arguments);return function(t){return e(t),null}}var Ma=`tc-root`,Na=`tc-disable-scroll`,Pa=`tc-using-mouse`,Fa=()=>(document.body.addEventListener(`mousedown`,()=>document.body.classList.add(Pa)),document.body.addEventListener(`keydown`,e=>{e.key===`Tab`&&document.body.classList.remove(Pa)}),F(ja`
3
3
  ${Ma} * {
4
4
  margin: 0;