PageSourceSearch

https://emblemvault.dev/_next/static/chunks/9407.7f41149a5bbefae2.js

js emblemvault.dev collected 2026-10-08 03:55:05 UTC 130,442 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9407],{9363:(e,t,s)=>{"use strict";s.d(t,{A:()=>y,V:()=>y});var i=s(59991),r=s(78237),n=s.n(r),a=s(10522),o=s(43752),c=Object.defineProperty,h=Object.defineProperties,l=Object.getOwnPropertyDescriptors,p=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable,g=(e,t,s)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,m=(e,t)=>{for(var s in t||(t={}))d.call(t,s)&&g(e,s,t[s]);if(p)for(var s of p(t))u.call(t,s)&&g(e,s,t[s]);return e};let f={headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"};class y{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new i.EventEmitter,this.isAvailable=!1,this.registering=!1,!(0,o.isHttpUrl)(e))throw Error(`Provided URL is not compatible with HTTP connection: ${e}`);this.url=e,this.disableProviderPing=t}get connected(){return this.isAvailable}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){if(!this.isAvailable)throw Error("Connection already closed");this.onClose()}async send(e){this.isAvailable||await this.register();try{let t,s,i=(0,a.h)(e),r=await (await n()(this.url,(t=m({},f),s={body:i},h(t,l(s))))).json();this.onPayload({data:r})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!(0,o.isHttpUrl)(e))throw Error(`Provided URL is not compatible with HTTP connection: ${e}`);if(this.registering){let e=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=e||this.events.listenerCount("open")>=e)&&this.events.setMaxListeners(e+1),new Promise((e,t)=>{this.events.once("register_error",e=>{this.resetMaxListeners(),t(e)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return t(Error("HTTP connection is missing or invalid"));e()})})}this.url=e,this.registering=!0;try{if(!this.disableProviderPing){let t,s,i=(0,a.h)({id:1,jsonrpc:"2.0",method:"test",params:[]});await n()(e,(t=m({},f),s={body:i},h(t,l(s))))}this.onOpen()}catch(t){let e=this.parseError(t);throw this.events.emit("register_error",e),this.onClose(),e}}onOpen(){this.isAvailable=!0,this.registering=!1,this.events.emit("open")}onClose(){this.isAvailable=!1,this.registering=!1,this.events.emit("close")}onPayload(e){if(typeof e.data>"u")return;let t="string"==typeof e.data?(0,a.j)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let s=this.parseError(t),i=s.message||s.toString(),r=(0,o.formatJsonRpcError)(e,i);this.events.emit("payload",r)}parseError(e,t=this.url){return(0,o.parseConnectionError)(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}}},29407:(e,t,s)=>{"use strict";s.d(t,{EthereumProvider:()=>tk});var i=s(59991),r=s.n(i),n=s(82905),a=s(28460),o=s(13884),c=s(37831),h=s(38531),l=s(43752);let p="client",d=`wc@2:${p}:`,u="WALLETCONNECT_DEEPLINK_CHOICE",g="Proposal expired",m=h.SEVEN_DAYS,f={wc_sessionPropose:{req:{ttl:h.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:h.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:h.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:h.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:h.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:h.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:h.ONE_DAY,prompt:!1,tag:1104},res:{ttl:h.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:h.ONE_DAY,prompt:!1,tag:1106},res:{ttl:h.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:h.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:h.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:h.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:h.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:h.ONE_DAY,prompt:!1,tag:1112},res:{ttl:h.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:h.ONE_DAY,prompt:!1,tag:1114},res:{ttl:h.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:h.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:h.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:h.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:h.FIVE_MINUTES,prompt:!1,tag:1119}}},y={min:h.FIVE_MINUTES,max:h.SEVEN_DAYS},v="IDLE",w="ACTIVE",b={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}}
1,P=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],I="[email protected]:auth:",E=`${I}:PUB_KEY`;var _=Object.defineProperty,S=Object.defineProperties,R=Object.getOwnPropertyDescriptors,q=Object.getOwnPropertySymbols,O=Object.prototype.hasOwnProperty,C=Object.prototype.propertyIsEnumerable,A=(e,t,s)=>t in e?_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,T=(e,t)=>{for(var s in t||(t={}))O.call(t,s)&&A(e,s,t[s]);if(q)for(var s of q(t))C.call(t,s)&&A(e,s,t[s]);return e},N=(e,t,s)=>A(e,"symbol"!=typeof t?t+"":t,s);class j extends c.yJ{constructor(e){super(e),N(this,"name","engine"),N(this,"events",new(r())),N(this,"initialized",!1),N(this,"requestQueue",{state:v,queue:[]}),N(this,"sessionRequestQueue",{state:v,queue:[]}),N(this,"requestQueueDelay",h.ONE_SECOND),N(this,"expectedPairingMethodMap",new Map),N(this,"recentlyDeletedMap",new Map),N(this,"recentlyDeletedLimit",200),N(this,"relayMessageCache",[]),N(this,"pendingSessions",new Map),N(this,"init",async()=>{this.initialized||(await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.registerPairingEvents(),await this.registerLinkModeListeners(),this.client.core.pairing.register({methods:Object.keys(f)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,h.toMiliseconds)(this.requestQueueDelay)))}),N(this,"connect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=S(T({},e),R({requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}}));await this.isValidConnect(t),t.optionalNamespaces=(0,n.XEe)(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};let{pairingTopic:s,requiredNamespaces:i,optionalNamespaces:r,sessionProperties:o,scopedProperties:c,relays:p}=t,d=s,u,m=!1;try{if(d){let e=this.client.core.pairing.pairings.get(d);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),m=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${d}) failed`),e}if(!d||!m){let{topic:e,uri:t}=await this.client.core.pairing.create();d=e,u=t}if(!d){let{message:e}=(0,n.GuA)("NO_MATCHING_KEY",`connect() pairing topic: ${d}`);throw Error(e)}let y=await this.client.core.crypto.generateKeyPair(),v=f.wc_sessionPropose.req.ttl||h.FIVE_MINUTES,w=(0,n.Xw0)(v),b=S(T(T({requiredNamespaces:i,optionalNamespaces:r,relays:p??[{protocol:a.sD}],proposer:{publicKey:y,metadata:this.client.metadata},expiryTimestamp:w,pairingTopic:d},o&&{sessionProperties:o}),c&&{scopedProperties:c}),R({id:(0,l.payloadId)()})),P=(0,n.hEn)("session_connect",b.id),{reject:I,resolve:E,done:_}=(0,n.Wx8)(v,g),q=({id:e})=>{e===b.id&&(this.client.events.off("proposal_expire",q),this.pendingSessions.delete(b.i
1d),this.events.emit(P,{error:{message:g,code:0}}))};return this.client.events.on("proposal_expire",q),this.events.once(P,({error:e,session:t})=>{this.client.events.off("proposal_expire",q),e?I(e):t&&E(t)}),await this.sendRequest({topic:d,method:"wc_sessionPropose",params:b,throwOnFailedPublish:!0,clientRpcId:b.id}),await this.setProposal(b.id,b),{uri:u,approval:_}}),N(this,"pair",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(e){throw this.client.logger.error("pair() failed"),e}}),N(this,"approve",async e=>{var t,s,i;let r=this.client.core.eventClient.createEvent({properties:{topic:null==(t=e?.id)?void 0:t.toString(),trace:[a.$I.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw r.setError(a.U.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(t){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),r.setError(a.U.proposal_not_found),t}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error("approve() -> isValidApprove() failed"),r.setError(a.U.session_approve_namespace_validation_failure),e}let{id:o,relayProtocol:c,namespaces:h,sessionProperties:l,scopedProperties:p,sessionConfig:d}=e,u=this.client.proposal.get(o);this.client.core.eventClient.deleteEvent({eventId:r.eventId});let{pairingTopic:g,proposer:f,requiredNamespaces:y,optionalNamespaces:v}=u,w=null==(s=this.client.core.eventClient)?void 0:s.getEvent({topic:g});w||(w=null==(i=this.client.core.eventClient)?void 0:i.createEvent({type:a.$I.session_approve_started,properties:{topic:g,trace:[a.$I.session_approve_started,a.$I.session_namespaces_validation_success]}}));let b=await this.client.core.crypto.generateKeyPair(),P=f.publicKey,I=await this.client.core.crypto.generateSharedKey(b,P),E=T(T(T({relay:{protocol:c??"irn"},namespaces:h,controller:{publicKey:b,metadata:this.client.metadata},expiry:(0,n.Xw0)(m)},l&&{sessionProperties:l}),p&&{scopedProperties:p}),d&&{sessionConfig:d}),_=a.cV.relay;w.addTrace(a.$I.subscribing_session_topic);try{await this.client.core.relayer.subscribe(I,{transportType:_})}catch(e){throw w.setError(a.U.subscribe_session_topic_failure),e}w.addTrace(a.$I.subscribe_session_topic_success);let q=S(T({},E),R({topic:I,requiredNamespaces:y,optionalNamespaces:v,pairingTopic:g,acknowledged:!1,self:E.controller,peer:{publicKey:f.publicKey,metadata:f.metadata},controller:b,transportType:a.cV.relay}));await this.client.session.set(I,q),w.addTrace(a.$I.store_session);try{w.addTrace(a.$I.publishing_session_settle),await this.sendRequest({topic:I,method:"wc_sessionSettle",params:E,throwOnFailedPublish:!0}).catch(e=>{throw w?.setError(a.U.session_settle_publish_failure),e}),w.addTrace(a.$I.session_settle_publish_success),w.addTrace(a.$I.publishing_session_approve),await this.sendResult({id:o,topic:g,result:{relay:{protocol:c??"irn"},responderPublicKey:b},throwOnFailedPublish:!0}).catch(e=>{throw w?.setError(a.U.session_approve_publish_failure),e}),w.addTrace(a.$I.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(I,(0,n.Hjj)("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(I),e}return this.client.core.eventClient.deleteEvent({eventId:w.eventId}),await this.client.core.pairing.updateMetadata({topic:g,metadata:f.metadata}),await this.client.proposal.delete(o,(0,n.Hjj)("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:g}),await this.setExpiry(I,(0,n.Xw0)(m)),{topic:I,acknowledged:()=>Promise.resolve(this.client.session.get(I))}}),N(this,"reject",async e=>{let t;this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(e){throw this.client.logger.error("reject() -> isValidReject() failed"),e}let{id:s,reason:i}=e;try{t=this.client.proposal.get(s).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${s}) failed`),e}t&&(await this.sendError({id:s,topic:t,error:i,rpcOpts:f.wc_sessionPropose.reject}),await this.client.proposal.delete(s,(0,n.Hjj)("USER_DISCONNECTED")))}),N(this,"update",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(e){throw this.client.logger.error("update() -> isValidUpdate() failed"),e}let{topic:t,namespaces:s}=e,{done:i,resolve:r,reject:a}=(0,n.Wx8)(),o=(0,l.payloadId)(),c=(0,l.getBigIntRpcId)().toString(),h=this.client.session.get(t).namespaces;return this.events.once((0,n.hEn)("session_update",o),({error:e})=>{e?a(e):r()}),await this.client.session.update(t,{namespaces:s}),await this.sendRequest({topic:t,method:"wc_sessionUpdate",params:{namespaces:s},throwOnFailedPublish:!0,clientRpcId:o,relayRpcId:c}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:h}),a(e)}),{acknowledged:i}}),N(this,"extend",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(e){throw this.client.logger.error("extend() -> isValidExtend() failed"),e}let{topic:t}=e,s=(0,l.payloadId)(),{done:i,resolve:r,reject:a}=(0,n.Wx8)();return this.events.once((0,n.hEn)("session_extend",s),({error:e})=>{e?a(e):r()}),await this.setExpiry(t,(0,n.Xw0)(m)),this.sendRequest({topic:t,method:"wc_sessionExtend",params:{},clientRpcId:s,throwOnFailedPublish:!0}).catch(e=>{a(e)}),{acknowledged:i}}),N(this,"request",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(e){throw this.client.logger.error("request() -> isValidRequest() failed"),e}let{chainId:t,request:s,topic:i,expiry:r=f.wc_sessionRequest.req.ttl}=e,o=this.client.session.get(i);o?.transportType===a.cV.relay&&await this.confirmOnlineStateOrThrow();let c=(0,l.payloadId)(),h=(0,l.getBigIntRpcId)().toString(),{done:p,resolve:d,reject:g}=(0,n.Wx8)(r,"Request expired. Please try again.");this.events.once((0,n.hEn)("session_request",c),({error:e,result:t})=>{e?g(e):d(t)});let m="wc_sessionRequest",y=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);if(y)return await this.sendRequest({clientRpcId:c,relayRpcId:h,topic:i,method:m,params:{request:S(T({},s),R({expiryTimestamp:(0,n.Xw0)(r)})),chainId:t},expiry:r,throwOnFailedPublish:!0,appLink:y}
1).catch(e=>g(e)),this.client.events.emit("session_request_sent",{topic:i,request:s,chainId:t,id:c}),await p();let v={request:S(T({},s),R({expiryTimestamp:(0,n.Xw0)(r)})),chainId:t},w=this.shouldSetTVF(m,v);return await Promise.all([new Promise(async e=>{await this.sendRequest(T({clientRpcId:c,relayRpcId:h,topic:i,method:m,params:v,expiry:r,throwOnFailedPublish:!0},w&&{tvf:this.getTVFParams(c,v)})).catch(e=>g(e)),this.client.events.emit("session_request_sent",{topic:i,request:s,chainId:t,id:c}),e()}),new Promise(async e=>{var t;if(!(null!=(t=o.sessionConfig)&&t.disableDeepLink)){let e=await (0,n.jTh)(this.client.core.storage,u);await (0,n.n3s)({id:c,topic:i,wcDeepLink:e})}e()}),p()]).then(e=>e[2])}),N(this,"respond",async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:s}=e,{id:i}=s,r=this.client.session.get(t);r.transportType===a.cV.relay&&await this.confirmOnlineStateOrThrow();let n=this.getAppLinkIfEnabled(r.peer.metadata,r.transportType);(0,l.isJsonRpcResult)(s)?await this.sendResult({id:i,topic:t,result:s.result,throwOnFailedPublish:!0,appLink:n}):(0,l.isJsonRpcError)(s)&&await this.sendError({id:i,topic:t,error:s.error,appLink:n}),this.cleanupAfterResponse(e)}),N(this,"ping",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(e){throw this.client.logger.error("ping() -> isValidPing() failed"),e}let{topic:t}=e;if(this.client.session.keys.includes(t)){let e=(0,l.payloadId)(),s=(0,l.getBigIntRpcId)().toString(),{done:i,resolve:r,reject:a}=(0,n.Wx8)();this.events.once((0,n.hEn)("session_ping",e),({error:e})=>{e?a(e):r()}),await Promise.all([this.sendRequest({topic:t,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:s}),i()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:t}))}),N(this,"emit",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:s,chainId:i}=e,r=(0,l.getBigIntRpcId)().toString(),n=(0,l.payloadId)();await this.sendRequest({topic:t,method:"wc_sessionEvent",params:{event:s,chainId:i},throwOnFailedPublish:!0,relayRpcId:r,clientRpcId:n})}),N(this,"disconnect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);let{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:"wc_sessionDelete",params:(0,n.Hjj)("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{let{message:e}=(0,n.GuA)("MISMATCHED_TOPIC",`Session or pairing topic not found: ${t}`);throw Error(e)}}),N(this,"find",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>(0,n.HNf)(t,e)))),N(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),N(this,"authenticate",async(e,t)=>{var s;let i;this.isInitialized(),this.isValidAuthenticate(e);let r=t&&this.client.core.linkModeSupportedApps.includes(t)&&(null==(s=this.client.metadata.redirect)?void 0:s.linkMode),o=r?a.cV.link_mode:a.cV.relay;o===a.cV.relay&&await this.confirmOnlineStateOrThrow();let{chains:c,statement:h="",uri:p,domain:d,nonce:u,type:g,exp:y,nbf:v,methods:w=[],expiry:b}=e,P=[...e.resources||[]],{topic:I,uri:_}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:I,uri:_}});let q=await this.client.core.crypto.generateKeyPair(),O=(0,n.EN$)(q);if(await Promise.all([this.client.auth.authKeys.set(E,{responseTopic:O,publicKey:q}),this.client.auth.pairingTopics.set(O,{topic:O,pairingTopic:I})]),await this.client.core.relayer.subscribe(O,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${I}`),w.length>0){let{namespace:e}=(0,n._Yb)(c[0]),t=(0,n.e8_)(e,"request",w);(0,n.VBM)(P)&&(t=(0,n.hVC)(t,P.pop())),P.push(t)}let C=b&&b>f.wc_sessionAuthenticate.req.ttl?b:f.wc_sessionAuthenticate.req.ttl,A={authPayload:{type:g??"caip122",chains:c,statement:h,aud:p,domain:d,version:"1",nonce:u,iat:new Date().toISOString(),exp:y,nbf:v,resources:P},requester:{publicKey:q,metadata:this.client.metadata},expiryTimestamp:(0,n.Xw0)(C)},N={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:c,methods:[...new Set(["personal_sign",...w])],events:["chainChanged","accountsChanged"]}},relays:[{protocol:"irn"}],pairingTopic:I,proposer:{publicKey:q,metadata:this.client.metadata},expiryTimestamp:(0,n.Xw0)(f.wc_sessionPropose.req.ttl),id:(0,l.payloadId)()},{done:j,resolve:$,reject:D}=(0,n.Wx8)(C,"Request expired"),x=(0,l.payloadId)(),M=(0,n.hEn)("session_connect",N.id),k=(0,n.hEn)("session_request",x),V=async({error:e,session:t})=>{this.events.off(k,H),e?D(e):t&&$({session:t})},H=async e=>{var s,i,r;let c;if(await this.deletePendingAuthRequest(x,{message:"fulfilled",code:0}),e.error){let t=(0,n.Hjj)("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");
1return e.error.code===t.code?void 0:(this.events.off(M,V),D(e.error.message))}await this.deleteProposal(N.id),this.events.off(M,V);let{cacaos:h,responder:l}=e.result,p=[],d=[];for(let e of h){await (0,n.IjX)({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,"Signature verification failed"),D((0,n.Hjj)("SESSION_SETTLEMENT_FAILED","Signature verification failed")));let{p:t}=e,s=(0,n.VBM)(t.resources),i=[(0,n.xkc)(t.iss)],r=(0,n.q_h)(t.iss);if(s){let e=(0,n.sc_)(s),t=(0,n.WWN)(s);p.push(...e),i.push(...t)}for(let e of i)d.push(`${e}:${r}`)}let u=await this.client.core.crypto.generateSharedKey(q,l.publicKey);p.length>0&&(c={topic:u,acknowledged:!0,self:{publicKey:q,metadata:this.client.metadata},peer:l,controller:l.publicKey,expiry:(0,n.Xw0)(m),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:I,namespaces:(0,n.Van)([...new Set(p)],[...new Set(d)]),transportType:o},await this.client.core.relayer.subscribe(u,{transportType:o}),await this.client.session.set(u,c),I&&await this.client.core.pairing.updateMetadata({topic:I,metadata:l.metadata}),c=this.client.session.get(u)),null!=(s=this.client.metadata.redirect)&&s.linkMode&&null!=(i=l.metadata.redirect)&&i.linkMode&&null!=(r=l.metadata.redirect)&&r.universal&&t&&(this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.session.update(u,{transportType:a.cV.link_mode})),$({auths:h,session:c})};this.events.once(M,V),this.events.once(k,H);try{if(r){let e=(0,l.formatJsonRpcRequest)("wc_sessionAuthenticate",A,x);this.client.core.history.set(I,e);let s=await this.client.core.crypto.encode("",e,{type:n.EHS,encoding:n.Pa8});i=(0,n.$Bq)(t,I,s)}else await Promise.all([this.sendRequest({topic:I,method:"wc_sessionAuthenticate",params:A,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:x}),this.sendRequest({topic:I,method:"wc_sessionPropose",params:N,expiry:f.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:N.id})])}catch(e){throw this.events.off(M,V),this.events.off(k,H),e}return await this.setProposal(N.id,N),await this.setAuthRequest(x,{request:S(T({},A),R({verifyContext:{}})),pairingTopic:I,transportType:o}),{uri:i??_,response:j}}),N(this,"approveSessionAuthenticate",async e=>{let t,{id:s,auths:i}=e,r=this.client.core.eventClient.createEvent({properties:{topic:s.toString(),trace:[a.U$.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw r.setError(a.Tn.no_internet_connection),e}let o=this.getPendingAuthRequest(s);if(!o)throw r.setError(a.Tn.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${s}`);let c=o.transportType||a.cV.relay;c===a.cV.relay&&await this.confirmOnlineStateOrThrow();let h=o.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),p=(0,n.EN$)(h),d={type:n.Lp_,receiverPublicKey:h,senderPublicKey:l},u=[],g=[];for(let e of i){if(!await (0,n.IjX)({cacao:e,projectId:this.client.core.projectId})){r.setError(a.Tn.invalid_cacao);let e=(0,n.Hjj)("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:s,topic:p,error:e,encodeOpts:d}),Error(e.message)}r.addTrace(a.U$.cacaos_verified);let{p:t}=e,i=(0,n.VBM)(t.resources),o=[(0,n.xkc)(t.iss)],c=(0,n.q_h)(t.iss);if(i){let e=(0,n.sc_)(i),t=(0,n.WWN)(i);u.push(...e),o.push(...t)}for(let e of o)g.push(`${e}:${c}`)}let f=await this.client.core.crypto.generateSharedKey(l,h);if(r.addTrace(a.U$.create_authenticated_session_topic),u?.length>0){t={topic:f,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:h,metadata:o.requester.metadata},controller:h,expiry:(0,n.Xw0)(m),authentication:i,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:o.pairingTopic,namespaces:(0,n.Van)([...new Set(u)],[...new Set(g)]),transportType:c},r.addTrace(a.U$.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(f,{transportType:c})}catch(e){throw r.setError(a.Tn.subscribe_authenticated_session_topic_failure),e}r.addTrace(a.U$.subscribe_authenticated_session_topic_success),await this.client.session.set(f,t),r.addTrace(a.U$.
1store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:o.pairingTopic,metadata:o.requester.metadata})}r.addTrace(a.U$.publishing_authenticated_session_approve);try{await this.sendResult({topic:p,id:s,result:{cacaos:i,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:d,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(o.requester.metadata,c)})}catch(e){throw r.setError(a.Tn.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(s,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:o.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:r.eventId}),{session:t}}),N(this,"rejectSessionAuthenticate",async e=>{this.isInitialized();let{id:t,reason:s}=e,i=this.getPendingAuthRequest(t);if(!i)throw Error(`Could not find pending auth request with id ${t}`);i.transportType===a.cV.relay&&await this.confirmOnlineStateOrThrow();let r=i.requester.publicKey,o=await this.client.core.crypto.generateKeyPair(),c=(0,n.EN$)(r),h={type:n.Lp_,receiverPublicKey:r,senderPublicKey:o};await this.sendError({id:t,topic:c,error:s,encodeOpts:h,rpcOpts:f.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(t,{message:"rejected",code:0}),await this.client.proposal.delete(t,(0,n.Hjj)("USER_DISCONNECTED"))}),N(this,"formatAuthMessage",e=>{this.isInitialized();let{request:t,iss:s}=e;return(0,n.hwK)(t,s)}),N(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(0!==this.relayMessageCache.length)for(;this.relayMessageCache.length>0;)try{let e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),N(this,"cleanupDuplicatePairings",async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),s=this.client.core.pairing.pairings.getAll().filter(s=>{var i,r;return(null==(i=s.peerMetadata)?void 0:i.url)&&(null==(r=s.peerMetadata)?void 0:r.url)===e.peer.metadata.url&&s.topic&&s.topic!==t.topic});if(0===s.length)return;this.client.logger.info(`Cleaning up ${s.length} duplicate pairing(s)`),await Promise.all(s.map(e=>this.client.core.pairing.disconnect({topic:e.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(e){this.client.logger.error(e)}}),N(this,"deleteSession",async e=>{var t;let{topic:s,expirerHasDeleted:i=!1,emitEvent:r=!0,id:a=0}=e,{self:o}=this.client.session.get(s);await this.client.core.relayer.unsubscribe(s),await this.client.session.delete(s,(0,n.Hjj)("USER_DISCONNECTED")),this.addToRecentlyDeleted(s,"session"),this.client.core.crypto.keychain.has(o.publicKey)&&await this.client.core.crypto.deleteKeyPair(o.publicKey),this.client.core.crypto.keychain.has(s)&&await this.client.core.crypto.deleteSymKey(s),i||this.client.core.expirer.del(s),this.client.core.storage.removeItem(u).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===s&&this.deletePendingSessionRequest(e.id,(0,n.Hjj)("USER_DISCONNECTED"))}),s===(null==(t=this.sessionRequestQueue.queue[0])?void 0:t.topic)&&(this.sessionRequestQueue.state=v),r&&this.client.events.emit("session_delete",{id:a,topic:s})}),N(this,"deleteProposal",async(e,t)=>{if(t)try{let t=this.client.proposal.get(e),s=this.client.core.eventClient.getEvent({topic:t.pairingTopic});s?.setError(a.U.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,(0,n.Hjj)("USER_DISCONNECTED")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"proposal")}),N(this,"deletePendingSessionRequest",async(e,t,s=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),s&&(this.sessionRequestQueue.state=v,this.client.events.emit("session_request_expire",{id:e}))}),N(this,"deletePendingAuthRequest",async(e,t,s=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)])}),N(this,"setExpiry",async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))}),N(this,"setProposal",async(e,t)=>{this.client.core.expirer.set(e,(0,n.Xw0)(f.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),N(this,"setAuthRequest",async(e,t)=>{let{request:s,pairingTopic:i,transportType:r=a.cV.relay}=t;this.client.core.expirer.set(e,s.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:s.authPayload,requester:s.requester,expiryTimestamp:s.expiryTimestamp,id:e,pairingTopic:i,verifyContext:s.verifyContext,transportType:r})}),N(this,"setPendingSessionRequest",async e=>{let{id:t,topic:s,params:i,verifyContext:r}=e,a=i.request.expiryTimestamp||(0,n.Xw0)(f.wc_sessionRequest.req.ttl);
1this.client.core.expirer.set(t,a),await this.client.pendingRequest.set(t,{id:t,topic:s,params:i,verifyContext:r})}),N(this,"sendRequest",async e=>{let t,i,{topic:r,method:a,params:o,expiry:c,relayRpcId:h,clientRpcId:p,throwOnFailedPublish:d,appLink:u,tvf:g}=e,m=(0,l.formatJsonRpcRequest)(a,o,p),y=!!u;try{let e=y?n.Pa8:n.EWt;t=await this.client.core.crypto.encode(r,m,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${r} failed`),e}if(P.includes(a)){let e=(0,n.ALl)(JSON.stringify(m)),s=(0,n.ALl)(t);i=await this.client.core.verify.register({id:s,decryptedId:e})}let v=f[a].req;if(v.attestation=i,c&&(v.ttl=c),h&&(v.id=h),this.client.core.history.set(r,m),y){let e=(0,n.$Bq)(u,r,t);await s.g.Linking.openURL(e,this.client.name)}else{let e,s=f[a].req;c&&(s.ttl=c),h&&(s.id=h),s.tvf=S(T({},g),R({correlationId:m.id})),d?(e=T({},s.internal),s.internal=S(e,R({throwOnFailedPublish:!0})),await this.client.core.relayer.publish(r,t,s)):this.client.core.relayer.publish(r,t,s).catch(e=>this.client.logger.error(e))}return m.id}),N(this,"sendResult",async e=>{let t,i,r,{id:a,topic:o,result:c,throwOnFailedPublish:h,encodeOpts:p,appLink:d}=e,u=(0,l.formatJsonRpcResult)(a,c),g=d&&"u">typeof(null==s.g?void 0:s.g.Linking);try{let e,s,i=g?n.Pa8:n.EWt;t=await this.client.core.crypto.encode(o,u,(e=T({},p||{}),s={encoding:i},S(e,R(s))))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${o} failed`),e}try{let e=(i=await this.client.core.history.get(o,a)).request;try{this.shouldSetTVF(e.method,e.params)&&(r=this.getTVFParams(a,e.params,c))}catch(e){this.client.logger.warn("sendResult() -> getTVFParams() failed",e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${o}, ${a}) failed`),e}if(g){let e=(0,n.$Bq)(d,o,t);await s.g.Linking.openURL(e,this.client.name)}else{let e,s=f[i.request.method].res;s.tvf=S(T({},r),R({correlationId:a})),h?(e=T({},s.internal),s.internal=S(e,R({throwOnFailedPublish:!0})),await this.client.core.relayer.publish(o,t,s)):this.client.core.relayer.publish(o,t,s).catch(e=>this.client.logger.error(e))}await this.client.core.history.resolve(u)}),N(this,"sendError",async e=>{let t,i,{id:r,topic:a,error:o,encodeOpts:c,rpcOpts:h,appLink:p}=e,d=(0,l.formatJsonRpcError)(r,o),u=p&&"u">typeof(null==s.g?void 0:s.g.Linking);try{let e,s,i=u?n.Pa8:n.EWt;t=await this.client.core.crypto.encode(a,d,(e=T({},c||{}),s={encoding:i},S(e,R(s))))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${a} failed`),e}try{i=await this.client.core.history.get(a,r)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${a}, ${r}) failed`),e}if(u){let e=(0,n.$Bq)(p,a,t);await s.g.Linking.openURL(e,this.client.name)}else{let e=i.request.method,s=h||f[e].res;this.client.core.relayer.publish(a,t,s)}await this.client.core.history.resolve(d)}),N(this,"cleanup",async()=>{let e=[],t=[];this.client.session.getAll().forEach(t=>{let s=!1;(0,n._dF)(t.expiry)&&(s=!0),this.client.core.crypto.keychain.has(t.topic)||(s=!0),s&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{(0,n._dF)(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),N(this,"onProviderMessageEvent",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),N(this,"onRelayEventRequest",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),N(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===w)return void this.client.logger.info("Request queue already active, skipping...");for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=w;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=v}),N(this,"processRequest",async e=>{let{topic:t,payload:s,attestation:i,transportType:r,encryptedId:n}=e,a=s.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:a}))switch(a){case"wc_sessionPropose":return await this.onSessionProposeRequest
1({topic:t,payload:s,attestation:i,encryptedId:n});case"wc_sessionSettle":return await this.onSessionSettleRequest(t,s);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(t,s);case"wc_sessionExtend":return await this.onSessionExtendRequest(t,s);case"wc_sessionPing":return await this.onSessionPingRequest(t,s);case"wc_sessionDelete":return await this.onSessionDeleteRequest(t,s);case"wc_sessionRequest":return await this.onSessionRequest({topic:t,payload:s,attestation:i,encryptedId:n,transportType:r});case"wc_sessionEvent":return await this.onSessionEventRequest(t,s);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:t,payload:s,attestation:i,encryptedId:n,transportType:r});default:return this.client.logger.info(`Unsupported request method ${a}`)}}),N(this,"onRelayEventResponse",async e=>{let{topic:t,payload:s,transportType:i}=e,r=(await this.client.core.history.get(t,s.id)).request.method;switch(r){case"wc_sessionPropose":return this.onSessionProposeResponse(t,s,i);case"wc_sessionSettle":return this.onSessionSettleResponse(t,s);case"wc_sessionUpdate":return this.onSessionUpdateResponse(t,s);case"wc_sessionExtend":return this.onSessionExtendResponse(t,s);case"wc_sessionPing":return this.onSessionPingResponse(t,s);case"wc_sessionRequest":return this.onSessionRequestResponse(t,s);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(t,s);default:return this.client.logger.info(`Unsupported response method ${r}`)}}),N(this,"onRelayEventUnknownPayload",e=>{let{topic:t}=e,{message:s}=(0,n.GuA)("MISSING_OR_INVALID",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(s)}),N(this,"shouldIgnorePairingRequest",e=>{let{topic:t,requestMethod:s}=e,i=this.expectedPairingMethodMap.get(t);return!(!i||i.includes(s))&&!!(i.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),N(this,"onSessionProposeRequest",async e=>{let{topic:t,payload:s,attestation:i,encryptedId:r}=e,{params:o,id:c}=s;try{let e=this.client.core.eventClient.getEvent({topic:t});0===this.client.events.listenerCount("session_proposal")&&(console.warn("No listener for session_proposal event"),e?.setError(a.S$.proposal_listener_not_found)),this.isValidConnect(T({},s.params));let h=o.expiryTimestamp||(0,n.Xw0)(f.wc_sessionPropose.req.ttl),l=T({id:c,pairingTopic:t,expiryTimestamp:h},o);await this.setProposal(c,l);let p=await this.getVerifyContext({attestationId:i,hash:(0,n.ALl)(JSON.stringify(s)),encryptedId:r,metadata:l.proposer.metadata});e?.addTrace(a.$w.emit_session_proposal),this.client.events.emit("session_proposal",{id:c,params:l,verifyContext:p})}catch(e){await this.sendError({id:c,topic:t,error:e,rpcOpts:f.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),N(this,"onSessionProposeResponse",async(e,t,s)=>{let{id:i}=t;if((0,l.isJsonRpcResult)(t)){let{result:r}=t;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:r});let n=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:n});let a=n.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:a});let o=r.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:o});let c=await this.client.core.crypto.generateSharedKey(a,o);this.pendingSessions.set(i,{sessionTopic:c,pairingTopic:e,proposalId:i,publicKey:a});let h=await this.client.core.relayer.subscribe(c,{transportType:s});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:e})}else if((0,l.isJsonRpcError)(t)){await this.client.proposal.delete(i,(0,n.Hjj)("USER_DISCONNECTED"));let e=(0,n.hEn)("session_connect",i);if(0===this.events.listenerCount(e))throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),N(this,"onSessionSettleRequest",async(e,t)=>{let{id:s,params:i}=t;try{let s,r;this.isValidSessionSettleRequest(i);let{relay:o,controller:c,expiry:h,namespaces:l,sessionProperties:p,scopedProperties:d,sessionConfig:u}=t.params,g=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!g)return this.client.logger.error(`Pending session not found for topic ${e}`);let m=this.client.proposal.get(g.proposalId),f=(s=T(T(T({topic:e,relay:o,expiry:h,namespaces:l,acknowledged:!0,pairingTopic:g.pairingTopic,requiredNamespaces:m.requiredNamespaces,optionalNamespaces:m.optionalNamespaces,controller:c.publicKey,self:{publicKey:g.publicKey,metadata:this.client.metadata},peer:{publicKey:c.publicKey,metadata:c.metadata}},p&&{sessionProperties:p}),d&&{scopedProperties:d}),u&&{sessionConfig:u}),r={transportType:a.cV.relay},S(s,R(r)));await this.client.session.set(f.topic,f),await this.setExpiry(f.topic,f.expiry),await this.client.core.pairing.updateMetadata({topic:g.pairingTopic,metadata:f.peer.metadata}),this.client.events.emit("session_connect",{session:f}),this.events.emit((0,n.hEn)("session_connect",g.proposalId),{session:f}),this.pendingSessions.delete(g.proposalId),this.deleteProposal(g.proposalId,!1),this.cleanupDupl
1icatePairings(f),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:s,topic:e,error:t}),this.client.logger.error(t)}}),N(this,"onSessionSettleResponse",async(e,t)=>{let{id:s}=t;(0,l.isJsonRpcResult)(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit((0,n.hEn)("session_approve",s),{})):(0,l.isJsonRpcError)(t)&&(await this.client.session.delete(e,(0,n.Hjj)("USER_DISCONNECTED")),this.events.emit((0,n.hEn)("session_approve",s),{error:t.error}))}),N(this,"onSessionUpdateRequest",async(e,t)=>{let{params:s,id:i}=t;try{let t=`${e}_session_update`,r=n.nyL.get(t);if(r&&this.isRequestOutOfSync(r,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:(0,n.Hjj)("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(T({topic:e},s));try{n.nyL.set(t,i),await this.client.session.update(e,{namespaces:s.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw n.nyL.delete(t),e}this.client.events.emit("session_update",{id:i,topic:e,params:s})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),N(this,"isRequestOutOfSync",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),N(this,"onSessionUpdateResponse",(e,t)=>{let{id:s}=t,i=(0,n.hEn)("session_update",s);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,l.isJsonRpcResult)(t)?this.events.emit((0,n.hEn)("session_update",s),{}):(0,l.isJsonRpcError)(t)&&this.events.emit((0,n.hEn)("session_update",s),{error:t.error})}),N(this,"onSessionExtendRequest",async(e,t)=>{let{id:s}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,(0,n.Xw0)(m)),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:s,topic:e})}catch(t){await this.sendError({id:s,topic:e,error:t}),this.client.logger.error(t)}}),N(this,"onSessionExtendResponse",(e,t)=>{let{id:s}=t,i=(0,n.hEn)("session_extend",s);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,l.isJsonRpcResult)(t)?this.events.emit((0,n.hEn)("session_extend",s),{}):(0,l.isJsonRpcError)(t)&&this.events.emit((0,n.hEn)("session_extend",s),{error:t.error})}),N(this,"onSessionPingRequest",async(e,t)=>{let{id:s}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:s,topic:e})}catch(t){await this.sendError({id:s,topic:e,error:t}),this.client.logger.error(t)}}),N(this,"onSessionPingResponse",(e,t)=>{let{id:s}=t,i=(0,n.hEn)("session_ping",s);setTimeout(()=>{if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners 2176`);(0,l.isJsonRpcResult)(t)?this.events.emit((0,n.hEn)("session_ping",s),{}):(0,l.isJsonRpcError)(t)&&this.events.emit((0,n.hEn)("session_ping",s),{error:t.error})},500)}),N(this,"onSessionDeleteRequest",async(e,t)=>{let{id:s}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(a.Jf.publish,async()=>{t(await this.deleteSession({topic:e,id:s}))})}),this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:(0,n.Hjj)("USER_DISCONNECTED")})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),N(this,"onSessionRequest",async e=>{var t,s,i;let{topic:r,payload:o,attestation:c,encryptedId:h,transportType:p}=e,{id:d,params:u}=o;try{await this.isValidRequest(T({topic:r},u));let e=this.client.session.get(r),o=await this.getVerifyContext({attestationId:c,hash:(0,n.ALl)(JSON.stringify((0,l.formatJsonRpcRequest)("wc_sessionRequest",u,d))),encryptedId:h,metadata:e.peer.metadata,transportType:p}),g={id:d,topic:r,params:u,verifyContext:o};await this.setPendingSessionRequest(g),p===a.cV.link_mode&&null!=(t=e.peer.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(null==(s=e.peer.metadata.redirect)?void 0:s.universal),null!=(i=this.client.signConfig)&&i.disableRequestQueue?this.emitSessionRequest(g):(this.addSessionRequestToSessionRequestQueue(g),this.processSessionRequestQueue())}
1catch(e){await this.sendError({id:d,topic:r,error:e}),this.client.logger.error(e)}}),N(this,"onSessionRequestResponse",(e,t)=>{let{id:s}=t,i=(0,n.hEn)("session_request",s);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,l.isJsonRpcResult)(t)?this.events.emit((0,n.hEn)("session_request",s),{result:t.result}):(0,l.isJsonRpcError)(t)&&this.events.emit((0,n.hEn)("session_request",s),{error:t.error})}),N(this,"onSessionEventRequest",async(e,t)=>{let{id:s,params:i}=t;try{let t=`${e}_session_event_${i.event.name}`,r=n.nyL.get(t);if(r&&this.isRequestOutOfSync(r,s))return void this.client.logger.info(`Discarding out of sync request - ${s}`);this.isValidEmit(T({topic:e},i)),this.client.events.emit("session_event",{id:s,topic:e,params:i}),n.nyL.set(t,s)}catch(t){await this.sendError({id:s,topic:e,error:t}),this.client.logger.error(t)}}),N(this,"onSessionAuthenticateResponse",(e,t)=>{let{id:s}=t;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:e,payload:t}),(0,l.isJsonRpcResult)(t)?this.events.emit((0,n.hEn)("session_request",s),{result:t.result}):(0,l.isJsonRpcError)(t)&&this.events.emit((0,n.hEn)("session_request",s),{error:t.error})}),N(this,"onSessionAuthenticateRequest",async e=>{var t;let{topic:s,payload:i,attestation:r,encryptedId:o,transportType:c}=e;try{let{requester:e,authPayload:h,expiryTimestamp:l}=i.params,p=await this.getVerifyContext({attestationId:r,hash:(0,n.ALl)(JSON.stringify(i)),encryptedId:o,metadata:e.metadata,transportType:c}),d={requester:e,pairingTopic:s,id:i.id,authPayload:h,verifyContext:p,expiryTimestamp:l};await this.setAuthRequest(i.id,{request:d,pairingTopic:s,transportType:c}),c===a.cV.link_mode&&null!=(t=e.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:s,params:i.params,id:i.id,verifyContext:p})}catch(o){this.client.logger.error(o);let e=i.params.requester.publicKey,t=await this.client.core.crypto.generateKeyPair(),r=this.getAppLinkIfEnabled(i.params.requester.metadata,c),a={type:n.Lp_,receiverPublicKey:e,senderPublicKey:t};await this.sendError({id:i.id,topic:s,error:o,encodeOpts:a,rpcOpts:f.wc_sessionAuthenticate.autoReject,appLink:r})}}),N(this,"addSessionRequestToSessionRequestQueue",e=>{this.sessionRequestQueue.queue.push(e)}),N(this,"cleanupAfterResponse",e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=v,this.processSessionRequestQueue()},(0,h.toMiliseconds)(this.requestQueueDelay))}),N(this,"cleanupPendingSentRequestsForTopic",({topic:e,error:t})=>{let s=this.client.core.history.pending;s.length>0&&s.filter(t=>t.topic===e&&"wc_sessionRequest"===t.request.method).forEach(e=>{let s=e.request.id,i=(0,n.hEn)("session_request",s);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);this.events.emit((0,n.hEn)("session_request",e.request.id),{error:t})})}),N(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===w)return void this.client.logger.info("session request queue is already active.");let e=this.sessionRequestQueue.queue[0];if(!e)return void this.client.logger.info("session request queue is empty.");try{this.sessionRequestQueue.state=w,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),N(this,"emitSessionRequest",e=>{this.client.events.emit("session_request",e)}),N(this,"onPairingCreated",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;let t=this.client.proposal.getAll().find(t=>t.pairingTopic===e.topic);
1t&&this.onSessionProposeRequest({topic:e.topic,payload:(0,l.formatJsonRpcRequest)("wc_sessionPropose",S(T({},t),R({requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties})),t.id)})}),N(this,"isValidConnect",async e=>{if(!(0,n.TeY)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:t,requiredNamespaces:s,optionalNamespaces:i,sessionProperties:r,scopedProperties:a,relays:o}=e;if((0,n.b07)(t)||await this.isValidPairingTopic(t),!(0,n.V9G)(o,!0)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID",`connect() relays: ${o}`);throw Error(e)}if(!(0,n.b07)(s)&&0!==(0,n.aF0)(s)){let e="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(e):this.client.logger.warn(e),this.validateNamespaces(s,"requiredNamespaces")}if((0,n.b07)(i)||0===(0,n.aF0)(i)||this.validateNamespaces(i,"optionalNamespaces"),(0,n.b07)(r)||this.validateSessionProps(r,"sessionProperties"),!(0,n.b07)(a)){this.validateSessionProps(a,"scopedProperties");let e=Object.keys(s||{}).concat(Object.keys(i||{}));if(!Object.keys(a).every(t=>e.includes(t)))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(a)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),N(this,"validateNamespaces",(e,t)=>{let s=(0,n.esh)(e,"connect()",t);if(s)throw Error(s.message)}),N(this,"isValidApprove",async e=>{if(!(0,n.TeY)(e))throw Error((0,n.GuA)("MISSING_OR_INVALID",`approve() params: ${e}`).message);let{id:t,namespaces:s,relayProtocol:i,sessionProperties:r,scopedProperties:a}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let o=this.client.proposal.get(t),c=(0,n.FiO)(s,"approve()");if(c)throw Error(c.message);let h=(0,n.XqR)(o.requiredNamespaces,s,"approve()");if(h)throw Error(h.message);if(!(0,n.Qhg)(i,!0)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID",`approve() relayProtocol: ${i}`);throw Error(e)}if((0,n.b07)(r)||this.validateSessionProps(r,"sessionProperties"),!(0,n.b07)(a)){this.validateSessionProps(a,"scopedProperties");let e=new Set(Object.keys(s));if(!Object.keys(a).every(t=>e.has(t)))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(a)}, approved namespaces: ${Array.from(e).join(", ")}`)}}),N(this,"isValidReject",async e=>{if(!(0,n.TeY)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`reject() params: ${e}`);throw Error(t)}let{id:t,reason:s}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!(0,n.X3c)(s)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(s)}`);throw Error(e)}}),N(this,"isValidSessionSettleRequest",e=>{if(!(0,n.TeY)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:t,controller:s,namespaces:i,expiry:r}=e;if(!(0,n.kuU)(t)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw Error(e)}let a=(0,n.tk0)(s,"onSessionSettleRequest()");if(a)throw Error(a.message);let o=(0,n.FiO)(i,"onSessionSettleRequest()");if(o)throw Error(o.message);if((0,n._dF)(r)){let{message:e}=(0,n.GuA)("EXPIRED","onSessionSettleRequest()");throw Error(e)}}),N(this,"isValidUpdate",async e=>{if(!(0,n.TeY)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:s}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let i=this.client.session.get(t),r=(0,n.FiO)(s,"update()");if(r)throw Error(r.message);let a=(0,n.XqR)(i.requiredNamespaces,s,"update()");if(a)throw Error(a.message)}),N(this,"isValidExtend",async e=>{if(!(0,n.TeY)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),N(this,"isValidRequest",async e=>{if(!(0,n.TeY)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`request() params: ${e}`);throw Error(t)}let{topic:t,request:s,chainId:i,expiry:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);let{namespaces:a}=this.client.session.get(t);if(!(0,n.tLy)(a,i)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID",`request() chainId: ${i}`);throw Error(e)}if(!(0,n.iV1)(s)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID",`request() ${JSON.stringify(s)}`);throw Error(e)}if(!(0,n.oKp)(a,i,s.method)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID",`request() method: ${s.method}`);throw Error(e)}if(r&&!(0,n.Hbs)(r,y)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID",`request() expiry: ${r}
1. Expiry must be a number (in seconds) between ${y.min} and ${y.max}`);throw Error(e)}}),N(this,"isValidRespond",async e=>{var t;if(!(0,n.TeY)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`respond() params: ${e}`);throw Error(t)}let{topic:s,response:i}=e;try{await this.isValidSessionTopic(s)}catch(s){throw null!=(t=e?.response)&&t.id&&this.cleanupAfterResponse(e),s}if(!(0,n.M8n)(i)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(i)}`);throw Error(e)}}),N(this,"isValidPing",async e=>{if(!(0,n.TeY)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),N(this,"isValidEmit",async e=>{if(!(0,n.TeY)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`emit() params: ${e}`);throw Error(t)}let{topic:t,event:s,chainId:i}=e;await this.isValidSessionTopic(t);let{namespaces:r}=this.client.session.get(t);if(!(0,n.tLy)(r,i)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID",`emit() chainId: ${i}`);throw Error(e)}
1if(!(0,n.FR8)(s)||!(0,n.z2N)(r,i,s.name)){let{message:e}=(0,n.GuA)("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(s)}`);throw Error(e)}}),N(this,"isValidDisconnect",async e=>{if(!(0,n.TeY)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),N(this,"isValidAuthenticate",e=>{let{chains:t,uri:s,domain:i,nonce:r}=e;if(!Array.isArray(t)||0===t.length)throw Error("chains is required and must be a non-empty array");if(!(0,n.Qhg)(s,!1))throw Error("uri is required parameter");if(!(0,n.Qhg)(i,!1))throw Error("domain is required parameter");if(!(0,n.Qhg)(r,!1))throw Error("nonce is required parameter");if([...new Set(t.map(e=>(0,n._Yb)(e).namespace))].length>1)throw Error("Multi-namespace requests are not supported. Please request single namespace only.");let{namespace:a}=(0,n._Yb)(t[0]);if("eip155"!==a)throw Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),N(this,"getVerifyContext",async e=>{let{attestationId:t,hash:s,encryptedId:i,metadata:r,transportType:n}=e,o={verified:{verifyUrl:r.verifyUrl||a.WB,validation:"UNKNOWN",origin:r.url||""}};try{if(n===a.cV.link_mode){let e=this.getAppLinkIfEnabled(r,n);return o.verified.validation=e&&new URL(e).origin===new URL(r.url).origin?"VALID":"INVALID",o}let e=await this.client.core.verify.resolve({attestationId:t,hash:s,encryptedId:i,verifyUrl:r.verifyUrl});e&&(o.verified.origin=e.origin,o.verified.isScam=e.isScam,o.verified.validation=e.origin===new URL(r.url).origin?"VALID":"INVALID")}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(o)}`),o}),N(this,"validateSessionProps",(e,t)=>{Object.values(e).forEach((s,i)=>{if(null==s){let{message:r}=(0,n.GuA)("MISSING_OR_INVALID",`${t} must contain an existing value for each key. Received: ${s} for key ${Object.keys(e)[i]}`);throw Error(r)}})}),N(this,"getPendingAuthRequest",e=>{let t=this.client.auth.requests.get(e);return"object"==typeof t?t:void 0}),N(this,"addToRecentlyDeleted",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;for(let s of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(s)}}}),N(this,"checkRecentlyDeleted",e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:s}=(0,n.GuA)("MISSING_OR_INVALID",`Record was recently deleted - ${t}: ${e}`);throw Error(s)}}),N(this,"isLinkModeEnabled",(e,t)=>{var i,r,n,o,c,h,l,p,d;return!!e&&t===a.cV.link_mode&&(null==(r=null==(i=this.client.metadata)?void 0:i.redirect)?void 0:r.linkMode)===!0&&(null==(o=null==(n=this.client.metadata)?void 0:n.redirect)?void 0:o.universal)!==void 0&&(null==(h=null==(c=this.client.metadata)?void 0:c.redirect)?void 0:h.universal)!==""&&(null==(l=e?.redirect)?void 0:l.universal)!==void 0&&(null==(p=e?.redirect)?void 0:p.universal)!==""&&(null==(d=e?.redirect)?void 0:d.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&"u">typeof(null==s.g?void 0:s.g.Linking)}),N(this,"getAppLinkIfEnabled",(e,t)=>{var s;return this.isLinkModeEnabled(e,t)?null==(s=e?.redirect)?void 0:s.universal:void 0}),N(this,"handleLinkModeMessage",({url:e})=>{if(!e||!e.includes("wc_ev")||!e.includes("topic"))return;let t=(0,n.$hI)(e,"topic")||"",s=decodeURIComponent((0,n.$hI)(e,"wc_ev")||""),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:a.cV.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:s,sessionExists:i})}),N(this,"registerLinkModeListeners",async()=>{var e;if((0,n.w8K)()||(0,n.lVv)()&&null!=(e=this.client.metadata.redirect)&&e.linkMode){let e=null==s.g?void 0:s.g.Linking;if("u">typeof e){e.addEventListener("url",this.handleLinkModeMessage,this.client.name);let t=await e.getInitialURL();t&&setTimeout(()=>{this.handleLinkModeMessage({url:t})},50)}}}),N(this,"shouldSetTVF",(e,t)=>{if(!t||"wc_sessionRequest"!==e)return!1;let{request:s}=t;return Object.keys(b).includes(s.method)}),N(this,"getTVFParams",(e,t,s)=>{var i,r;try{let n,a,o=t.request.method,c=this.extractTxHashesFromResult(o,s);return n=T({correlationId:e,rpcMethods:[o],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[null==(r=null==(i=t.request.params)?void 0:i[0])?void 0:r.to]}),a={txHashes:c},S(n,R(a))}catch(e){this.client.logger.warn("Error getting TVF params",e)}return{}}),N(this,"isValidContractData",e=>{var t;if(!e)return!1;try{let s=e?.data||(null==(t=e?.[0])?void 0:t.data);if(!s.startsWith("0x"))return!1;let i=s.slice(2);return!!/^[0-9a-fA-F]*$/.test(i)&&i.length%2==0}catch{}return!1}),N(this,"extractTxHashesFromResult",(e,t)=>{try{let s=b[e];if("string"==typeof t)return[t];let i=t[s.key];if((0,n.OP1)(i))return"solana_signAllTransactions"===e?i.map(e=>(0,n.PAk)(e)):i;if("string"==typeof i)return[i]}catch(e){this.client.logger.warn("Error extracting tx hashes from result",e)}return[]})}async processPendingMessageEvents(){try{let e=this.client.session.keys,t=this.client.core.relayer.messages.getWithoutAck(e);for(let[e,s]of Object.entries(t))for(let t of s)try{await this.onProviderMessageEvent({topic:e,message:t,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${e}, message: ${t}`)}}catch(e){this.client.logger.warn("processPendingMessageEvents failed",e)}}isInitialized(){if(!this.initialized){let{message:e}=(0,n.GuA)("NOT_INITIALIZED",this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(a.Jf.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){let{topic:t,message:s,attestation:i,transportType:r}=e,{publicKey:o}=this.client.auth.authKeys.keys.includes(E)?this.client.auth.authKeys.get(E):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,s,{receiverPublicKey:o,encoding:r===a.cV.link_mode?n.Pa8:n.EWt});(0,l.isJsonRpcRequest)(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:i,transportType:r,encryptedId:(0,n.ALl)(s)})):(0,l.isJsonRpcResponse)(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:r}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:r}),await this.client.core.relayer.messages.ack(t,s)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(a.wn.expired,async e=>
1{let{topic:t,id:s}=(0,n.c82)(e.target);return s&&this.client.pendingRequest.keys.includes(s)?await this.deletePendingSessionRequest(s,(0,n.GuA)("EXPIRED"),!0):s&&this.client.auth.requests.keys.includes(s)?await this.deletePendingAuthRequest(s,(0,n.GuA)("EXPIRED"),!0):void(t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):s&&(await this.deleteProposal(s,!0),this.client.events.emit("proposal_expire",{id:s})))})}registerPairingEvents(){this.client.core.pairing.events.on(a.zN.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(a.zN.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!(0,n.Qhg)(e,!1)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){let{message:t}=(0,n.GuA)("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if((0,n._dF)(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=(0,n.GuA)("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!(0,n.Qhg)(e,!1)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){let{message:t}=(0,n.GuA)("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw Error(t)}if((0,n._dF)(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=(0,n.GuA)("EXPIRED",`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),Error(t)}}async isValidSessionOrPairingTopic(e){if(this.checkRecentlyDeleted(e),this.client.session.keys.includes(e))await this.isValidSessionTopic(e);else if(this.client.core.pairing.pairings.keys.includes(e))this.isValidPairingTopic(e);else if((0,n.Qhg)(e,!1)){let{message:t}=(0,n.GuA)("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if(!(0,n.Alu)(e)){let{message:t}=(0,n.GuA)("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=(0,n.GuA)("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw Error(t)}if((0,n._dF)(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=(0,n.GuA)("EXPIRED",`proposal id: ${e}`);throw Error(t)}}}class $ extends a.il{constructor(e,t){super(e,t,"proposal",d),this.core=e,this.logger=t}}class D extends a.il{constructor(e,t){super(e,t,"session",d),this.core=e,this.logger=t}}class x extends a.il{constructor(e,t){super(e,t,"request",d,e=>e.id),this.core=e,this.logger=t}}class M extends a.il{constructor(e,t){super(e,t,"authKeys",I,()=>E),this.core=e,this.logger=t}}class k extends a.il{constructor(e,t){super(e,t,"pairingTopics",I),this.core=e,this.logger=t}}class V extends a.il{constructor(e,t){super(e,t,"requests",I,e=>e.id),this.core=e,this.logger=t}}var H=Object.defineProperty,L=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?H(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class U{constructor(e,t){this.core=e,this.logger=t,L(this,"authKeys"),L(this,"pairingTopics"),L(this,"requests"),this.authKeys=new M(this.core,this.logger),this.pairingTopics=new k(this.core,this.logger),this.requests=new V(this.core,this.logger)}
1async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var F=Object.defineProperty,G=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?F(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class K extends c.S9{constructor(e){super(e),G(this,"protocol","wc"),G(this,"version",2),G(this,"name",p),G(this,"metadata"),G(this,"core"),G(this,"logger"),G(this,"events",new i.EventEmitter),G(this,"engine"),G(this,"session"),G(this,"proposal"),G(this,"pendingRequest"),G(this,"auth"),G(this,"signConfig"),G(this,"on",(e,t)=>this.events.on(e,t)),G(this,"once",(e,t)=>this.events.once(e,t)),G(this,"off",(e,t)=>this.events.off(e,t)),G(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),G(this,"removeAllListeners",e=>this.events.removeAllListeners(e)),G(this,"connect",async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"pair",async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"approve",async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"reject",async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"update",async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"extend",async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"request",async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"respond",async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"ping",async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"emit",async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"disconnect",async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"find",e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),G(this,"authenticate",async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),G(this,"formatAuthMessage",e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"approveSessionAuthenticate",async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),G(this,"rejectSessionAuthenticate",async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||p,this.metadata=(0,n.Ds_)(e?.metadata),this.signConfig=e?.signConfig;const t="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,o.h6)((0,o.iP)({level:e?.logger||"error"}));this.core=e?.core||new a.iJ(e),this.logger=(0,o.U5)(t,this.name),this.session=new D(this.core,this.logger),this.proposal=new $(this.core,this.logger),this.pendingRequest=new x(this.core,this.logger),this.engine=new j(this),this.auth=new U(this.core,this.logger)}static async init(e){let t=new K(e);return await t.initialize(),t}get context(){return(0,o.oI)(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout(()=>{this.engine.processRelayMessageCache()},(0,h.toMiliseconds)(h.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var B=s(9363),z=s(60795),J=s(10585).Buffer;let W="error",Q="wc@2:universal_provider:",Y="https://rpc.walletconnect.org/v1/",X="generic",Z=`${Y}bundler`,ee="default_chain_changed";function et(){}function es(e){return null==e||"object"!=typeof e&&"function"!=typeof e}function ei(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function er(e){return"object"==typeof e&&null!==e}function en(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}
1function ea(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let eo="[object String]",ec="[object Number]",eh="[object Boolean]",el="[object Arguments]";function ep(e,t,s,i=new Map,r){let n=r?.(e,t,s,i);if(null!=n)return n;if(es(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){let t=Array(e.length);i.set(e,t);for(let n=0;n<e.length;n++)t[n]=ep(e[n],n,s,i,r);return Object.hasOwn(e,"index")&&(t.index=e.index),Object.hasOwn(e,"input")&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;for(let[n,a]of(i.set(e,t),e))t.set(n,ep(a,n,s,i,r));return t}if(e instanceof Set){let t=new Set;for(let n of(i.set(e,t),e))t.add(ep(n,void 0,s,i,r));return t}if("u">typeof J&&J.isBuffer(e))return e.subarray();if(ei(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);i.set(e,t);for(let n=0;n<e.length;n++)t[n]=ep(e[n],n,s,i,r);return t}if(e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return i.set(e,t),ed(t,e,s,i,r),t}if("u">typeof File&&e instanceof File){let t=new File([e],e.name,{type:e.type});return i.set(e,t),ed(t,e,s,i,r),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return i.set(e,t),ed(t,e,s,i,r),t}if(e instanceof Error){let t=new e.constructor;return i.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,ed(t,e,s,i,r),t}if("object"==typeof e&&function(e){switch(ea(e)){case el:case"[object Array]":case"[object ArrayBuffer]":case"[object DataView]":case eh:case"[object Date]":case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Map]":case ec:case"[object Object]":case"[object RegExp]":case"[object Set]":case eo:case"[object Symbol]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return!0;default:return!1}}(e)){let t=Object.create(Object.getPrototypeOf(e));return i.set(e,t),ed(t,e,s,i,r),t}return e}function ed(e,t,s=e,i,r){let n=[...Object.keys(t),...en(t)];for(let a=0;a<n.length;a++){let o=n[a],c=Object.getOwnPropertyDescriptor(e,o);(null==c||c.writable)&&(e[o]=ep(t[o],o,s,i,r))}}function eu(e){var t;return t=(t,s,i,r)=>{let n;if(null!=n)return n;if("object"==typeof e)switch(Object.prototype.toString.call(e)){case ec:case eo:case eh:{let t=new e.constructor(e?.valueOf());return ed(t,e),t}case el:{let t={};return ed(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}},ep(e,void 0,e,new Map,t)}function eg(e){return null!==e&&"object"==typeof e&&"[object Arguments]"===ea(e)}var em=Object.defineProperty,ef=Object.defineProperties,ey=Object.getOwnPropertyDescriptors,ev=Object.getOwnPropertySymbols,ew=Object.prototype.hasOwnProperty,eb=Object.prototype.propertyIsEnumerable,eP=(e,t,s)=>t in e?em(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,eI=(e,t)=>{for(var s in t||(t={}))ew.call(t,s)&&eP(e,s,t[s]);if(ev)for(var s of ev(t))eb.call(t,s)&&eP(e,s,t[s]);return e},eE=(e,t)=>ef(e,ey(t));function e_(e,t,s){var i;let r=(0,n._Yb)(e);return(null==(i=t.rpcMap)?void 0:i[r.reference])||`${Y}?chainId=${r.namespace}:${r.reference}&projectId=${s}`}function eS(e){return e.includes(":")?e.split(":")[1]:e}function eR(e){return e.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function eq(e={},t={}){return function(e,...t){return function(e,...t){let s=t.slice(0,-1),i=t[t.length-1],r=e;for(let e=0;e<s.length;e++)r=function e(t,s,i,r){if(es(t)&&(t=Object(t)),null==s||"object"!=typeof s)return t;if(r.has(s))return function(e){if(es(e))return e;if(Array.isArray(e)||ei(e)||e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),s=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new s(e);if(e instanceof RegExp){let t=new s(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new s(e.buffer.slice(0));if(e instanceof Error){let t=new s(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}return"u">typeof File&&e instanceof File?new s([e],e.name,{type:e.type,lastModified:e.lastModified}):"object"==typeof e?Object.assign(Object.create(t),e):e}(r.get(s));if(r.set(s,t),Array.isArray(s)){s=s.slice();for(let e=0;e<s.length;e++)s[e]=s[e]??void 0}let n=[...Object.keys(s),...en(s)];for(let a=0;a<n.length;a++){let o=n[a],c=s[o],h=t[o];if(eg(c)&&(c={...c}),eg(h)&&(h={...h}),"u">typeof J&&J.isBuffer(c)&&(c=eu(c)),Array.isArray(c))if("object"==typeof h&&null!=h){let e=[],t=Reflect.ownKeys(h);for(let s=0;s<t.length;s++){let i=t[s];e[i]=h[i]}h=e}else h=[];let l=i(h,c,o,t,s,r);null!=l?t[o]=l:Array.isArray(c)||er(h)&&er(c)?t[o]=e(h,c,i,r):null==h&&function(e){if("object"!=typeof e||null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;
1if("[object Object]"!==Object.prototype.toString.call(e)){let t=e[Symbol.toStringTag];return null!=t&&!!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable&&e.toString()===`[object ${t}]`}let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}(c)?t[o]=e({},c,i,r):null==h&&ei(c)?t[o]=eu(c):(void 0===h||void 0!==c)&&(t[o]=c)}return t}(r,s[e],i,new Map);return r}(e,...t,et)}(eO(e),eO(t))}function eO(e){var t,s,i,r,a;let o={};if(!(0,n.aF0)(e))return o;for(let[c,h]of Object.entries(e)){let e=(0,n.nWe)(c)?[c]:h.chains,l=h.methods||[],p=h.events||[],d=h.rpcMap||{},u=(0,n.kob)(c);o[u]=eE(eI(eI({},o[u]),h),{chains:(0,n.TRk)(e,null==(t=o[u])?void 0:t.chains),methods:(0,n.TRk)(l,null==(s=o[u])?void 0:s.methods),events:(0,n.TRk)(p,null==(i=o[u])?void 0:i.events)}),((0,n.aF0)(d)||(0,n.aF0)((null==(r=o[u])?void 0:r.rpcMap)||{}))&&(o[u].rpcMap=eI(eI({},d),null==(a=o[u])?void 0:a.rpcMap))}return o}function eC(e){return e.includes(":")?e.split(":")[2]:e}function eA(e){let t={};for(let[s,i]of Object.entries(e)){let e=i.methods||[],r=i.events||[],a=i.accounts||[],o=(0,n.nWe)(s)?[s]:i.chains?i.chains:eR(i.accounts);t[s]={chains:o,methods:e,events:r,accounts:a}}return t}function eT(e){return"number"==typeof e?e:e.includes("0x")?parseInt(e,16):isNaN(Number(e=e.includes(":")?e.split(":")[1]:e))?e:Number(e)}let eN={},ej=e=>eN[e],e$=(e,t)=>{eN[e]=t};var eD=Object.defineProperty,ex=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?eD(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class eM{constructor(e){ex(this,"name","polkadot"),ex(this,"client"),ex(this,"httpProviders"),ex(this,"events"),ex(this,"namespace"),ex(this,"chainId"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ee,`${this.name}:${e}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var s;let i=eS(t);e[i]=this.createHttpProvider(i,null==(s=this.namespace.rpcMap)?void 0:s[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProvider(e,t){let s=t||e_(e,this.namespace,this.client.core.projectId);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);return new z.F(new B.A(s,ej("disableProviderPing")))}}var ek=Object.defineProperty,eV=Object.defineProperties,eH=Object.getOwnPropertyDescriptors,eL=Object.getOwnPropertySymbols,eU=Object.prototype.hasOwnProperty,eF=Object.prototype.propertyIsEnumerable,eG=(e,t,s)=>t in e?ek(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,eK=(e,t)=>{for(var s in t||(t={}))eU.call(t,s)&&eG(e,s,t[s]);if(eL)for(var s of eL(t))eF.call(t,s)&&eG(e,s,t[s]);return e},eB=(e,t,s)=>eG(e,"symbol"!=typeof t?t+"":t,s);class ez{constructor(e){eB(this,"name","eip155"),eB(this,"client"),eB(this,"chainId"),eB(this,"namespace"),eB(this,"httpProviders"),eB(this,"events"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(ee,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){let s=t||e_(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);return new z.F(new B.V(s,ej("disableProviderPing")))}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var s;let i=parseInt(eS(t));e[i]=this.createHttpProvider(i,null==(s=this.namespace.rpcMap)?void 0:s[t])}),e}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}getHttpProvider(){let e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,s;let i=e.request.params?null==(t=e.request.params[0])?void 0:t.chainId:"0x0",r=parseInt(i=i.startsWith("0x")?i:`0x${i}`,16);if(this.isChainApproved(r))this.setDefaultChain(`${r}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:i}]},chainId:null==(s=this.namespace.chains)?void 0:s[0]}),this.setDefaultChain(`${r}`);else throw Error(`Failed to switch to chain 'eip155:${r}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var t,s,i,r,n;let a=null==(s=null==(t=e.request)?void 0:t.params)?void 0:s[0],o=(null==(r=null==(i=e.request)?void 0:i.params)?void 0:r[1])||[],c=`${a}${o.join(",")}`;if(!a)throw Error("Missing address parameter in `wallet_getCapabilities` request");let h=this.client.session.get(e.topic),l=(null==(n=h?.sessionProperties)?void 0:n.capabilities)||{};if(null!=l&&l[c])return l?.[c];let p=await this.client.request(e);try{let t,s,i,r;await this.client.session.update(e.topic,{sessionProperties:(i=eK({},h.sessionProperties||{}),r={capabilities:(t=eK({},l||{}),s={[c]:p}
1,eV(t,eH(s)))},eV(i,eH(r)))})}catch(e){console.warn("Failed to update session with capabilities",e)}return p}async getCallStatus(e){var t,s;let i=this.client.session.get(e.topic),r=null==(t=i.sessionProperties)?void 0:t.bundler_name;if(r){let t=this.getBundlerUrl(e.chainId,r);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn("Failed to fetch call status from bundler",e,t)}}let n=null==(s=i.sessionProperties)?void 0:s.bundler_url;if(n)try{return await this.getUserOperationReceipt(n,e)}catch(e){console.warn("Failed to fetch call status from custom bundler",e,n)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,t){var s;let i=new URL(e),r=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,l.formatJsonRpcRequest)("eth_getUserOperationReceipt",[null==(s=t.request.params)?void 0:s[0]]))});if(!r.ok)throw Error(`Failed to fetch user operation receipt - ${r.status}`);return await r.json()}getBundlerUrl(e,t){return`${Z}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var eJ=Object.defineProperty,eW=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?eJ(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class eQ{constructor(e){eW(this,"name","solana"),eW(this,"client"),eW(this,"httpProviders"),eW(this,"events"),eW(this,"namespace"),eW(this,"chainId"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ee,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var s;let i=eS(t);e[i]=this.createHttpProvider(i,null==(s=this.namespace.rpcMap)?void 0:s[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProvider(e,t){let s=t||e_(e,this.namespace,this.client.core.projectId);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);return new z.F(new B.A(s,ej("disableProviderPing")))}}var eY=Object.defineProperty,eX=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?eY(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class eZ{constructor(e){eX(this,"name","cosmos"),eX(this,"client"),eX(this,"httpProviders"),eX(this,"events"),eX(this,"namespace"),eX(this,"chainId"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ee,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var s;let i=eS(t);e[i]=this.createHttpProvider(i,null==(s=this.namespace.rpcMap)?void 0:s[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProvider(e,t){let s=t||e_(e,this.namespace,this.client.core.projectId);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);return new z.F(new B.A(s,ej("disableProviderPing")))}}var e0=Object.defineProperty,e1=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?e0(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class e2{constructor(e){e1(this,"name","algorand"),e1(this,"client"),e1(this,"httpProviders"),e1(this,"events"),e1(this,"namespace"),e1(this,"chainId"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(!this.httpProviders[e]){let s=t||e_(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,s)}this.chainId=e,this.events.emit(ee,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var s;e[t]=this.createHttpProvider(t,null==(s=this.namespace.rpcMap)?void 0:s[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProvider(e,t){let s=t||e_(e,this.namespace,this.client.core.projectId);return typeof s>"u"?void 0:new z.F(new B.A(s,ej("disableProviderPing")))}}var e3=Object.defineProperty,e8=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?e3(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class e5{constructor(e){e8(this,"name","cip34"),e8(this,"client"),e8(this,"httpProviders"),e8(this,"events"),e8(this,"namespace"),e8(this,"chainId"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ee,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{let s=this.getCardanoRPCUrl(t),i=eS(t);e[i]=this.createHttpProvider(i,s)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){let t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProvider(e,t){let s=t||this.getCardanoRPCUrl(e);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);return new z.F(new B.A(s,ej("disableProviderPing")))}}var e9=Object.defineProperty,e7=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?e9(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class e6{constructor(e){e7(this,"name","elrond"),e7(this,"client"),e7(this,"httpProviders"),e7(this,"events"),e7(this,"namespace"),e7(this,"chainId"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ee,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var s;let i=eS(t);e[i]=this.createHttpProvider(i,null==(s=this.namespace.rpcMap)?void 0:s[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProvider(e,t){let s=t||e_(e,this.namespace,this.client.core.projectId);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);return new z.F(new B.A(s,ej("disableProviderPing")))}}var e4=Object.defineProperty,te=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?e4(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};
1class tt{constructor(e){te(this,"name","multiversx"),te(this,"client"),te(this,"httpProviders"),te(this,"events"),te(this,"namespace"),te(this,"chainId"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ee,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var s;let i=eS(t);e[i]=this.createHttpProvider(i,null==(s=this.namespace.rpcMap)?void 0:s[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProvider(e,t){let s=t||e_(e,this.namespace,this.client.core.projectId);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);return new z.F(new B.A(s,ej("disableProviderPing")))}}var ts=Object.defineProperty,ti=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?ts(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class tr{constructor(e){ti(this,"name","near"),ti(this,"client"),ti(this,"httpProviders"),ti(this,"events"),ti(this,"namespace"),ti(this,"chainId"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let s=t||e_(`${this.name}:${e}`,this.namespace);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,s)}this.events.emit(ee,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var s;e[t]=this.createHttpProvider(t,null==(s=this.namespace.rpcMap)?void 0:s[t])}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProvider(e,t){let s=t||e_(e,this.namespace);return typeof s>"u"?void 0:new z.F(new B.A(s,ej("disableProviderPing")))}}var tn=Object.defineProperty,ta=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?tn(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class to{constructor(e){ta(this,"name","tezos"),ta(this,"client"),ta(this,"httpProviders"),ta(this,"events"),ta(this,"namespace"),ta(this,"chainId"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){let s=t||e_(`${this.name}:${e}`,this.namespace);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,s)}this.events.emit(ee,`${this.name}:${this.chainId}`)}getAccounts(){let e=this.namespace.accounts;return e&&e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2])||[]}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){let e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProvider(e,t){let s=t||e_(e,this.namespace);return typeof s>"u"?void 0:new z.F(new B.A(s))}}var tc=Object.defineProperty,th=(e,t,s)=>{let i;return(i="symbol"!=typeof t?t+"":t)in e?tc(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s};class tl{constructor(e){th(this,"name",X),th(this,"client"),th(this,"httpProviders"),th(this,"events"),th(this,"namespace"),th(this,"chainId"),this.namespace=e.namespace,this.events=ej("events"),this.client=ej("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace.chains=[...new Set((this.namespace.chains||[]).concat(e.chains||[]))],this.namespace.accounts=[...new Set((this.namespace.accounts||[]).concat(e.accounts||[]))],this.namespace.methods=[...new Set((this.namespace.methods||[]).concat(e.methods||[]))],this.namespace.events=[...new Set((this.namespace.events||[]).concat(e.events||[]))],this.httpProviders=this.createHttpProviders()}requestAccounts(){return this.getAccounts()}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider(e.chainId).request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(ee,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}getAccounts(){let e=this.namespace.accounts;return e?[...new Set(e.filter(e=>e.split(":")[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){var e,t;let s={};return null==(t=null==(e=this.namespace)?void 0:e.accounts)||t.forEach(e
1=>{let t=(0,n._Yb)(e);s[`${t.namespace}:${t.reference}`]=this.createHttpProvider(e)}),s}getHttpProvider(e){let t=this.httpProviders[e];if(typeof t>"u")throw Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){let s=this.createHttpProvider(e,t);s&&(this.httpProviders[e]=s)}createHttpProvider(e,t){let s=t||e_(e,this.namespace,this.client.core.projectId);if(!s)throw Error(`No RPC url provided for chainId: ${e}`);return new z.F(new B.A(s,ej("disableProviderPing")))}}var tp=Object.defineProperty,td=Object.defineProperties,tu=Object.getOwnPropertyDescriptors,tg=Object.getOwnPropertySymbols,tm=Object.prototype.hasOwnProperty,tf=Object.prototype.propertyIsEnumerable,ty=(e,t,s)=>t in e?tp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,tv=(e,t)=>{for(var s in t||(t={}))tm.call(t,s)&&ty(e,s,t[s]);if(tg)for(var s of tg(t))tf.call(t,s)&&ty(e,s,t[s]);return e},tw=(e,t,s)=>ty(e,"symbol"!=typeof t?t+"":t,s);class tb{constructor(e){tw(this,"client"),tw(this,"namespaces"),tw(this,"optionalNamespaces"),tw(this,"sessionProperties"),tw(this,"scopedProperties"),tw(this,"events",new(r())),tw(this,"rpcProviders",{}),tw(this,"session"),tw(this,"providerOpts"),tw(this,"logger"),tw(this,"uri"),tw(this,"disableProviderPing",!1),this.providerOpts=e,this.logger="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,o.h6)((0,o.iP)({level:e?.logger||W})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){let t=new tb(e);return await t.initialize(),t}async request(e,t,s){let[i,r]=this.validateChain(t);if(!this.session)throw Error("Please call connect() before request()");return await this.getProvider(i).request({request:tv({},e),chainId:`${i}:${r}`,topic:this.session.topic,expiry:s})}sendAsync(e,t,s,i){let r=new Date().getTime();this.request(e,s,i).then(e=>t(null,(0,l.formatJsonRpcResult)(r,e))).catch(e=>t(e,void 0))}async enable(){if(!this.client)throw Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw Error("Please call connect() before enable()");await this.client.disconnect({topic:null==(e=this.session)?void 0:e.topic,reason:(0,n.Hjj)("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();let{uri:s,response:i}=await this.client.authenticate(e,t);s&&(this.uri=s,this.events.emit("display_uri",s));let r=await i();if(this.session=r.session,this.session){let e=eA(this.session.namespaces);this.namespaces=eq(this.namespaces,e),await this.persist("namespaces",this.namespaces),this.onConnect()}return r}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}removeListener(e,t){this.events.removeListener(e,t)}off(e,t){this.events.off(e,t)}get isWalletConnect(){return!0}async pair(e){let{uri:t,approval:s}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});t&&(this.uri=t,this.events.emit("display_uri",t));let i=await s();this.session=i;let r=eA(i.namespaces);return this.namespaces=eq(this.namespaces,r),await this.persist("namespaces",this.namespaces),await this.persist("optionalNamespaces",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;let[s,i]=this.validateChain(e),r=this.getProvider(s);r.name===X?r.setDefaultChain(`${s}:${i}`,t):r.setDefaultChain(i,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");let t=this.client.pairing.getAll();if((0,n.OP1)(t)){for(let s of t)e.deletePairings?this.client.core.expirer.set(s.topic,0):await this.client.core.relayer.subscriber.unsubscribe(s.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.logger.warn("abortPairingAttempt is deprecated. This is now a no-op.")}async checkStorage(){this.namespaces=await this.getFromStore("namespaces")||{},this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var e,t;if(this.client=this.providerOpts.client||await K.init({core:this.providerOpts.core,logger:this.providerOpts.logger||W,relayUrl:this.providerOpts.relayUrl||"wss://relay.walletconnect.org",projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(s){throw this.logger.error("Failed to get session",s),Error(`The provided session: ${null==(t=null==(e=this.providerOpts)?void 0:e.session)?void 0:t.topic} doesn't exist in the Sign client`)}else{let e=this.client.session.getAll();this.session=e[0]}this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw Error("Sign Client not initialized");if(!this.session)throw Error("Session not initialized. Please call connect() before enable()");let e=[...new Set(Object.keys(this.session.namespaces).map(e=>(0,n.kob)(e)))];e$("client",this.client),e$("events",this.events),e$("disableProviderPing",this.disableProviderPing),e.forEach(e
1=>{if(!this.session)return;let t=function(e,t){let s=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!s.length)return[];let i=[];return s.forEach(e=>{let s=t.namespaces[e].accounts;i.push(...s)}),i}(e,this.session),s=eR(t),i=td(tv({},eq(this.namespaces,this.optionalNamespaces)[e]),tu({accounts:t,chains:s}));switch(e){case"eip155":this.rpcProviders[e]=new ez({namespace:i});break;case"algorand":this.rpcProviders[e]=new e2({namespace:i});break;case"solana":this.rpcProviders[e]=new eQ({namespace:i});break;case"cosmos":this.rpcProviders[e]=new eZ({namespace:i});break;case"polkadot":this.rpcProviders[e]=new eM({namespace:i});break;case"cip34":this.rpcProviders[e]=new e5({namespace:i});break;case"elrond":this.rpcProviders[e]=new e6({namespace:i});break;case"multiversx":this.rpcProviders[e]=new tt({namespace:i});break;case"near":this.rpcProviders[e]=new tr({namespace:i});break;case"tezos":this.rpcProviders[e]=new to({namespace:i});break;default:this.rpcProviders[X]?this.rpcProviders[X].updateNamespace(i):this.rpcProviders[X]=new tl({namespace:i})}})}registerEventListeners(){if(typeof this.client>"u")throw Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var t;let{topic:s}=e;s===(null==(t=this.session)?void 0:t.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var t;let{params:s,topic:i}=e;if(i!==(null==(t=this.session)?void 0:t.topic))return;let{event:r}=s;if("accountsChanged"===r.name){let e=r.data;e&&(0,n.OP1)(e)&&this.events.emit("accountsChanged",e.map(eC))}else if("chainChanged"===r.name){let e=s.chainId,t=s.event.data,i=(0,n.kob)(e),r=eT(e)!==eT(t)?`${i}:${eT(t)}`:e;this.onChainChanged(r)}else this.events.emit(r.name,r.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var s,i;if(e!==(null==(s=this.session)?void 0:s.topic))return;let{namespaces:r}=t,n=null==(i=this.client)?void 0:i.session.get(e);this.session=td(tv({},n),tu({namespaces:r})),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:t})}),this.client.on("session_delete",async e=>{var t;e.topic===(null==(t=this.session)?void 0:t.topic)&&(await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",td(tv({},(0,n.Hjj)("USER_DISCONNECTED")),tu({data:e.topic}))))}),this.on(ee,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[X]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace(null==(t=this.session)?void 0:t.namespaces[e])})}setNamespaces(e){let{namespaces:t={},optionalNamespaces:s={},sessionProperties:i,scopedProperties:r}=e;this.optionalNamespaces=eq(t,s),this.sessionProperties=i,this.scopedProperties=r}validateChain(e){let[t,s]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,s];if(t&&!Object.keys(this.namespaces||{}).map(e=>(0,n.kob)(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&s)return[t,s];
1let i=(0,n.kob)(Object.keys(this.namespaces)[0]),r=this.rpcProviders[i].getDefaultChain();return[i,r]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;let[s,i]=this.validateChain(e);if(!i)return;this.updateNamespaceChain(s,i),this.events.emit("chainChanged",i);let r=this.getProvider(s).getDefaultChain();t||this.getProvider(s).setDefaultChain(i),this.emitAccountsChangedOnChainChange({namespace:s,previousChainId:r,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:t,newChainId:s}){var i,r;try{if(t===s)return;let a=null==(r=null==(i=this.session)?void 0:i.namespaces[e])?void 0:r.accounts;if(!a)return;let o=a.filter(e=>e.includes(`${s}:`)).map(eC);if(!(0,n.OP1)(o))return;this.events.emit("accountsChanged",o)}catch(e){this.logger.warn("Failed to emit accountsChanged on chain change",e)}}updateNamespaceChain(e,t){if(!this.namespaces)return;let s=this.namespaces[e]?e:`${e}:${t}`;this.namespaces[s]?this.namespaces[s]&&(this.namespaces[s].defaultChain=t):this.namespaces[s]={chains:[],methods:[],events:[],defaultChain:t}}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore("namespaces"),await this.deleteFromStore("optionalNamespaces"),await this.deleteFromStore("sessionProperties"),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,t){var s;let i=(null==(s=this.session)?void 0:s.topic)||"";await this.client.core.storage.setItem(`${Q}/${e}${i}`,t)}async getFromStore(e){var t;let s=(null==(t=this.session)?void 0:t.topic)||"";return await this.client.core.storage.getItem(`${Q}/${e}${s}`)}async deleteFromStore(e){var t;let s=(null==(t=this.session)?void 0:t.topic)||"";await this.client.core.storage.removeItem(`${Q}/${e}${s}`)}async cleanupStorage(){var e;try{if((null==(e=this.client)?void 0:e.session.length)>0)return;for(let e of(await this.client.core.storage.getKeys()))e.startsWith(Q)&&await this.client.core.storage.removeItem(e)}catch(e){this.logger.warn("Failed to cleanup storage",e)}}}let tP=["eth_sendTransaction","personal_sign"],tI=["eth_accounts","eth_requestAccounts","eth_sendRawTransaction","eth_sign","eth_signTransaction","eth_signTypedData","eth_signTypedData_v3","eth_signTypedData_v4","eth_sendTransaction","personal_sign","wallet_switchEthereumChain","wallet_addEthereumChain","wallet_getPermissions","wallet_requestPermissions","wallet_registerOnboarding","wallet_watchAsset","wallet_scanQRCode","wallet_sendCalls","wallet_getCapabilities","wallet_getCallsStatus","wallet_showCallsStatus"],tE=["chainChanged","accountsChanged"],t_=["chainChanged","accountsChanged","message","disconnect","connect"],tS=async()=>{let{createAppKit:e}=await s.e(8452).then(s.bind(s,28452));return e};var tR=Object.defineProperty,tq=Object.defineProperties,tO=Object.getOwnPropertyDescriptors,tC=Object.getOwnPropertySymbols,tA=Object.prototype.hasOwnProperty,tT=Object.prototype.propertyIsEnumerable,tN=(e,t,s)=>t in e?tR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,tj=(e,t)=>{for(var s in t||(t={}))tA.call(t,s)&&tN(e,s,t[s]);if(tC)for(var s of tC(t))tT.call(t,s)&&tN(e,s,t[s]);return e},t$=(e,t,s)=>tN(e,"symbol"!=typeof t?t+"":t,s);function tD(e){return Number(e[0].split(":")[1])}function tx(e){return`0x${e.toString(16)}`}class tM{constructor(){t$(this,"events",new i.EventEmitter),t$(this,"namespace","eip155"),t$(this,"accounts",[]),t$(this,"signer"),t$(this,"chainId",1),t$(this,"modal"),t$(this,"rpc"),t$(this,"STORAGE_KEY","wc@2:ethereum_provider:"),t$(this,"on",(e,t)=>(this.events.on(e,t),this)),t$(this,"once",(e,t)=>(this.events.once(e,t),this)),t$(this,"removeListener",(e,t)=>(this.events.removeListener(e,t),this)),t$(this,"off",(e,t)=>(this.events.off(e,t),this)),t$(this,"parseAccount",e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e),this.signer={},this.rpc={}}static async init(e){let t=new tM;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,s){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),s)}get connected(){return!!this.signer.client&&this.signer.client.core.relayer.connected}get connecting(){return!!this.signer.client&&this.signer.client.core.relayer.connecting}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){var t;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);let{required:s,optional:i}=function(e){let{chains:t,optionalChains:s,methods:i,optionalMethods:r,events:a,optionalEvents:o,rpcMap:c}=e;if(!(0,n.OP1)(t))throw Error("Invalid chains");let h={chains:t,methods:i||tP,events:a||tE,rpcMap:tj({},t.length?{[tD(t)]:c[tD(t)]}:{})},l=a?.filter(e=>!tE.includes(e)),p=i?.filter(e=>!tP.includes(e));if(!s&&!o&&!r&&!(null!=l&&l.length)&&!(null!=p&&p.length))return{required:t.length?h:void 0};let d={chains:[...new Set(l?.length&&p?.length||!s?h.chains.concat(s||[]):s)],methods:[...new Set(h.methods.concat(null!=r&&r.length?r:tI))],events:[...new Set(h.events.concat(null!=o&&o.length?o:t_))],rpcMap:c};return{required:t.length?h:void 0,optional:s.length?d:void 0}}(this.rpc);try{let t=await new Promise(async(t,r)=>{var n,a;let o,c;this.rpc.showQrModal&&(null==(n=this.modal)||n.open(),null==(a=this.modal)||a.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),r(Error("Connection request reset. Please try again.")))}));let h=null!=e&&e.scopedProperties?{[this.namespace]:e.scopedProperties}:void 0;await this.signer.connect((o=tj({namespaces:tj({},s&&{[this.namespace]:s})},i&&{optionalNamespaces:{[this.namespace]:i}}),c={pairingTopic:e?.pairingTopic,scopedProperties:h}
1,tq(o,tO(c)))).then(e=>{t(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),r(Error(e.message))})});if(!t)return;let r=(0,n.Zz7)(t.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:r),this.setAccounts(r),this.events.emit("connect",{chainId:tx(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{null==(t=this.modal)||t.close()}}async authenticate(e,t){var s;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e?.chains});try{let s=await new Promise(async(s,i)=>{var r,n;let a,o;this.rpc.showQrModal&&(null==(r=this.modal)||r.open(),null==(n=this.modal)||n.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),i(Error("Connection request reset. Please try again.")))})),await this.signer.authenticate((a=tj({},e),o={chains:this.rpc.chains},tq(a,tO(o))),t).then(e=>{s(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),i(Error(e.message))})}),i=s.session;if(i){let e=(0,n.Zz7)(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit("connect",{chainId:tx(this.chainId)})}return s}catch(e){throw this.signer.logger.error(e),e}finally{null==(s=this.modal)||s.close()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on("session_event",e=>{let{params:t}=e,{event:s}=t;"accountsChanged"===s.name?(this.accounts=this.parseAccounts(s.data),this.events.emit("accountsChanged",this.accounts)):"chainChanged"===s.name?this.setChainId(this.formatChainId(s.data)):this.events.emit(s.name,s.data),this.events.emit("session_event",e)}),this.signer.on("accountsChanged",e=>{this.accounts=this.parseAccounts(e),this.events.emit("accountsChanged",this.accounts)}),this.signer.on("chainChanged",e=>{let t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",tx(this.chainId)),this.persist()}),this.signer.on("session_update",e=>{this.events.emit("session_update",e)}),this.signer.on("session_delete",e=>{this.reset(),this.events.emit("session_delete",e),this.events.emit("disconnect",tq(tj({},(0,n.Hjj)("USER_DISCONNECTED")),tO({data:e.topic,name:"USER_DISCONNECTED"})))}),this.signer.on("display_uri",e=>{this.events.emit("display_uri",e)})}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return"string"==typeof e&&e.startsWith(`${this.namespace}:`)}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){let t=e.filter(e=>this.isCompatibleChainId(e)).map(e=>this.parseChainId(e));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",tx(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){let t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){let[t,s,i]=e.split(":");return{chainId:`${t}:${s}`,address:i}}setAccounts(e){this.accounts=e.filter(e=>this.parseChainId(this.parseAccountId(e).chainId)===this.chainId).map(e=>this.parseAccountId(e).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,s;let i=null!=(t=e?.chains)?t:[],r=null!=(s=e?.optionalChains)?s:[],n=i.concat(r);if(!n.length)throw Error("No chains specified in either `chains` or `optionalChains`");let a=i.length?e?.methods||tP:[],o=i.length?e?.events||tE:[],c=e?.optionalMethods||[],h=e?.optionalEvents||[],l=e?.rpcMap||this.buildRpcMap(n,e.projectId),p=e?.qrModalOptions||void 0;return{chains:i?.map(e=>this.formatChainId(e)),optionalChains:r.map(e=>this.formatChainId(e)),methods:a,events:o,optionalMethods:c,optionalEvents:h,rpcMap:l,showQrModal:!!(null!=e&&e.showQrModal),qrModalOptions:p,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){let s={};return e.forEach(e=>{s[e]=this.getRpcUrl(e,t)}),s}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?tD(this.rpc.chains):tD(this.rpc.optionalChains),this.signer=await tb.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storage:e.storage,storageOptions:e.storageOptions,customStoragePrefix:e.customStoragePrefix,telemetryEnabled:e.telemetryEnabled,logger:e.logger}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let e;try{let t,s,i,r,n=await tS(),{convertWCMToAppKitOptions:a}=await Promise.resolve().then(function(){return tW}),o=a((t=tj({},this.rpc.qrModalOptions),s={chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId},tq(t,tO(s))));if(!o.networks.length)throw Error("No networks found for WalletConnect\xb7");e=n((i=tj({},o),r={universalProvider:this.signer,manualWCControl:!0},tq(i,tO(r))))}catch(e){throw console.warn(e),Error("To use QR modal, please install @reown/appkit package")}if(e)try{this.modal=e}catch(e){throw this.signer.logger.error(e),Error("Could not generate WalletConnectMod
1al Instance")}}}loadConnectOpts(e){if(!e)return;let{chains:t,optionalChains:s,rpcMap:i}=e;t&&(0,n.OP1)(t)&&(this.rpc.chains=t.map(e=>this.formatChainId(e)),t.forEach(e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)})),s&&(0,n.OP1)(s)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=s?.map(e=>this.formatChainId(e)),s.forEach(e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)}))}getRpcUrl(e,t){var s;return(null==(s=this.rpc.rpcMap)?void 0:s[e])||`https://rpc.walletconnect.org/v1/?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{let e=await this.signer.client.core.storage.getItem(`${this.STORAGE_KEY}/chainId`),t=this.session.namespaces[`${this.namespace}:${e}`]?this.session.namespaces[`${this.namespace}:${e}`]:this.session.namespaces[this.namespace];this.setChainIds(e?[this.formatChainId(e)]:t?.accounts),this.setAccounts(t?.accounts)}catch(e){this.signer.logger.error("Failed to load persisted session, clearing state..."),this.signer.logger.error(e),await this.disconnect().catch(e=>this.signer.logger.warn(e))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return"string"==typeof e||e instanceof String?[this.parseAccount(e)]:e.map(e=>this.parseAccount(e))}}let tk=tM;var tV=Object.defineProperty,tH=Object.defineProperties,tL=Object.getOwnPropertyDescriptors,tU=Object.getOwnPropertySymbols,tF=Object.prototype.hasOwnProperty,tG=Object.prototype.propertyIsEnumerable,tK=(e,t,s)=>t in e?tV(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,tB=(e,t)=>{for(var s in t||(t={}))tF.call(t,s)&&tK(e,s,t[s]);if(tU)for(var s of tU(t))tG.call(t,s)&&tK(e,s,t[s]);return e};let tz=e=>{let[t,s]=e.split(":");return tJ({id:s,caipNetworkId:e,chainNamespace:t,name:"",nativeCurrency:{name:"",symbol:"",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}})};function tJ(e){return tB({formatters:void 0,fees:void 0,serializers:void 0},e)}var tW=Object.freeze({__proto__:null,convertWCMToAppKitOptions:function(e){var t,s,i,r,n,a,o;let c=null==(t=e.chains)?void 0:t.map(tz).filter(Boolean);if(0===c.length)throw Error("At least one chain must be specified");let h=c.find(t=>{var s;return t.id===(null==(s=e.defaultChain)?void 0:s.id)}),l={projectId:e.projectId,networks:c,themeMode:e.themeMode,themeVariables:function(e){if(e)return{"--w3m-font-family":e["--wcm-font-family"],"--w3m-accent":e["--wcm-accent-color"],"--w3m-color-mix":e["--wcm-background-color"],"--w3m-z-index":e["--wcm-z-index"]?Number(e["--wcm-z-index"]):void 0,"--w3m-qr-color":e["--wcm-accent-color"],"--w3m-font-size-master":e["--wcm-text-medium-regular-size"],"--w3m-border-radius-master":e["--wcm-container-border-radius"],"--w3m-color-mix-strength":0}}(e.themeVariables),chainImages:e.chainImages,connectorImages:e.walletImages,defaultNetwork:h,metadata:tH(tB({},e.metadata),tL({name:(null==(s=e.metadata)?void 0:s.name)||"WalletConnect",description:(null==(i=e.metadata)?void 0:i.description)||"Connect to WalletConnect-compatible wallets",url:(null==(r=e.metadata)?void 0:r.url)||"https://walletconnect.org",icons:(null==(n=e.metadata)?void 0:n.icons)||["https://walletconnect.org/walletconnect-logo.png"]})),showWallets:!0,featuredWalletIds:"NONE"===e.explorerRecommendedWalletIds?[]:Array.isArray(e.explorerRecommendedWalletIds)?e.explorerRecommendedWalletIds:[],excludeWalletIds:"ALL"===e.explorerExcludedWalletIds?[]:Array.isArray(e.explorerExcludedWalletIds)?e.explorerExcludedWalletIds:[],enableEIP6963:!1,enableInjected:!1,enableCoinbase:!0,enableWalletConnect:!0,features:{email:!1,socials:!1}};if(null!=(a=e.mobileWallets)&&a.length||null!=(o=e.desktopWallets)&&o.length){let t=[...(e.mobileWallets||[]).map(e=>({id:e.id,name:e.name,links:e.links})),...(e.desktopWallets||[]).map(e=>({id:e.id,name:e.name,links:{native:e.links.native,universal:e.links.universal}}))],s=[...l.featuredWalletIds||[],...l.excludeWalletIds||[]],i=t.filter(e=>!s.includes(e.id));i.length&&(l.customWallets=i)}return l},defineChain:tJ})},78237:(e,t,s)=>{var i="u">typeof globalThis&&globalThis||"u">typeof self&&self||void 0!==s.g&&s.g,r=function(){function e(){this.fetch=!1,this.DOMException=i.DOMException}return e.prototype=i,new e}();(function(e){var t=void 0!==r&&r||"u">typeof self&&self||void 0!==s.g&&s.g||{},i={searchParams:"URLSearchParams"in t,iterable:"Symbol"in t&&"iterator"in Symbol,blob:"FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in t,arrayBuffer:"ArrayBuffer"in t};if(i.arrayBuffer)var n=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array
1]"],a=ArrayBuffer.isView||function(e){return e&&n.indexOf(Object.prototype.toString.call(e))>-1};function o(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(e)||""===e)throw TypeError('Invalid character in header field name: "'+e+'"');return e.toLowerCase()}function c(e){return"string"!=typeof e&&(e=String(e)),e}function h(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return i.iterable&&(t[Symbol.iterator]=function(){return t}),t}function l(e){this.map={},e instanceof l?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){if(2!=e.length)throw TypeError("Headers constructor: expected name/value pair to be length 2, found"+e.length);this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function p(e){if(!e._noBody){if(e.bodyUsed)return Promise.reject(TypeError("Already read"));e.bodyUsed=!0}}function d(e){return new Promise(function(t,s){e.onload=function(){t(e.result)},e.onerror=function(){s(e.error)}})}function u(e){var t=new FileReader,s=d(t);return t.readAsArrayBuffer(e),s}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(e){if(this.bodyUsed=this.bodyUsed,this._bodyInit=e,e)if("string"==typeof e)this._bodyText=e;else if(i.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(i.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(i.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else{var t;i.arrayBuffer&&i.blob&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):i.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||a(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e)}else this._noBody=!0,this._bodyText="";!this.headers.get("content-type")&&("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):i.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i.blob&&(this.blob=function(){var e=p(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(!this._bodyFormData)return Promise.resolve(new Blob([this._bodyText]));throw Error("could not read FormData body as blob")}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var e=p(this);return e||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}if(i.blob)return this.blob().then(u);throw Error("could not read as ArrayBuffer")},this.text=function(){var e,t,s,i,r,n=p(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,s=d(t=new FileReader),r=(i=/charset=([A-Za-z0-9_-]+)/.exec(e.type))?i[1]:"utf-8",t.readAsText(e,r),s;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),s=Array(t.length),i=0;i<t.length;i++)s[i]=String.fromCharCode(t[i]);return s.join("")}(this._bodyArrayBuffer));if(!this._bodyFormData)return Promise.resolve(this._bodyText);throw Error("could not read FormData body as text")},i.formData&&(this.formData=function(){return this.text().then(v)}),this.json=function(){return this.text().then(JSON.parse)},this}l.prototype.append=function(e,t){e=o(e),t=c(t);var s=this.map[e];this.map[e]=s?s+", "+t:t},l.prototype.delete=function(e){delete this.map[o(e)]},l.prototype.get=function(e){return e=o(e),this.has(e)?this.map[e]:null},l.prototype.has=function(e){return this.map.hasOwnProperty(o(e))},l.prototype.set=function(e,t){this.map[o(e)]=c(t)},l.prototype.forEach=function(e,t){for(var s in this.map)this.map.hasOwnProperty(s)&&e.call(t,this.map[s],s,this)},l.prototype.keys=function(){var e=[];return this.forEach(function(t,s){e.push(s)}),h(e)},l.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),h(e)},l.prototype.entries=function(){var e=[];return this.forEach(function(t,s){e.push([s,t])}),h(e)},i.iterable&&(l.prototype[Symbol.iterator]=l.prototype.entries);var f=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function y(e,s){if(!(this instanceof y))throw TypeError('Please use the "new" operator, this DOM object c
1onstructor cannot be called as a function.');var i,r,n=(s=s||{}).body;if(e instanceof y){if(e.bodyUsed)throw TypeError("Already read");this.url=e.url,this.credentials=e.credentials,s.headers||(this.headers=new l(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=s.credentials||this.credentials||"same-origin",(s.headers||!this.headers)&&(this.headers=new l(s.headers)),this.method=(r=(i=s.method||this.method||"GET").toUpperCase(),f.indexOf(r)>-1?r:i),this.mode=s.mode||this.mode||null,this.signal=s.signal||this.signal||function(){if("AbortController"in t)return new AbortController().signal}(),this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(n),("GET"===this.method||"HEAD"===this.method)&&("no-store"===s.cache||"no-cache"===s.cache)){var a=/([?&])_=[^&]*/;a.test(this.url)?this.url=this.url.replace(a,"$1_="+new Date().getTime()):this.url+=(/\?/.test(this.url)?"&":"?")+"_="+new Date().getTime()}}function v(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var s=e.split("="),i=s.shift().replace(/\+/g," "),r=s.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(r))}}),t}function w(e,t){if(!(this instanceof w))throw TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.status<200||this.status>599)throw RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=void 0===t.statusText?"":""+t.statusText,this.headers=new l(t.headers),this.url=t.url||"",this._initBody(e)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},m.call(y.prototype),m.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},w.error=function(){var e=new w(null,{status:200,statusText:""});return e.ok=!1,e.status=0,e.type="error",e};var b=[301,302,303,307,308];w.redirect=function(e,t){if(-1===b.indexOf(t))throw RangeError("Invalid status code");return new w(null,{status:t,headers:{location:e}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(e,t){this.message=e,this.name=t;var s=Error(e);this.stack=s.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function P(s,r){return new Promise(function(n,a){var h=new y(s,r);if(h.signal&&h.signal.aborted)return a(new e.DOMException("Aborted","AbortError"));var p=new XMLHttpRequest;function d(){p.abort()}if(p.onload=function(){var e,t,s={statusText:p.statusText,headers:(e=p.getAllResponseHeaders()||"",t=new l,e.replace(/\r?\n[\t ]+/g," ").split("\r").map(function(e){return 0===e.indexOf("\n")?e.substr(1,e.length):e}).forEach(function(e){var s=e.split(":"),i=s.shift().trim();if(i){var r=s.join(":").trim();try{t.append(i,r)}catch(e){console.warn("Response "+e.message)}}}),t)};0===h.url.indexOf("file://")&&(p.status<200||p.status>599)?s.status=200:s.status=p.status,s.url="responseURL"in p?p.responseURL:s.headers.get("X-Request-URL");var i="response"in p?p.response:p.responseText;setTimeout(function(){n(new w(i,s))},0)},p.onerror=function(){setTimeout(function(){a(TypeError("Network request failed"))},0)},p.ontimeout=function(){setTimeout(function(){a(TypeError("Network request timed out"))},0)},p.onabort=function(){setTimeout(function(){a(new e.DOMException("Aborted","AbortError"))},0)},p.open(h.method,function(e){try{return""===e&&t.location.href?t.location.href:e}catch(t){return e}}(h.url),!0),"include"===h.credentials?p.withCredentials=!0:"omit"===h.credentials&&(p.withCredentials=!1),"responseType"in p&&(i.blob?p.responseType="blob":i.arrayBuffer&&(p.responseType="arraybuffer")),r&&"object"==typeof r.headers&&!(r.headers instanceof l||t.Headers&&r.headers instanceof t.Headers)){var u=[];
vendor: 797 bytes, line 1
1Object.getOwnPropertyNames(r.headers).forEach(function(e){u.push(o(e)),p.setRequestHeader(e,c(r.headers[e]))}),h.headers.forEach(function(e,t){-1===u.indexOf(t)&&p.setRequestHeader(t,e)})}else h.headers.forEach(function(e,t){p.setRequestHeader(t,e)});h.signal&&(h.signal.addEventListener("abort",d),p.onreadystatechange=function(){4===p.readyState&&h.signal.removeEventListener("abort",d)}),p.send(void 0===h._bodyInit?null:h._bodyInit)})}P.polyfill=!0,t.fetch||(t.fetch=P,t.Headers=l,t.Request=y,t.Response=w),e.Headers=l,e.Request=y,e.Response=w,e.fetch=P,Object.defineProperty(e,"__esModule",{value:!0})})({}),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var n=i.fetch?i:r;(t=n.fetch).default=n.fetch,t.fetch=n.fetch,t.Headers=n.Headers,t.Request=n.Request,t.Response=n.Response,e.exports=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.