1import{s as e}from"./rolldown-runtime-BcKkbAw3.js";import{t}from"./react-SXmrJnjt.js";import{t as n}from"./jsx-runtime-BbDfbRii.js";import{M as r,at as i,nt as a,q as ee}from"./useActiveWallet-Gf9hEQjl-DV_Rf0nZ.js";import{r as o}from"./dist-KkMRwAp9.js";import{ut as s}from"./paths-BH8W4zMc-Cs33NLZz.js";import{w as c}from"./toViemAccount-CTRJMpM1-CrduOeun.js";import{l as te}from"./usePrivy-y1h_GzZq-DhYDoqU0.js";import{r as l}from"./eventemitter3-CTnouYki.js";import{n as u,r as ne}from"./esm-DJNUAQDg.js";import"./tinycolor-CgAZxQAq.js";import{t as re}from"./useWallets-Cjo3fW1e-Bi_5Bj5r.js";var ie=function(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)},ae=function(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n},oe,se=void 0,d=new Set;function ce(e){fe=void 0,d.add(e)}function le(e){fe=void 0,d.delete(e)}var f={};function ue(){if(se||(se=Object.freeze({register:de,get:pe,on:me}),typeof window>`u`))return se;let e=Object.freeze({register:de});try{window.addEventListener(`wallet-standard:register-wallet`,({detail:t})=>t(e))}catch{}try{window.dispatchEvent(new ge(e))}catch{}return se}function de(...e){return e=e.filter(e=>!d.has(e)),e.length?(e.forEach(e=>ce(e)),f.register?.forEach(t=>he(()=>t(...e))),function(){e.forEach(e=>le(e)),f.unregister?.forEach(t=>he(()=>t(...e)))}):()=>{}}var fe;function pe(){return fe||=[...d],fe}function me(e,t){return f[e]?.push(t)||(f[e]=[t]),function(){f[e]=f[e]?.filter(e=>t!==e)}}function he(e){try{e()}catch{}}var ge=class extends Event{get detail(){return ie(this,oe,`f`)}get type(){return`wallet-standard:app-ready`}constructor(e){super(`wallet-standard:app-ready`,{bubbles:!1,cancelable:!1,composed:!1}),oe.set(this,void 0),ae(this,oe,e,`f`)}preventDefault(){throw Error(`preventDefault cannot be called`)}stopImmediatePropagation(){throw Error(`stopImmediatePropagation cannot be called`)}stopPropagation(){throw Error(`stopPropagation cannot be called`)}};oe=new WeakMap,o(),t();var _e=e(r(),1);n(),l();var ve=e=>{let t,{get:n,on:r}=ue(),i=e?.shouldAutoConnect??!0,a=new ee(new De,i),o=new Map,s=[];function c(...e){e.forEach((e=>{!(e.features[`privy:`]&&`isPrivyWallet`in e&&e.isPrivyWallet||o.has(e.name))&&e.chains.some((e=>typeof e==`string`&&e.startsWith(`solana:`)))&&o.set(e.name,e)})),s=Array.from(o.values()).map((e=>new ee(e,i))).concat(a),t?.(s)}function te(...e){Array.from(o.values()).forEach((t=>!e.includes(t)&&o.delete(t.name))),s=Array.from(o.values()).map((e=>new ee(e,i))).concat(a),t?.(s)}let l=[r(`register`,c),r(`unregister`,te)];return c(...n()),{_setOnConnectorsUpdated:e=>{t=e},onMount:()=>{l[0]||=r(`register`,c),l[1]||=r(`unregister`,te)},onUnmount:()=>{let e=l.pop();for(;e;)e(),e=l.pop()},get:()=>s}};function p(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError(`attempted to use private field on non-instance`);return e}var ye=0;function m(e){return`__private_`+ye+++`_`+e}var h=m(`_address`),g=m(`_publicKey`),_=m(`_chains`),v=m(`_features`),y=m(`_label`),b=m(`_icon`),be=class{get address(){return p(this,h)[h]}get publicKey(){return p(this,g)[g].slice()}get chains(){return p(this,_)[_].slice()}get features(){return p(this,v)[v].slice()}get label(){return p(this,y)[y]}get icon(){return p(this,b)[b]}constructor({address:e,publicKey:t,label:n,icon:r}){Object.defineProperty(this,h,{writable:!0,value:void 0}),Object.defineProperty(this,g,{writable:!0,value:void 0}),Object.defineProperty(this,_,{writable:!0,value:void 0}),Object.defineProperty(this,v,{writable:!0,value:void 0}),Object.defineProperty(this,y,{writable:!0,value:void 0}),Object.defineProperty(this,b,{writable:!0,value:void 0}),p(this,h)[h]=e,p(this,g)[g]=t,p(this,_)[_]=re,p(this,v)[v]=[`solana:signAndSendTransaction`,`solana:signTransaction`,`solana:signMessage`],p(this,y)[y]=n,p(this,b)[b]=r}};function xe(e){if(typeof e==`string`)return u.decode(e);if(e instanceof Uint8Array)return e;let t=e.signature;return typeof t==`string`?u.decode(t):t}function Se(e){if(typeof e==`string`){try{return u.decode(e)}catch{}return ne.decode(e)}if(e instanceof Uint8Array)return e;let t=e.transaction??e.signature;if(!t)throw Error(`Invalid result from signTransaction or signAndSendTransaction attempt`);if(typeof t==`string`){try{return u.decode(t)}catch{}return ne.decode(t)}return t}function x(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError(`attempted to use private field on non-instance`);return e}var Ce=0;function S(e){return`__private_`+Ce+++`_`+e}var we=`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,Te=`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,C=S(`_listeners`),w=S(`_version`),T=S(`_name`),E=S(`_icon`),D=S(`_provider`),O=S(`_accounts`),k=S(`_privyAppName`),A=S(`_walletConnectCloudProjectId`),j=S(`_walletEntry`),M=S(`_onDisplayUriCallback`),N=S(`_providerEventListeners`),P=S(`_on`),F=S(`_emit`),Ee=S(`_off`),I=S(`_connected`),L=S(`_disconnected`),R=S(`_connect`),z=S(`_disconnect`),B=S(`_signMessage`),V=S(`_signAndSendTransaction`),H=S(`_signTransaction`),U=S(`_getOrCreateProvider`),W=S(`_getOrCreateSession`),G=S(`_getAllSignClientSessions`),K=S(`_assignSessionToProvider`),q=S(`_restoreSession`),J=S(`_addProviderEventListener`),Y=S(`_destroySession`),X=S(`_makeRpcRequest`),Z=S(`_onDisplayUri`),Q=S(`_onSessionDelete`),De=class{get version(){return x(this,w)[w]}get name(){return x(this,T)[T]}get icon(){return x(this,E)[E]}get chains(){return re.slice()}get features(){return{"standard:connect":{version:`1.0.0`,connect:x(this,R)[R]},"standard:disconnect":{version:`1.0.0`,disconnect:x(this,z)[z]},"standard:events":{version:`1.0.0`,on:x(this,P)[P]},"solana:signAndSendTransaction":{version:`1.0.0`,supportedTransactionVersions:[`legacy`,0],signAndSendTransaction:x(this,V)[V]},"solana:signTransaction":{version:`1.0.0`,supportedTransactionVersions:[`legacy`,0],signTransaction:x(this,H)[H]},"solana:signMessage":{version:`1.0.0`,signMessage:x(this,B)[B]}}}get accounts(){return x(this,O)[O].slice()}get isWalletConnectSolana(){return!0}async initialize({walletConnectCloudProjectId:e,privyAppName:t}){await this.initializeProvider({walletConnectCloudProjectId:e,privyAppName:t}),await this.restoreSession()}async initializeProvider({walletConnectCloudProjectId:e,privyAppName:t}){a.debug(`Initializing WalletConnect Solana provider`),x(this,A)[A]=e,x(this,k)[k]=t,await x(this,U)[U]()}async restoreSession(){await x(this,q)[q]()}async hideSolanaSessionsFromSignClient(){let e=x(this,D)[D]?.client;if(!e?.session)return[];let t=x(this,G)[G]().filter((e=>!!e.namespaces?.solana));for(let n of t)await e.session.delete(n.topic,{code:0,message:``});return t}async unhideSolanaSessionsInSignClient(e){let t=x(this,D)[D]?.client;if(t?.session)for(let n of e)await t.session.set(n.topic,n)}setWalletEntry(e,t){x(this,j)[j]=e,x(this,M)[M]=t}constructor(){Object.defineProperty(this,F,{value:Oe}),Object.defineProperty(this,Ee,{value:ke}),Object.defineProperty(this,C,{writable:!0,value:void 0}),Object.defineProperty(this,w,{writable:!0,value:void 0}),Object.defineProperty(this,T,{writable:!0,value:void 0}),Object.defineProperty(this,E,{writable:!0,value:void 0}),Object.defineProperty(this,D,{writable:!0,value:void 0}),Object.defineProperty(this,O,{writable:!0,value:void 0}),Object.defineProperty(this,k,{writable:!0,value:void 0}),Object.defineProperty(this,A,{writable:!0,value:void 0}),Object.defineProperty(this,j,{writable:!0,value:void 0}),Object.defineProperty(this,M,{writable:!0,value:void 0}),Object.defineProperty(this,N,{writable:!0,value:void 0}),Object.defineProperty(this,P,{writable:!0,value:void 0}),Object.defineProperty(this,I,{writable:!0,value:void 0}),Object.defineProperty(this,L,{writable:!0,value:void 0}),Object.defineProperty(this,R,{writable:!0,value:void 0}),Object.defineProperty(this,z,{writable:!0,value:void 0}),Object.defineProperty(this,B,{writable:!0,value:void 0}),Object.defineProperty(this,V,{writable:!0,value:void 0}),Object.defineProperty(this,H,{writable:!0,value:void 0}),Object.defineProperty(this,U,{writable:!0,value:void 0}),Object.defineProperty(this,W,{writable:!0,value:void 0}),Object.defineProperty(this,G,{writable:!0,value:void 0}),Object.defineProperty(this,K,{writable:!0,value:void 0}),Object.defineProperty(this,q,{writable:!0,value:void 0}),Object.defineProperty(this,J,{writable:!0,value:void 0}),Object.defineProperty(this,Y,{writable:!0,value:void 0}),Object.defineProperty(this,X,{writable:!0,value:void 0}),Object.defineProperty(this,Z,{writable:!0,value:void 0}),Object.defineProperty(this,Q,{writable:!0,value:void 0}),x(this,C)[C]={},x(this,w)[w]=`1.0.0`,x(this,T)[T]=`WalletConnect`,x(this,E)[E]=i,x(this,D)[D]=null,x(this,O)[O]=[],x(this,k)[k]=``,x(this,A)[A]=``,x(this,N)[N]=new Map,x(this,P)[P]=(e,t)=>(x(this,C)[C][e]?.push(t)||(x(this,C)[C][e]=[t]),()=>x(this,Ee)[Ee](e,t)),x(this,I)[I]=e=>{x(this,T)[T]=x(this,D)[D]?.session?.peer?.metadata?.name||x(this,j)[j]?.name||`WalletConnect`,x(this,E)[E]=x(this,D)[D]?.session?.peer?.metadata?.icons?.[0]||x(this,j)[j]?.image_url?.sm||x(this,E)[E],x(this,O)[O]=e.map((e=>
1new be({address:e,publicKey:u.decode(e),label:x(this,T)[T],icon:x(this,E)[E]}))),x(this,F)[F](`change`,{accounts:this.accounts})},x(this,L)[L]=()=>{x(this,O)[O]=[],x(this,F)[F](`change`,{accounts:this.accounts})},x(this,R)[R]=async()=>(this.accounts.length||await x(this,W)[W](),{accounts:this.accounts}),x(this,z)[z]=async()=>{await x(this,Y)[Y](),x(this,F)[F](`change`,{accounts:this.accounts})},x(this,B)[B]=async(...e)=>{let t=[];for(let{account:n,message:r}of e){let e=u.encode(r);try{let i=await x(this,X)[X](`solana_signMessage`,{message:e,pubkey:n.address},$(`solana:mainnet`));t.push({signedMessage:r,signature:xe(i)})}catch(i){if(i?.message?.includes(`Missing or invalid`)){let i=await x(this,X)[X](`solana:signMessage`,{message:e,pubkey:n.address},$(`solana:mainnet`));t.push({signedMessage:r,signature:xe(i)})}throw i}}return t},x(this,V)[V]=async(...e)=>{let t=[];for(let{account:n,chain:r,transaction:i,options:a}of e){let e=ne.encode(i);try{let i=await x(this,X)[X](`solana_signAndSendTransaction`,{transaction:e,pubkey:n.address,sendOptions:a},$(r));t.push({signature:xe(i)})}catch(i){if(i?.message?.includes(`Missing or invalid`)){let i=await x(this,X)[X](`solana:signAndSendTransaction`,{transaction:e,pubkey:n.address,sendOptions:a},$(r));t.push({signature:xe(i)})}}}return t},x(this,H)[H]=async(...e)=>{let t=[];for(let{account:n,chain:r,transaction:i}of e){let e=ne.encode(i);try{let i=await x(this,X)[X](`solana_signTransaction`,{transaction:e,pubkey:n.address},$(r||`solana:mainnet`));t.push({signedTransaction:Se(i)})}catch(i){if(i?.message?.includes(`Missing or invalid`)){let i=await x(this,X)[X](`solana:signTransaction`,{transaction:e,pubkey:n.address},$(r||`solana:mainnet`));t.push({signedTransaction:Se(i)})}}}return t},x(this,U)[U]=async()=>{if(x(this,D)[D])return x(this,D)[D];if(!x(this,A)[A])throw Error(`WalletConnect Cloud Project ID is required`);return x(this,D)[D]=await c.init({projectId:x(this,A)[A],metadata:{name:x(this,k)[k],description:x(this,k)[k],url:window.location.origin,icons:[]},relayUrl:`wss://relay.walletconnect.com`,telemetryEnabled:!1}),x(this,J)[J](`display_uri`,x(this,Z)[Z]),x(this,J)[J](`session_delete`,x(this,Q)[Q]),x(this,J)[J](`session_ping`,(()=>{})),x(this,J)[J](`session_event`,(()=>{})),x(this,J)[J](`session_update`,(()=>{})),x(this,D)[D]},x(this,W)[W]=async()=>{if(!x(this,D)[D])throw Error(`WalletConnectSolana: Failed to get or create session. Provider not initialized`);if(x(this,D)[D].session)return a.debug(`Using existing Solana WalletConnect session`),x(this,D)[D].session;let e=[`solana_signMessage`,`solana_signTransaction`,`solana_signAndSendTransaction`];a.debug(`Creating new Solana WalletConnect session`,{requestedChains:[`mainnet`,`devnet`],requestedMethods:e.length});let t=await x(this,D)[D].connect({optionalNamespaces:{solana:{chains:[we,Te],methods:e,events:[]}}});if(!t)throw Error(`WalletConnectSolana: Failed to create new session`);let n=Ae(t);return a.debug(`Solana WalletConnect session created`,{accountsCount:n.length,peerName:t.peer?.metadata?.name}),x(this,I)[I](n),t},x(this,G)[G]=()=>x(this,D)[D]?.client?.session?.getAll?.()||[],x(this,K)[K]=(e,t)=>{e.session=t,e.namespaces=t.namespaces,e.createProviders?.()},x(this,q)[q]=async()=>{if(!x(this,D)[D])return;let e=x(this,D)[D].session;if(e?.namespaces?.solana){let t=Ae(e);a.debug(`Restored Solana WalletConnect session`,{accountsCount:t.length,peerName:e.peer?.metadata?.name}),x(this,I)[I](t);return}e&&(x(this,D)[D].session=void 0);let t=x(this,G)[G]().find((e=>!!e.namespaces?.solana));if(!t)return void a.debug(`No existing Solana WalletConnect session found`);x(this,K)[K](x(this,D)[D],t);let n=Ae(t);a.debug(`Restored Solana WalletConnect session`,{accountsCount:n.length,peerName:t.peer?.metadata?.name}),x(this,I)[I](n)},x(this,J)[J]=(e,t)=>{let n=x(this,N)[N].get(e);n&&(x(this,D)[D]?.off(e,n),x(this,N)[N].delete(e)),x(this,D)[D]?.on(e,t),x(this,N)[N].set(e,t)},x(this,Y)[Y]=async()=>{a.debug(`Destroying Solana WalletConnect session`);try{if(x(this,D)[D]?.session&&await x(this,D)[D]?.disconnect().catch((e=>a.error(`Error disconnecting Solana WalletConnect session`,e))),x(this,D)[D]?.client){let e=x(this,D)[D].client.proposal.getAll();await Promise.allSettled(e.map((e=>x(this,D)[D]?.client.proposal.delete(e.id,{code:6e3,message:`User disconnected`}))));let t=x(this,D)[D].client.pairing.getAll();await Promise.allSettled(t.map((e=>x(this,D)[D]?.client.pairing.delete(e.topic,{code:6e3,message:`User disconnected`}))))}a.debug(`Solana WalletConnect session destroyed`),x(this,L)[L]()}catch(e){a.error(`Error destroying Solana WalletConnect session`,e)}},x(this,X)[X]=async(e,t,n)=>{a.debug(`Solana WalletConnect RPC request`,{method:e,chainId:n});try{let r=await x(this,D)[D].request({method:e,params:t},n);return a.debug(`Solana WalletConnect RPC response`,{method:e,success:!0}),r}catch(t){if(a.error(`Solana WalletConnect RPC error`,t,{method:e,chainId:n}),t?.message?.includes(`without any listeners`)&&t.result)return a.debug(`Ignoring WalletConnect listener warning, result available`,{method:e}),t.result;throw t?.message?.includes(`session topic does not exist in keychain`)?Error(`WalletConnectSolana: Wallet connection lost. Please reconnect.`):t}},x(this,Z)[Z]=e=>{if(a.debug(`Solana WalletConnect display_uri received`,{isMobile:_e.isMobile,hasWalletEntry:!!x(this,j)[j]}),_e.isMobile&&x(this,j)[j]){let{redirect:t}=s(e,x(this,j)[j]),n=t.startsWith(`http`);a.debug(`Opening Solana mobile wallet deep link`,{wallet:x(this,j)[j].name,linkType:n?`universal`:`native`}),x(this,M)[M]==null||x(this,M)[M].call(this,{native:t,universal:t});return}a.debug(`Displaying Solana WalletConnect QR code`),x(this,M)[M]==null||x(this,M)[M].call(this,{native:e,universal:void 0})},x(this,Q)[Q]=()=>{a.debug(`Solana WalletConnect session deleted`),x(this,L)[L]()}}};function Oe(e,...t){x(this,C)[C][e]?.forEach((e=>e.apply(null,t)))}function ke(e,t){x(this,C)[C][e]=x(this,C)[C][e]?.filter((e=>t!==e))}function Ae(e){return e.namespaces.solana.accounts.reduce(((e,t)=>{let n=t.split(`:`).at(-1);return e.includes(n)||e.push(n),e}),[])}function $(e){switch(e){case`solana:mainnet`:return we;case`solana:devnet`:return Te;default:return e}}function je(){let{create:e}=te();return{createWallet:async t=>{t&&`target`in t&&t&&(t=void 0);let{account:n}=await e({chainType:`solana`,options:t});return{wallet:n}}}}function Me(){return{signTransaction:async function(...e){let t=[];for(let n of e)t.push(await n.wallet.signTransaction({...n,chain:n.chain||`solana:mainnet`}));return e.length===1?t[0]:[...t]}}}function Ne(){return{signAndSendTransaction:async function(...e){let t=[];for(let n of e)t.push(await n.wallet.signAndSendTransaction({...n,chain:n.chain||`solana:mainnet`}));return e.length===1?t[0]:[...t]}}}export{Me as i,Ne as n,je as r,ve as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.