1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5235],{40926:function(e,t,r){"use strict";function i(){return(null===r.g||void 0===r.g?void 0:r.g.crypto)||(null===r.g||void 0===r.g?void 0:r.g.msCrypto)||{}}function s(){let e=i();return e.subtle||e.webkitSubtle}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowserCryptoAvailable=t.getSubtleCrypto=t.getBrowerCrypto=void 0,t.getBrowerCrypto=i,t.getSubtleCrypto=s,t.isBrowserCryptoAvailable=function(){return!!i()&&!!s()}},88618:function(e,t,r){"use strict";var i=r(34155);function s(){return"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product}function n(){return void 0!==i&&void 0!==i.versions&&void 0!==i.versions.node}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowser=t.isNode=t.isReactNative=void 0,t.isReactNative=s,t.isNode=n,t.isBrowser=function(){return!s()&&!n()}},1468:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(70655);i.__exportStar(r(40926),t),i.__exportStar(r(88618),t)},55235:function(e,t,r){"use strict";r.d(t,{EthereumProvider:function(){return hL}});var i=r(17187),s=r.n(i),n=r(43631),o=r(66736),a=r(62873),c=r(65755);let l="2.23.2",h={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${l}`};class u extends Error{constructor(e,t={}){let r=t.cause instanceof u?t.cause.details:t.cause?.message?t.cause.message:t.details,i=t.cause instanceof u&&t.cause.docsPath||t.docsPath,s=h.getDocsUrl?.({...t,docsPath:i}),n=[e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...s?[`Docs: ${s}`]:[],...r?[`Details: ${r}`]:[],...h.version?[`Version: ${h.version}`]:[]].join("\n");super(n,t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=r,this.docsPath=i,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=l}walk(e){return function e(t,r){return r?.(t)?t:t&&"object"==typeof t&&"cause"in t&&void 0!==t.cause?e(t.cause,r):r?null:t}(this,e)}}function d(e,{strict:t=!0}={}){return!!e&&"string"==typeof e&&(t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x"))}class p extends u{constructor({size:e,targetSize:t,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}}function f(e,{dir:t,size:r=32}={}){return"string"==typeof e?function(e,{dir:t,size:r=32}={}){if(null===r)return e;let i=e.replace("0x","");if(i.length>2*r)throw new p({size:Math.ceil(i.length/2),targetSize:r,type:"hex"});return`0x${i["right"===t?"padEnd":"padStart"](2*r,"0")}`}(e,{dir:t,size:r}):function(e,{dir:t,size:r=32}={}){if(null===r)return e;if(e.length>r)throw new p({size:e.length,targetSize:r,type:"bytes"});let i=new Uint8Array(r);for(let s=0;s<r;s++){let n="right"===t;i[n?s:r-s-1]=e[n?s:e.length-s-1]}return i}(e,{dir:t,size:r})}class g extends u{constructor({max:e,min:t,signed:r,size:i,value:s}){super(`Number "${s}" is not in safe ${i?`${8*i}-bit ${r?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}}class y extends u{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function m(e){return d(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function b(e,{size:t}){if(m(e)>t)throw new y({givenSize:m(e),maxSize:t})}function w(e,t={}){let{signed:r}=t;t.size&&b(e,{size:t.size});let i=BigInt(e);if(!r)return i;let s=(e.length-2)/2,n=(1n<<8n*BigInt(s)-1n)-1n;return i<=n?i:i-BigInt(`0x${"f".padStart(2*s,"f")}`)-1n}let v=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function E(e,t={}){return"number"==typeof e||"bigint"==typeof e?_(e,t):"string"==typeof e?function(e,t={}){let r=D.encode(e);return I(r,t)}(e,t):"boolean"==typeof e?function(e,t={}){let r=`0x${Number(e)}`;return"number"==typeof t.size?(b(r,{size:t.size}),f(r,{size:t.size})):r}(e,t):I(e,t)}function I(e,t={}){let r="";for(let t=0;t<e.length;t++)r+=v[e[t]];let i=`0x${r}`;return"number"==typeof t.size?(b(i,{size:t.size}),f(i,{dir:"right",size:t.size})):i}function _(e,t={}){let r;let{signed:i,size:s}=t,n=BigInt(e);s?r=i?(1n<<8n*BigInt(s)-1n)-1n:2n**(8n*BigInt(s))-1n:"number"==typeof e&&(r=BigInt(Number.MAX_SAFE_INTEGER));let o="bigint"==typeof r&&i?-r-1n:0;if(r&&n>r||n<o){let t="bigint"==typeof e?"n":"";throw new g({max:r?`${r}${t}`:void 0,min:`${o}${t}`,signed:i,size:s,value:`${e}${t}`})}let a=`0x${(i&&n<0?(1n<<BigInt(8*s))+BigInt(n):n).toString(16)}`;return s?f(a,{size:s}):a}let D=new TextEncoder,P=new TextEncoder,S={zero:48,nine:57,A:65,F:70,a:97,f:102};function O(e){return e>=S.zero&&e<=S.nine?e-S.zero:e>=S.A&&e<=S.F?e-(S.A-10):e>=S.a&&e<=S.f?e-(S.a-10):void 0}function x(e,t={}){let r=e;t.size&&(b(r,{size:t.size}),r=f(r,{dir:"right",size:t.size}));let i=r.slice(2);i.length%2&&(i=`0${i}`);let s=i.length/2,n=new Uint8Array(s);for(let e=0,t=0;e<s;e++){let r=O(i.charCodeAt(t++)),s=O(i.charCodeAt(t++));if(void 0===r||void 0===s)throw new u(`Invalid byte sequence ("${i[t-2]}${i[t-1]}" in "${i}").`);n[e]=16*r+s}return n}function A(e,t={}){let r=P.encode(e);return"number"==typeof t.size?(b(r,{size:t.size}),f(r,{dir:"right",size:t.size})):r}var C=r(12518);let R=BigInt(4294967296-1),N=BigInt(32),T=(e,t,r)=>e<<r|t>>>32-r,j=(e,t,r)=>t<<r|e>>>32-r,U=(e,t,r)=>t<<r-32|e>>>64-r,L=(e,t,r)=>e<<r-32|t>>>64-r;var k=r(91220);let q=[],B=[],$=[],M=BigInt(0),z=BigInt(1),F=BigInt(2),H=BigInt(7),V=BigInt(256),K=BigInt(113);for(let e=0,t=z,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],q.push(2*(5*i+r)),B.push((e+1)*(e+2)/2%64);let s=M;for(let e=0;e<7;e++)(t=(t<<z^(t>>H)*K)%V)&F&&(s^=z<<(z<<BigInt(e))-z);$.push(s)}let[J,W]=function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:o}=function(e,t=!1){return t?{h:Number(e&R),l:Number(e>>N&R)}:{h:0|Number(e>>N&R),l:0|Number(e&R)}}(e[s],t);[r[s],i[s]]=[n,o]}return[r,i]}($,!0),G=(e,t,r)=>r>32?U(e,t,r):T(e,t,r),Y=(e,t,r)=>r>32?L(e,t,r):j(e,t,r);class Z extends k.kb{constructor(e,t,r,i=!1,s=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,C.k8)(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,k.Jq)(this.state)}
1keccak(){k.iA||(0,k.l1)(this.state32),function(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let i=(t+8)%10,s=(t+2)%10,n=r[s],o=r[s+1],a=G(n,o,1)^r[i],c=Y(n,o,1)^r[i+1];for(let r=0;r<50;r+=10)e[t+r]^=a,e[t+r+1]^=c}let t=e[2],s=e[3];for(let r=0;r<24;r++){let i=B[r],n=G(t,s,i),o=Y(t,s,i),a=q[r];t=e[a],s=e[a+1],e[a]=n,e[a+1]=o}for(let t=0;t<50;t+=10){for(let i=0;i<10;i++)r[i]=e[t+i];for(let i=0;i<10;i++)e[t+i]^=~r[(i+2)%10]&r[(i+4)%10]}e[0]^=J[i],e[1]^=W[i]}r.fill(0)}(this.state32,this.rounds),k.iA||(0,k.l1)(this.state32),this.posOut=0,this.pos=0}update(e){(0,C.$h)(this);let{blockLen:t,state:r}=this;e=(0,k.O0)(e);let i=e.length;for(let s=0;s<i;){let n=Math.min(t-this.pos,i-s);for(let t=0;t<n;t++)r[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:i}=this;e[r]^=t,(128&t)!=0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){(0,C.$h)(this,!1),(0,C.gk)(e),this.finish();let t=this.state,{blockLen:r}=this;for(let i=0,s=e.length;i<s;){this.posOut>=r&&this.keccak();let n=Math.min(r-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+n),i),this.posOut+=n,i+=n}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return(0,C.k8)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,C.eB)(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:i,rounds:s,enableXOF:n}=this;return e||(e=new Z(t,r,i,n,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=i,e.enableXOF=n,e.destroyed=this.destroyed,e}}let Q=(0,k.hE)(()=>new Z(136,1,32));function X(e,t){let r=Q(d(e,{strict:!1})?function(e,t={}){return"number"==typeof e||"bigint"==typeof e?function(e,t){let r=_(e,t);return x(r)}(e,t):"boolean"==typeof e?function(e,t={}){let r=new Uint8Array(1);return(r[0]=Number(e),"number"==typeof t.size)?(b(r,{size:t.size}),f(r,{size:t.size})):r}(e,t):d(e)?x(e,t):A(e,t)}(e):e);return"bytes"===(t||"hex")?r:E(r)}class ee extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){let t=super.get(e);return super.has(e)&&void 0!==t&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){let e=this.keys().next().value;e&&this.delete(e)}return this}}let et=new ee(8192);async function er({hash:e,signature:t}){let i=d(e)?e:E(e),{secp256k1:s}=await r.e(6709).then(r.bind(r,6709)),n=(()=>{if("object"==typeof t&&"r"in t&&"s"in t){let{r:e,s:r,v:i,yParity:n}=t,o=Number(n??i),a=ei(o);return new s.Signature(w(e),w(r)).addRecoveryBit(a)}let e=d(t)?t:E(t),r=function(e,t={}){return Number(w(e,t))}(`0x${e.slice(130)}`),i=ei(r);return s.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(i)})(),o=n.recoverPublicKey(i.substring(2)).toHex(!1);return`0x${o}`}function ei(e){if(0===e||1===e)return e;if(27===e)return 0;if(28===e)return 1;throw Error("Invalid yParityOrV value")}async function es({hash:e,signature:t}){return function(e){let t=X(`0x${e.substring(4)}`).substring(26);return function(e,t){if(et.has(`${e}.${t}`))return et.get(`${e}.${t}`);let r=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),i=X(A(r),"bytes"),s=(t?r.substring(`${t}0x`.length):r).split("");for(let e=0;e<40;e+=2)i[e>>1]>>4>=8&&s[e]&&(s[e]=s[e].toUpperCase()),(15&i[e>>1])>=8&&s[e+1]&&(s[e+1]=s[e+1].toUpperCase());let n=`0x${s.join("")}`;return et.set(`${e}.${t}`,n),n}(`0x${t}`)}(await er({hash:e,signature:t}))}var en=r(39578),eo=r(49392),ea=r(69391),ec=r(37968),el=r(34155),eh=r(48764).Buffer;function eu(e){let[t,r]=e.split(":");return{namespace:t,reference:r}}function ed(e,t=[]){let r=[];return Object.keys(e).forEach(i=>
1{if(t.length&&!t.includes(i))return;let s=e[i];r.push(...s.accounts)}),r}function ep(e,t){return e.includes(":")?[e]:t.chains||[]}var ef=Object.defineProperty,eg=Object.defineProperties,ey=Object.getOwnPropertyDescriptors,em=Object.getOwnPropertySymbols,eb=Object.prototype.hasOwnProperty,ew=Object.prototype.propertyIsEnumerable,ev=(e,t,r)=>t in e?ef(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,eE=(e,t)=>{for(var r in t||(t={}))eb.call(t,r)&&ev(e,r,t[r]);if(em)for(var r of em(t))ew.call(t,r)&&ev(e,r,t[r]);return e},eI=(e,t)=>eg(e,ey(t));let e_={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"};function eD(){return"u">typeof el&&"u">typeof el.versions&&"u">typeof el.versions.node}function eP(){return!(0,a.getDocument)()&&!!(0,a.getNavigator)()&&"ReactNative"===navigator.product}function eS(){return!eD()&&!!(0,a.getNavigator)()&&!!(0,a.getDocument)()}function eO(){return eP()?e_.reactNative:eD()?e_.node:eS()?e_.browser:e_.unknown}function ex(){var e;try{return eP()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Application)?null==(e=r.g.Application)?void 0:e.applicationId:void 0}catch{return}}function eA(){return(0,c.D)()||{name:"",description:"",url:"",icons:[""]}}function eC(e,t,i){let s=function(){if(eO()===e_.reactNative&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)){let{OS:e,Version:t}=r.g.Platform;return[e,t].join("-")}let e=(0,n.qY)();if(null===e)return"unknown";let t=e.os?e.os.replace(" ","").toLowerCase():"unknown";return"browser"===e.type?[t,e.name,e.version].join("-"):[t,e.version].join("-")}(),o=function(){var e;let t=eO();return t===e_.browser?[t,(null==(e=(0,a.getLocation)())?void 0:e.host)||"unknown"].join(":"):t}();return[[e,t].join("-"),["js",i].join("-"),s,o].join("/")}function eR(e,t){return e.filter(e=>t.includes(e)).length===e.length}function eN(e){return Object.fromEntries(e.entries())}function eT(e){return new Map(Object.entries(e))}function ej(e=o.FIVE_MINUTES,t){let r,i,s,n;let a=(0,o.toMiliseconds)(e||o.FIVE_MINUTES);return{resolve:e=>{s&&r&&(clearTimeout(s),r(e),n=Promise.resolve(e))},reject:e=>{s&&i&&(clearTimeout(s),i(e))},done:()=>new Promise((e,o)=>{if(n)return e(n);s=setTimeout(()=>{let e=Error(t);n=Promise.reject(e),o(e)},a),r=e,i=o})}}function eU(e,t,r){return new Promise(async(i,s)=>{let n=setTimeout(()=>s(Error(r)),t);try{let t=await e;i(t)}catch(e){s(e)}clearTimeout(n)})}function eL(e,t){if("string"==typeof t&&t.startsWith(`${e}:`))return t;if("topic"===e.toLowerCase()){if("string"!=typeof t)throw Error('Value must be "string" for expirer target type: topic');return`topic:${t}`}if("id"===e.toLowerCase()){if("number"!=typeof t)throw Error('Value must be "number" for expirer target type: id');return`id:${t}`}throw Error(`Unknown expirer target type: ${e}`)}function ek(e){let[t,r]=e.split(":"),i={id:void 0,topic:void 0};if("topic"===t&&"string"==typeof r)i.topic=r;else if("id"===t&&Number.isInteger(Number(r)))i.id=Number(r);else throw Error(`Invalid target, expected id:number or topic:string, got ${t}:${r}`);return i}function eq(e,t){return(0,o.fromMiliseconds)((t||Date.now())+(0,o.toMiliseconds)(e))}function eB(e){return Date.now()>=(0,o.toMiliseconds)(e)}function e$(e,t){return`${e}${t?`:${t}`:""}`}function eM(e=[],t=[]){return[...new Set([...e,...t])]}async function ez({id:e,topic:t,wcDeepLink:i}){var s;try{if(!i)return;let n="string"==typeof i?JSON.parse(i):i,o=n?.href;if("string"!=typeof o)return;let c=function(e,t,r){let i=`requestId=${t}&sessionTopic=${r}`;e.endsWith("/")&&(e=e.slice(0,-1));let s=`${e}`;if(e.startsWith("https://t.me")){let t=e.includes("?")?"&startapp=":"?startapp=";s=`${s}${t}${function(e,t=!1){let r=eh.from(e).toString("base64");return t?r.replace(/[=]/g,""):r}(i,!0)}`}else s=`${s}/wc?${i}`;return s}(o,e,t),l=eO();if(l===e_.browser){let e;if(!(null!=(s=(0,a.getDocument)())&&s.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}e="_self",function(){try{return window.self!==window.top}catch{return!1}}()?e="_top":("u">typeof window&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)||c.startsWith("https://")||c.startsWith("http://"))&&(e="_blank"),window.open(c,e,"noreferrer noopener")}else l===e_.reactNative&&"u">typeof(null==r.g?void 0:r.g.Linking)&&await r.g.Linking.openURL(c)}catch(e){console.error(e)}}async function eF(e,t){let r="";try{if(eS()&&(r=localStorage.getItem(t)))return r;r=await e.getItem(t)}catch(e){console.error(e)}return r}function eH(e,t){if(!e.includes(t))return null;let r=e.split(/([&,?,=])/),i=r.indexOf(t);return r[i+2]}function eV(){return"u">typeof crypto&&null!=crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function eK(){return"u">typeof el&&"true"===el.env.IS_VITEST}function eJ(e){return eh.from(e,"base64").toString("utf-8")}function eW(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function eG(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function eY(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");eW(e.outputLen),eW(e.blockLen)}function eZ(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function eQ(e,t){eG(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}let eX=BigInt(4294967296-1),e0=BigInt(32),e1=(e,t,r)=>e<<r|t>>>32-r,e2=(e,t,r)=>t<<r|e>>>32-r,e8=(e,t,r)=>t<<r-32|e>>>64-r,e3=(e,t,r)=>e<<r-32|t>>>64-r,e5="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;function e6(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function e4(e,t){return e<<32-t|e>>>t}let e9=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function e7(e){for(let r=0;r<e.length;r++){var t;e[r]=(t=e[r])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}}function te(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),eG(e),e}class tt{clone(){return this._cloneInto()}}function tr(e){let t=t=>e().update(te(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function ti(e=32){if(e5&&"function"==typeof e5.getRandomValues)return e5.getRandomValues(new Uint8Array(e));if(e5&&"function"==typeof e5.randomBytes)return e5.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}let ts=[],tn=[],to=[],ta=BigInt(0),tc=BigInt(1),tl=BigInt(2),th=BigInt(7),tu=BigInt(256),td=BigInt(113);for(let e=0,t=tc,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],ts.push(2*(5*i+r)),tn.push((e+1)*(e+2)/2%64);let s=ta;for(let e=0;e<7;e++)(t=(t<<tc^(t>>th)*td)%tu)&tl&&(s^=tc<<(tc<<BigInt(e))-tc);to.push(s)}let[tp,tf]=function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:o}=function(e,t=!1){return t?{h:Number(e&eX),l:Number(e>>e0&eX)}:{h:0|Number(e>>e0&eX),l:0|Number(e&eX)}}(e[s],t);[r[s],i[s]]=[n,o]}return[r,i]}(to,!0),tg=(e,t,r)=>r>32?e8(e,t,r):e1(e,t,r),ty=(e,t,r)=>r>32?e3(e,t,r):e2(e,t,r);class tm extends tt{constructor(e,t,r,i=!1,s=24){var n;if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=s,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,eW(r),0>=this.blockLen||this.blockLen>=200)throw Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(n=this.state,new Uint32Array(n.buffer,n.byteOffset,Math.floor(n.byteLength/4)))}keccak(){e9||e7(this.state32),function(e,t=24){let r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let i=(t+8)%10,s=(t+2)%10,n=r[s],o=r[s+1],a=tg(n,o,1)^r[i],c=ty(n,o,1)^r[i+1];for(let r=0;r<50;r+=10)e[t+r]^=a,e[t+r+1]^=c}let t=e[2],s=e[3];for(let r=0;r<24;r++){let i=tn[r],n=tg(t,s,i),o=ty(t,s,i),a=ts[r];t=e[a],s=e[a+1],e[a]=n,e[a+1]=o}for(let t=0;t<50;t+=10){for(let i=0;i<10;i++)r[i]=e[t+i];for(let i=0;i<10;i++)e[t+i]^=~r[(i+2)%10]&r[(i+4)%10]}e[0]^=tp[i],e[1]^=tf[i]}r.fill(0)}(this.state32,this.rounds),e9||e7(this.state32),this.posOut=0,this.pos=0}update(e){eZ(this);let{blockLen:t,state:r}=this;e=te(e);let i=e.length;for(let s=0;s<i;){let n=Math.min(t-this.pos,i-s);for(let t=0;t<n;t++)r[this.pos++]^=e[s++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:r,blockLen:i}=this;e[r]^=t,(128&t)!=0&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){eZ(this,!1),eG(e),this.finish();let t=this.state,{blockLen:r}=this;for(let i=0,s=e.length;i<s;){this.posOut>=r&&this.keccak();let n=Math.min(r-this.posOut,s-i);e.set(t.subarray(this.posOut,this.posOut+n),i),this.posOut+=n,i+=n}return e}xofInto(e){if(!this.enableXOF)throw Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return eW(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(eQ(e,this),this.finished)throw Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){let{blockLen:t,suffix:r,outputLen:i,rounds:s,enableXOF:n}=this;return e||(e=new tm(t,r,i,n,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=i,e.enableXOF=n,e.destroyed=this.destroyed,e}}let tb=tr(()=>new tm(136,1,32));function tw(e){let t=`�Ethereum Signed Message: 2${e.length}`,r=new TextEncoder().encode(t+e);return"0x"+eh.from(tb(r)).toString("hex")}async function tv(e,t,r,i,s,n){switch(r.t){case"eip191":return await tE(e,t,r.s);case"eip1271":return await tI(e,t,r.s,i,s,n);default:throw Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${r.t}`)}}async function tE(e,t,r){return(await es({hash:tw(t),signature:r})).toLowerCase()===e.toLowerCase()}async function tI(e,t,r,i,s,n){let o=eu(i);if(!o.namespace||!o.reference)throw Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${i}`);try{let o="0x1626ba7e",a=r.substring(2),c=tw(t).substring(2),l=await fetch(`${n||"https://rpc.walletconnect.org/v1"}/?chainId=${i}&projectId=${s}`,{method:"POST",body:JSON.stringify({id:Date.now()+Math.floor(1e3*Math.random()),jsonrpc:"2.0",method:"eth_call",params:[{to:e,data:o+c+"00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041"+a},"latest"]})}),{result:h}=await l.json();return!!h&&h.slice(0,o.length).toLowerCase()===o.toLowerCase()}catch(e){return console.error("isValidEip1271Signature: ",e),!1}}var t_=Object.defineProperty,tD=Object.defineProperties,tP=Object.getOwnPropertyDescriptors,tS=Object.getOwnPropertySymbols,tO=Object.prototype.hasOwnProperty,tx=Object.prototype.propertyIsEnumerable,tA=(e,t,r)=>t in e?t_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tC=(e,t)=>{for(var r in t||(t={}))tO.call(t,r)&&tA(e,r,t[r]);if(tS)for(var r of tS(t))tx.call(t,r)&&tA(e,r,t[r]);return e},tR=(e,t)=>tD(e,tP(t));let tN=e=>e?.split(":"),tT=e=>{let t=e&&tN(e);if(t)return e.includes("did:pkh:")?t[3]:t[1]},tj=e=>{let t=e&&tN(e);if(t)return t[2]+":"+t[3]},tU=e=>{let t=e&&tN(e);if(t)return t.pop()};async function tL(e){let{cacao:t,projectId:r}=e,{s:i,p:s}=t,n=tk(s,s.iss),o=tU(s.iss);return await tv(o,n,i,tj(s.iss),r)}let tk=(e,t)=>{let r=`${e.domain} wants you to sign in with your Ethereum account:`,i=tU(t);if(!e.aud&&!e.uri)throw Error("Either `aud` or `uri` is required to construct the message");let s=e.statement||void 0,n=`URI: ${e.aud||e.uri}
2`,o=`Version: ${e.version}`,a=`Chain ID: ${tT(t)}`,c=`Nonce: ${e.nonce}`,l=`Issued At: ${e.iat}`,h=e.exp?`Expiration Time: ${e.exp}`:void 0,u=e.nbf?`Not Before: ${e.nbf}`:void 0,d=e.requestId?`Request ID: ${e.requestId}`:void 0,p=e.resources?`Resources:${e.resources.map(e=>` 3- ${e}`).join("")}`:void 0,f=tF(e.resources);if(f){let e=t$(f);s=function(e="",t){tq(t);let r="I further authorize the stated URI to perform the following actions on my behalf: ";if(e.includes(r))return e;let i=[],s=0;Object.keys(t.att).forEach(e=>{let r=Object.keys(t.att[e]).map(e=>({ability:e.split("/")[0],action:e.split("/")[1]}));r.sort((e,t)=>e.action.localeCompare(t.action));let n={};r.forEach(e=>{n[e.ability]||(n[e.ability]=[]),n[e.ability].push(e.action)});let o=Object.keys(n).map(t=>(s++,`(${s}) '${t}': '${n[t].join("', '")}' for '${e}'.`));i.push(o.join(", ").replace(".,","."))});let n=i.join(" "),o=`${r}${n}`;return`${e?e+" ":""}${o}`}(s,e)}return[r,i,"",s,"",n,o,a,c,l,h,u,d,p].filter(e=>null!=e).join(` 4`)};function tq(e){if(!e)throw Error("No recap provided, value is undefined");if(!e.att)throw Error("No `att` property found");let t=Object.keys(e.att);if(!(null!=t&&t.length))throw Error("No resources found in `att` property");t.forEach(t=>{let r=e.att[t];if(Array.isArray(r)||"object"!=typeof r)throw Error(`Resource must be an object: ${t}`);if(!Object.keys(r).length)throw Error(`Resource object is empty: ${t}`);Object.keys(r).forEach(e=>{let t=r[e];if(!Array.isArray(t))throw Error(`Ability limits ${e} must be an array of objects, found: ${t}`);if(!t.length)throw Error(`Value of ${e} is empty array, must be an array with objects`);t.forEach(t=>{if("object"!=typeof t)throw Error(`Ability limits (${e}) must be an array of objects, found: ${t}`)})})})}function tB(e){return tq(e),`urn:recap:${eh.from(JSON.stringify(e)).toString("base64").replace(/=/g,"")}`}function t$(e){var t;let r=(t=e.replace("urn:recap:",""),JSON.parse(eh.from(t,"base64").toString("utf-8")));return tq(r),r}function tM(e){var t;let r=t$(e);tq(r);let i=null==(t=r.att)?void 0:t.eip155;return i?Object.keys(i).map(e=>e.split("/")[1]):[]}function tz(e){let t=t$(e);tq(t);let r=[];return Object.values(t.att).forEach(e=>{Object.values(e).forEach(e=>{var t;null!=(t=e?.[0])&&t.chains&&r.push(e[0].chains)})}),[...new Set(r.flat())]}function tF(e){if(!e)return;let t=e?.[e.length-1];return t&&t.includes("urn:recap:")?t:void 0}function tH(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function tV(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function tK(e,...t){if(!tV(e))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function tJ(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function tW(e){if("boolean"!=typeof e)throw Error(`boolean expected, not ${e}`)}let tG=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4)),tY=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),tZ=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];if(!tZ)throw Error("Non little-endian hardware is not supported");function tQ(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))}(e);else if(tV(e))e=t1(e);else throw Error("Uint8Array expected, got "+typeof e);return e}function tX(e,t,r=!0){if(void 0===t)return new Uint8Array(e);if(t.length!==e)throw Error("invalid output length, expected "+e+", got: "+t.length);if(r&&t.byteOffset%4!=0)throw Error("invalid output, must be aligned");return t}function t0(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let s=BigInt(32),n=BigInt(4294967295),o=Number(r>>s&n),a=Number(r&n),c=i?4:0,l=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+l,a,i)}function t1(e){return Uint8Array.from(e)}function t2(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}let t8=e=>Uint8Array.from(e.split("").map(e=>
4e.charCodeAt(0))),t3=t8("expand 16-byte k"),t5=t8("expand 32-byte k"),t6=tG(t3),t4=tG(t5);function t9(e,t){return e<<t|e>>>32-t}function t7(e){return e.byteOffset%4==0}let re=4294967296-1,rt=new Uint32Array,rr=(e,t)=>255&e[t++]|(255&e[t++])<<8;class ri{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,tK(e=tQ(e),32);let t=rr(e,0),r=rr(e,2),i=rr(e,4),s=rr(e,6),n=rr(e,8),o=rr(e,10),a=rr(e,12),c=rr(e,14);this.r[0]=8191&t,this.r[1]=(t>>>13|r<<3)&8191,this.r[2]=(r>>>10|i<<6)&7939,this.r[3]=(i>>>7|s<<9)&8191,this.r[4]=(s>>>4|n<<12)&255,this.r[5]=n>>>1&8190,this.r[6]=(n>>>14|o<<2)&8191,this.r[7]=(o>>>11|a<<5)&8065,this.r[8]=(a>>>8|c<<8)&8191,this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=rr(e,16+2*t)}process(e,t,r=!1){let{h:i,r:s}=this,n=s[0],o=s[1],a=s[2],c=s[3],l=s[4],h=s[5],u=s[6],d=s[7],p=s[8],f=s[9],g=rr(e,t+0),y=rr(e,t+2),m=rr(e,t+4),b=rr(e,t+6),w=rr(e,t+8),v=rr(e,t+10),E=rr(e,t+12),I=rr(e,t+14),_=i[0]+(8191&g),D=i[1]+((g>>>13|y<<3)&8191),P=i[2]+((y>>>10|m<<6)&8191),S=i[3]+((m>>>7|b<<9)&8191),O=i[4]+((b>>>4|w<<12)&8191),x=i[5]+(w>>>1&8191),A=i[6]+((w>>>14|v<<2)&8191),C=i[7]+((v>>>11|E<<5)&8191),R=i[8]+((E>>>8|I<<8)&8191),N=i[9]+(I>>>5|(r?0:2048)),T=0,j=0+_*n+D*(5*f)+P*(5*p)+S*(5*d)+O*(5*u);T=j>>>13,j&=8191,j+=x*(5*h)+A*(5*l)+C*(5*c)+R*(5*a)+N*(5*o),T+=j>>>13,j&=8191;let U=T+_*o+D*n+P*(5*f)+S*(5*p)+O*(5*d);T=U>>>13,U&=8191,U+=x*(5*u)+A*(5*h)+C*(5*l)+R*(5*c)+N*(5*a),T+=U>>>13,U&=8191;let L=T+_*a+D*o+P*n+S*(5*f)+O*(5*p);T=L>>>13,L&=8191,L+=x*(5*d)+A*(5*u)+C*(5*h)+R*(5*l)+N*(5*c),T+=L>>>13,L&=8191;let k=T+_*c+D*a+P*o+S*n+O*(5*f);T=k>>>13,k&=8191,k+=x*(5*p)+A*(5*d)+C*(5*u)+R*(5*h)+N*(5*l),T+=k>>>13,k&=8191;let q=T+_*l+D*c+P*a+S*o+O*n;T=q>>>13,q&=8191,q+=x*(5*f)+A*(5*p)+C*(5*d)+R*(5*u)+N*(5*h),T+=q>>>13,q&=8191;let B=T+_*h+D*l+P*c+S*a+O*o;T=B>>>13,B&=8191,B+=x*n+A*(5*f)+C*(5*p)+R*(5*d)+N*(5*u),T+=B>>>13,B&=8191;let $=T+_*u+D*h+P*l+S*c+O*a;T=$>>>13,$&=8191,$+=x*o+A*n+C*(5*f)+R*(5*p)+N*(5*d),T+=$>>>13,$&=8191;let M=T+_*d+D*u+P*h+S*l+O*c;T=M>>>13,M&=8191,M+=x*a+A*o+C*n+R*(5*f)+N*(5*p),T+=M>>>13,M&=8191;let z=T+_*p+D*d+P*u+S*h+O*l;T=z>>>13,z&=8191,z+=x*c+A*a+C*o+R*n+N*(5*f),T+=z>>>13,z&=8191;let F=T+_*f+D*p+P*d+S*u+O*h;T=F>>>13,F&=8191,F+=x*l+A*c+C*a+R*o+N*n,T+=F>>>13,F&=8191,j=8191&(T=(T=(T<<2)+T|0)+j|0),T>>>=13,U+=T,i[0]=j,i[1]=U,i[2]=L,i[3]=k,i[4]=q,i[5]=B,i[6]=$,i[7]=M,i[8]=z,i[9]=F}finalize(){let{h:e,pad:t}=this,r=new Uint16Array(10),i=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=i,i=e[t]>>>13,e[t]&=8191;e[0]+=5*i,i=e[0]>>>13,e[0]&=8191,e[1]+=i,i=e[1]>>>13,e[1]&=8191,e[2]+=i,r[0]=e[0]+5,i=r[0]>>>13,r[0]&=8191;for(let t=1;t<10;t++)r[t]=e[t]+i,i=r[t]>>>13,r[t]&=8191;r[9]-=8192;let s=(1^i)-1;for(let e=0;e<10;e++)r[e]&=s;s=~s;for(let t=0;t<10;t++)e[t]=e[t]&s|r[t];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let n=e[0]+t[0];e[0]=65535&n;for(let r=1;r<8;r++)n=(e[r]+t[r]|0)+(n>>>16)|0,e[r]=65535&n;t2(r)}update(e){tJ(this);let{buffer:t,blockLen:r}=this;e=tQ(e);let i=e.length;for(let s=0;s<i;){let n=Math.min(r-this.pos,i-s);if(n===r){for(;r<=i-s;s+=r)this.process(e,s);continue}t.set(e.subarray(s,s+n),this.pos),this.pos+=n,s+=n,this.pos===r&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){t2(this.h,this.r,this.buffer,this.pad)}digestInto(e){tJ(this),function(e,t){tK(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}(e,this),this.finished=!0;let{buffer:t,h:r}=this,{pos:i}=this;if(i){for(t[i++]=1;i<16;i++)t[i]=0;this.process(t,0,!0)}this.finalize();let s=0;for(let t=0;t<8;t++)e[s++]=r[t]>>>0,e[s++]=r[t]>>>8;return e}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}}let rs=function(e){let t=(t,r)=>e(r).update(tQ(t)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}(e=>
4new ri(e)),rn=function(e,t){let{allowShortKeys:r,extendNonceFn:i,counterLength:s,counterRight:n,rounds:o}=function(e,t){if(null==t||"object"!=typeof t)throw Error("options must be defined");return Object.assign(e,t)}({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if("function"!=typeof e)throw Error("core must be a function");return tH(s),tH(o),tW(n),tW(r),(t,a,c,l,h=0)=>{tK(t),tK(a),tK(c);let u=c.length;if(void 0===l&&(l=new Uint8Array(u)),tK(l),tH(h),h<0||h>=re)throw Error("arx: counter overflow");if(l.length<u)throw Error(`arx: output (${l.length}) is shorter than data (${u})`);let d=[],p=t.length,f,g;if(32===p)d.push(f=t1(t)),g=t4;else if(16===p&&r)(f=new Uint8Array(32)).set(t),f.set(t,16),g=t6,d.push(f);else throw Error(`arx: invalid 32-byte key, got length=${p}`);t7(a)||d.push(a=t1(a));let y=tG(f);if(i){if(24!==a.length)throw Error("arx: extended nonce must be 24 bytes");i(g,y,tG(a.subarray(0,16)),y),a=a.subarray(16)}let m=16-s;if(m!==a.length)throw Error(`arx: nonce must be ${m} or 16 bytes`);if(12!==m){let e=new Uint8Array(12);e.set(a,n?0:12-a.length),a=e,d.push(a)}let b=tG(a);return function(e,t,r,i,s,n,o,a){let c=s.length,l=new Uint8Array(64),h=tG(l),u=t7(s)&&t7(n),d=u?tG(s):rt,p=u?tG(n):rt;for(let f=0;f<c;o++){if(e(t,r,i,h,o,a),o>=re)throw Error("arx: counter overflow");let g=Math.min(64,c-f);if(u&&64===g){let e=f/4;if(f%4!=0)throw Error("arx: invalid block position");for(let t=0,r;t<16;t++)p[r=e+t]=d[r]^h[t];f+=64;continue}for(let e=0,t;e<g;e++)n[t=f+e]=s[t]^l[e];f+=g}}(e,g,y,b,c,l,h,o),t2(...d),l}}(function(e,t,r,i,s,n=20){let o=e[0],a=e[1],c=e[2],l=e[3],h=t[0],u=t[1],d=t[2],p=t[3],f=t[4],g=t[5],y=t[6],m=t[7],b=r[0],w=r[1],v=r[2],E=o,I=a,_=c,D=l,P=h,S=u,O=d,x=p,A=f,C=g,R=y,N=m,T=s,j=b,U=w,L=v;for(let e=0;e<n;e+=2)A=A+(T=t9(T^(E=E+P|0),16))|0,E=E+(P=t9(P^A,12))|0,A=A+(T=t9(T^E,8))|0,P=t9(P^A,7),C=C+(j=t9(j^(I=I+S|0),16))|0,I=I+(S=t9(S^C,12))|0,C=C+(j=t9(j^I,8))|0,S=t9(S^C,7),R=R+(U=t9(U^(_=_+O|0),16))|0,_=_+(O=t9(O^R,12))|0,R=R+(U=t9(U^_,8))|0,O=t9(O^R,7),N=N+(L=t9(L^(D=D+x|0),16))|0,D=D+(x=t9(x^N,12))|0,N=N+(L=t9(L^D,8))|0,x=t9(x^N,7),R=R+(L=t9(L^(E=E+S|0),16))|0,E=E+(S=t9(S^R,12))|0,R=R+(L=t9(L^E,8))|0,S=t9(S^R,7),N=N+(T=t9(T^(I=I+O|0),16))|0,I=I+(O=t9(O^N,12))|0,N=N+(T=t9(T^I,8))|0,O=t9(O^N,7),A=A+(j=t9(j^(_=_+x|0),16))|0,_=_+(x=t9(x^A,12))|0,A=A+(j=t9(j^_,8))|0,x=t9(x^A,7),C=C+(U=t9(U^(D=D+P|0),16))|0,D=D+(P=t9(P^C,12))|0,C=C+(U=t9(U^D,8))|0,P=t9(P^C,7);let k=0;i[k++]=o+E|0,i[k++]=a+I|0,i[k++]=c+_|0,i[k++]=l+D|0,i[k++]=h+P|0,i[k++]=u+S|0,i[k++]=d+O|0,i[k++]=p+x|0,i[k++]=f+A|0,i[k++]=g+C|0,i[k++]=y+R|0,i[k++]=m+N|0,i[k++]=s+T|0,i[k++]=b+j|0,i[k++]=w+U|0,i[k++]=v+L|0},{counterRight:!1,counterLength:4,allowShortKeys:!1}),ro=new Uint8Array(16),ra=(e,t)=>{e.update(t);let r=t.length%16;r&&e.update(ro.subarray(r))},rc=new Uint8Array(32);function rl(e,t,r,i,s){let n=e(t,r,rc),o=rs.create(n);s&&ra(o,s),ra(o,i);let a=new Uint8Array(16),c=tY(a);t0(c,0,BigInt(s?s.length:0),!0),t0(c,8,BigInt(i.length),!0),o.update(a);let l=o.digest();return t2(n,a),l}let rh=((e,t)=>{function r(i,...s){if(tK(i),void 0!==e.nonceLength){let t=s[0];if(!t)throw Error("nonce / iv required");e.varSizeNonce?tK(t):tK(t,e.nonceLength)}let n=e.tagLength;n&&void 0!==s[1]&&tK(s[1]);let o=t(i,...s),a=(e,t)=>{if(void 0!==t){if(2!==e)throw Error("cipher output not supported");tK(t)}},c=!1;return{encrypt(e,t){if(c)throw Error("cannot encrypt() twice with same key + nonce");return c=!0,tK(e),a(o.encrypt.length,t),o.encrypt(e,t)},decrypt(e,t){if(tK(e),n&&e.length<n)throw Error("invalid ciphertext length: smaller than tagLength="+n);return a(o.decrypt.length,t),o.decrypt(e,t)}}}return Object.assign(r,e),r})({blockSize:64,nonceLength:12,tagLength:16},(e,t,r)=>({encrypt(i,s){let n=i.length;(s=tX(n+16,s,!1)).set(i);let o=s.subarray(0,-16);rn(e,t,o,o,1);let a=rl(rn,e,t,o,r);return s.set(a,n),t2(a),s},decrypt(i,s){s=tX(i.length-16,s,!1);let n=i.subarray(0,-16),o=i.subarray(-16),a=rl(rn,e,t,n,r);if(!function(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return 0===r}(o,a))throw Error("invalid tag");return s.set(i.subarray(0,-16)),rn(e,t,s,s,1),t2(a),s}}));class ru extends tt{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,eY(e);let r=te(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,s=new Uint8Array(i);s.set(r.length>i?e.create().update(r).digest():r);for(let e=0;e<s.length;e++)s[e]^=54;this.iHash.update(s),this.oHash=e.create();for(let e=0;e<s.length;e++)s[e]^=106;this.oHash.update(s),s.fill(0)}update(e){return eZ(this),this.iHash.update(e),this}digestInto(e){eZ(this),eG(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:r,finished:i,destroyed:s,blockLen:n,outputLen:o}=this;return e.finished=i,e.destroyed=s,e.blockLen=n,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}let rd=(e,t,r)=>new ru(e,t).update(r).digest();rd.create=(e,t)=>
4new ru(e,t);let rp=new Uint8Array([0]),rf=new Uint8Array,rg=(e,t,r,i,s)=>{var n;return function(e,t,r,i=32){if(eY(e),eW(i),i>255*e.outputLen)throw Error("Length should be <= 255*HashLen");let s=Math.ceil(i/e.outputLen);void 0===r&&(r=rf);let n=new Uint8Array(s*e.outputLen),o=rd.create(e,t),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let t=0;t<s;t++)rp[0]=t+1,a.update(0===t?rf:c).update(r).update(rp).digestInto(c),n.set(c,e.outputLen*t),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),rp.fill(0),n.slice(0,i)}(e,(n=r,eY(e),void 0===n&&(n=new Uint8Array(e.outputLen)),rd(e,te(n),te(t))),i,s)};class ry extends tt{constructor(e,t,r,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=e6(this.buffer)}update(e){eZ(this);let{view:t,buffer:r,blockLen:i}=this;e=te(e);let s=e.length;for(let n=0;n<s;){let o=Math.min(i-this.pos,s-n);if(o===i){let t=e6(e);for(;i<=s-n;n+=i)this.process(t,n);continue}r.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){eZ(this),eQ(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:s}=this,{pos:n}=this;t[n++]=128,this.buffer.subarray(n).fill(0),this.padOffset>i-n&&(this.process(r,0),n=0);for(let e=n;e<i;e++)t[e]=0;(function(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let s=BigInt(32),n=BigInt(4294967295),o=Number(r>>s&n),a=Number(r&n),c=i?4:0,l=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+l,a,i)})(r,i-8,BigInt(8*this.length),s),this.process(r,0);let o=e6(e),a=this.outputLen;if(a%4)throw Error("_sha2: outputLen should be aligned to 32bit");let c=a/4,l=this.get();if(c>l.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)o.setUint32(4*e,l[e],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:s,destroyed:n,pos:o}=this;return e.length=i,e.pos=o,e.finished=s,e.destroyed=n,i%t&&e.buffer.set(r),e}}let rm=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),rb=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),rw=new Uint32Array(64);class rv extends ry{constructor(){super(64,32,8,!1),this.A=0|rb[0],this.B=0|rb[1],this.C=0|rb[2],this.D=0|rb[3],this.E=0|rb[4],this.F=0|rb[5],this.G=0|rb[6],this.H=0|rb[7]}get(){let{A:e,B:t,C:r,D:i,E:s,F:n,G:o,H:a}=this;return[e,t,r,i,s,n,o,a]}set(e,t,r,i,s,n,o,a){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|i,this.E=0|s,this.F=0|n,this.G=0|o,this.H=0|a}process(e,t){for(let r=0;r<16;r++,t+=4)rw[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=rw[e-15],r=rw[e-2],i=e4(t,7)^e4(t,18)^t>>>3,s=e4(r,17)^e4(r,19)^r>>>10;rw[e]=s+rw[e-7]+i+rw[e-16]|0}let{A:r,B:i,C:s,D:n,E:o,F:a,G:c,H:l}=this;for(let e=0;e<64;e++){var h,u,d,p;let t=e4(o,6)^e4(o,11)^e4(o,25),f=l+t+((h=o)&a^~h&c)+rm[e]+rw[e]|0,g=(e4(r,2)^e4(r,13)^e4(r,22))+((u=r)&(d=i)^u&(p=s)^d&p)|0;l=c,c=a,a=o,o=n+f|0,n=s,s=i,i=r,r=f+g|0}r=r+this.A|0,i=i+this.B|0,s=s+this.C|0,n=n+this.D|0,o=o+this.E|0,a=a+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(r,i,s,n,o,a,c,l)}roundClean(){rw.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}let rE=tr(()=>new rv),rI=BigInt(0),r_=BigInt(1),rD=BigInt(2);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function rP(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function rS(e){if(!rP(e))throw Error("Uint8Array expected")}function rO(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}let rx=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function rA(e){rS(e);let t="";for(let r=0;r<e.length;r++)t+=rx[e[r]];return t}function rC(e){let t=e.toString(16);return 1&t.length?"0"+t:t}function rR(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?rI:BigInt("0x"+e)}let rN={_0:48,_9:57,A:65,F:70,a:97,f:102};function rT(e){return e>=rN._0&&e<=rN._9?e-rN._0:e>=rN.A&&e<=rN.F?e-(rN.A-10):e>=rN.a&&e<=rN.f?e-(rN.a-10):void 0}function rj(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let t=0,s=0;t<r;t++,s+=2){let r=rT(e.charCodeAt(s)),n=rT(e.charCodeAt(s+1));if(void 0===r||void 0===n){let t=e[s]+e[s+1];throw Error('hex string expected, got non-hex character "'+t+'" at index '+s)}i[t]=16*r+n}return i}function rU(e){return rR(rA(e))}function rL(e){return rS(e),rR(rA(Uint8Array.from(e).reverse()))}function rk(e,t){return rj(e.toString(16).padStart(2*t,"0"))}function rq(e,t){return rk(e,t).reverse()}function rB(e,t,r){let i;if("string"==typeof t)try{i=rj(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(rP(t))i=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let s=i.length;if("number"==typeof r&&s!==r)throw Error(e+" of length "+r+" expected, got "+s);return i}function r$(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];rS(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}let rM=e=>"bigint"==typeof e&&rI<=e;function rz(e,t,r){return rM(e)&&rM(t)&&rM(r)&&t<=e&&e<r}function rF(e,t,r,i){if(!rz(t,r,i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function rH(e){let t;for(t=0;e>rI;e>>=r_,t+=1);return t}let rV=e=>(rD<<BigInt(e-1))-r_,rK=e=>
4new Uint8Array(e),rJ=e=>Uint8Array.from(e);function rW(e,t,r){if("number"!=typeof e||e<2)throw Error("hashLen must be a number");if("number"!=typeof t||t<2)throw Error("qByteLen must be a number");if("function"!=typeof r)throw Error("hmacFn must be a function");let i=rK(e),s=rK(e),n=0,o=()=>{i.fill(1),s.fill(0),n=0},a=(...e)=>r(s,i,...e),c=(e=rK())=>{s=a(rJ([0]),e),i=a(),0!==e.length&&(s=a(rJ([1]),e),i=a())},l=()=>{if(n++>=1e3)throw Error("drbg: tried 1000 values");let e=0,r=[];for(;e<t;){i=a();let t=i.slice();r.push(t),e+=i.length}return r$(...r)};return(e,t)=>{let r;for(o(),c(e);!(r=t(l()));)c();return o(),r}}let rG={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||rP(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function rY(e,t,r={}){let i=(t,r,i)=>{let s=rG[r];if("function"!=typeof s)throw Error("invalid validator function");let n=e[t];if(!(i&&void 0===n)&&!s(n,e))throw Error("param "+String(t)+" is invalid. Expected "+r+", got "+n)};for(let[e,r]of Object.entries(t))i(e,r,!1);for(let[e,t]of Object.entries(r))i(e,t,!0);return e}function rZ(e){let t=new WeakMap;return(r,...i)=>{let s=t.get(r);if(void 0!==s)return s;let n=e(r,...i);return t.set(r,n),n}}var rQ=Object.freeze({__proto__:null,isBytes:rP,abytes:rS,abool:rO,bytesToHex:rA,numberToHexUnpadded:rC,hexToNumber:rR,hexToBytes:rj,bytesToNumberBE:rU,bytesToNumberLE:rL,numberToBytesBE:rk,numberToBytesLE:rq,numberToVarBytesBE:function(e){return rj(rC(e))},ensureBytes:rB,concatBytes:r$,equalBytes:function(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return 0===r},utf8ToBytes:function(e){if("string"!=typeof e)throw Error("string expected");return new Uint8Array(new TextEncoder().encode(e))},inRange:rz,aInRange:rF,bitLen:rH,bitGet:function(e,t){return e>>BigInt(t)&r_},bitSet:function(e,t,r){return e|(r?r_:rI)<<BigInt(t)},bitMask:rV,createHmacDrbg:rW,validateObject:rY,notImplemented:()=>{throw Error("not implemented")},memoized:rZ});let rX=BigInt(0),r0=BigInt(1),r1=BigInt(2),r2=BigInt(3),r8=BigInt(4),r3=BigInt(5),r5=BigInt(8);function r6(e,t){let r=e%t;return r>=rX?r:t+r}function r4(e,t,r){if(t<rX)throw Error("invalid exponent, negatives unsupported");if(r<=rX)throw Error("invalid modulus");if(r===r0)return rX;let i=r0;for(;t>rX;)t&r0&&(i=i*e%r),e=e*e%r,t>>=r0;return i}function r9(e,t,r){let i=e;for(;t-- >rX;)i*=i,i%=r;return i}function r7(e,t){if(e===rX)throw Error("invert: expected non-zero number");if(t<=rX)throw Error("invert: expected positive modulus, got "+t);let r=r6(e,t),i=t,s=rX,n=r0;for(;r!==rX;){let e=i/r,t=i%r,o=s-n*e;i=r,r=t,s=n,n=o}if(i!==r0)throw Error("invert: does not exist");return r6(s,t)}let ie=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function it(e,t){let r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function ir(e,t,r=!1,i={}){let s;if(e<=rX)throw Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:n,nByteLength:o}=it(e,t);if(o>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let a=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:o,MASK:rV(n),ZERO:rX,ONE:r0,create:t=>r6(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return rX<=t&&t<e},is0:e=>e===rX,isOdd:e=>(e&r0)===r0,neg:t=>r6(-t,e),eql:(e,t)=>e===t,sqr:t=>r6(t*t,e),add:(t,r)=>r6(t+r,e),sub:(t,r)=>r6(t-r,e),mul:(t,r)=>r6(t*r,e),pow:(e,t)=>(function(e,t,r){if(r<rX)throw Error("invalid exponent, negatives unsupported");if(r===rX)return e.ONE;if(r===r0)return t;let i=e.ONE,s=t;for(;r>rX;)r&r0&&(i=e.mul(i,s)),s=e.sqr(s),r>>=r0;return i})(a,e,t),div:(t,r)=>r6(t*r7(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>r7(t,e),sqrt:i.sqrt||(t=>(s||(s=function(e){if(e%r8===r2){let t=(e+r0)/r8;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}if(e%r5===r3){let t=(e-r3)/r5;return function(e,r){let i=e.mul(r,r1),s=e.pow(i,t),n=e.mul(r,s),o=e.mul(e.mul(n,r1),s),a=e.mul(n,e.sub(o,e.ONE));if(!e.eql(e.sqr(a),r))throw Error("Cannot find square root");return a}}return function(e){let t,r,i;let s=(e-r0)/r1;for(t=e-r0,r=0;t%r1===rX;t/=r1,r++);for(i=r1;i<e&&r4(i,s,e)!==e-r0;i++)if(i>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===r){let t=(e+r0)/r8;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}let n=(t+r0)/r1;return function(e,o){if(e.pow(o,s)===e.neg(e.ONE))throw Error("Cannot find square root");let a=r,c=e.pow(e.mul(e.ONE,i),t),l=e.pow(o,n),h=e.pow(o,t);for(;!e.eql(h,e.ONE);){if(e.eql(h,e.ZERO))return e.ZERO;let t=1;for(let r=e.sqr(h);t<a&&!e.eql(r,e.ONE);t++)r=e.sqr(r);let r=e.pow(c,r0<<BigInt(a-t-1));c=e.sqr(r),l=e.mul(l,r),h=e.mul(h,c),a=t}return l}}(e)}(e)),s(a,t))),invertBatch:e=>(function(e,t){let r=Array(t.length),i=t.reduce((t,i,s)=>e.is0(i)?t:(r[s]=t,e.mul(t,i)),e.ONE),s=e.inv(i);return t.reduceRight((t,i,s)=>e.is0(i)?t:(r[s]=e.mul(t,r[s]),e.mul(t,i)),s),r})(a,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?rq(e,o):rk(e,o),fromBytes:e=>{if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);return r?rL(e):rU(e)}});return Object.freeze(a)}function ii(e){if("bigint"!=typeof e)throw Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function is(e){let t=ii(e);return t+Math.ceil(t/2)}let io=BigInt(0),ia=BigInt(1);function ic(e,t){let r=t.negate();return e?r:t}function il(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function ih(e,t){il(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1);return{windows:r,windowSize:i}}let iu=new WeakMap,id=new WeakMap;function ip(e){return id.get(e)||1}function ig(e){return function(e){let t=ie.reduce((e,t)=>
4(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"});rY(e,t)}(e.Fp),rY(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...it(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);let iy=BigInt(0),im=BigInt(1),ib=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);let iw=BigInt(1),iv=BigInt(2),iE=BigInt(3),iI=BigInt(5);BigInt(8);let i_=function(e){let t=(rY(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})),{P:r}=t,i=e=>r6(e,r),s=t.montgomeryBits,n=Math.ceil(s/8),o=t.nByteLength,a=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>r4(e,r-BigInt(2),r));function l(e,t,r){let s=i(e*(t-r));return[t=i(t-s),r=i(r+s)]}let h=(t.a-BigInt(2))/BigInt(4);function u(e,t){let u=function(e){let t=rB("u coordinate",e,n);return 32===o&&(t[31]&=127),rL(t)}(t),d=function(e){let t=rB("scalar",e),r=t.length;if(r!==n&&r!==o)throw Error("invalid scalar, expected "+n+" or "+o+" bytes, got "+r);return rL(a(t))}(e),p=function(e,t){rF("u",e,iy,r),rF("scalar",t,iy,r);let n=im,o=iy,a=e,u=im,d=iy,p;for(let r=BigInt(s-1);r>=iy;r--){let s=t>>r&im;d^=s,n=(p=l(d,n,a))[0],a=p[1],o=(p=l(d,o,u))[0],u=p[1],d=s;let c=n+o,f=i(c*c),g=n-o,y=i(g*g),m=f-y,b=a+u,w=a-u,v=i(w*c),E=i(b*g),I=v+E,_=v-E;a=i(I*I),u=i(e*i(_*_)),n=i(f*y),o=i(m*(f+i(h*m)))}n=(p=l(d,n,a))[0],a=p[1],o=(p=l(d,o,u))[0],u=p[1];let f=c(o);return i(n*f)}(u,d);if(p===iy)throw Error("invalid private or public key received");return rq(i(p),n)}let d=rq(i(t.Gu),n);function p(e){return u(e,d)}return{scalarMult:u,scalarMultBase:p,getSharedSecret:(e,t)=>u(e,t),getPublicKey:e=>p(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:d}}({P:ib,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{let{pow_p_5_8:t,b2:r}=function(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),s=BigInt(80),n=e*e%ib*e%ib,o=r9(n,iv,ib)*n%ib,a=r9(o,iw,ib)*e%ib,c=r9(a,iI,ib)*a%ib,l=r9(c,t,ib)*c%ib,h=r9(l,r,ib)*l%ib,u=r9(h,i,ib)*h%ib,d=r9(u,s,ib)*u%ib,p=r9(d,s,ib)*u%ib,f=r9(p,t,ib)*c%ib;return{pow_p_5_8:r9(f,iv,ib)*e%ib,b2:n}}(e);return r6(r9(t,iE,ib)*r,ib)},adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},randomBytes:ti});function iD(e){void 0!==e.lowS&&rO("lowS",e.lowS),void 0!==e.prehash&&rO("prehash",e.prehash)}let{bytesToNumberBE:iP,hexToBytes:iS}=rQ;class iO extends Error{constructor(e=""){super(e)}}let ix={Err:iO,_tlv:{encode:(e,t)=>{let{Err:r}=ix;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");let i=t.length/2,s=rC(i);if(s.length/2&128)throw new r("tlv.encode: long form length too big");let n=i>127?rC(s.length/2|128):"";return rC(e)+n+s+t},decode(e,t){let{Err:r}=ix,i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");let s=t[i++],n=0;if(128&s){let e=127&s;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");let o=t.subarray(i,i+e);if(o.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===o[0])throw new r("tlv.decode(long): zero leftmost byte");for(let e of o)n=n<<8|e;if(i+=e,n<128)throw new r("tlv.decode(long): not minimal encoding")}else n=s;let o=t.subarray(i,i+n);if(o.length!==n)throw new r("tlv.decode: wrong value length");return{v:o,l:t.subarray(i+n)}}},_int:{encode(e){let{Err:t}=ix;if(e<iA)throw new t("integer: negative integers are not allowed");let r=rC(e);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){let{Err:t}=ix;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return iP(e)}},toSig(e){let{Err:t,_int:r,_tlv:i}=ix,s="string"==typeof e?iS(e):e;rS(s);let{v:n,l:o}=i.decode(48,s);if(o.length)throw new t("invalid signature: left bytes after parsing");let{v:a,l:c}=i.decode(2,n),{v:l,l:h}=i.decode(2,c);if(h.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(l)}},hexFromSig(e){let{_tlv:t,_int:r}=ix,i=t.encode(2,r.encode(e.r)),s=t.encode(2,r.encode(e.s));return t.encode(48,i+s)}},iA=BigInt(0),iC=BigInt(1);BigInt(2);let iR=BigInt(3);BigInt(4);let iN=ir(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),iT=iN.create(BigInt("-3")),ij=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),iU=function(e,t){let r=t=>(function(e){let t=function(e){let t=ig(e);return rY(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:r,n:i}=t,s=r.BYTES+1,n=2*r.BYTES+1;function o(e){return r6(e,i)}let{ProjectivePoint:a,normPrivateKeyToScalar:c,weierstrassEquation:l,isWithinCurveOrder:h}=function(e){var t;let r=function(e){let t=ig(e);rY(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:i,a:s}=t;if(r){if(!i.eql(s,i.ZERO))throw Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:i}=r,s=ir(r.n,r.nBitLength),n=r.toBytes||((e,t,r)=>{let s=t.toAffine();return r$(Uint8Array.from([4]),i.toBytes(s.x),i.toBytes(s.y))}),o=r.fromBytes||(e=>{let t=e.subarray(1),r=i.fromBytes(t.subarray(0,i.BYTES)),s=i.fromBytes(t.subarray(i.BYTES,2*i.BYTES));return{x:r,y:s}});function a(e){let{a:t,b:s}=r,n=i.sqr(e),o=i.mul(n,e);return i.add(i.add(o,i.mul(e,t)),s)}
4if(!i.eql(i.sqr(r.Gy),a(r.Gx)))throw Error("bad generator point: equation left != right");function c(e){let t;let{allowedPrivateKeyLengths:i,nByteLength:s,wrapPrivateKey:n,n:o}=r;if(i&&"bigint"!=typeof e){if(rP(e)&&(e=rA(e)),"string"!=typeof e||!i.includes(e.length))throw Error("invalid private key");e=e.padStart(2*s,"0")}try{t="bigint"==typeof e?e:rU(rB("private key",e,s))}catch{throw Error("invalid private key, expected hex or "+s+" bytes, got "+typeof e)}return n&&(t=r6(t,o)),rF("private key",t,iC,o),t}function l(e){if(!(e instanceof d))throw Error("ProjectivePoint expected")}let h=rZ((e,t)=>{let{px:r,py:s,pz:n}=e;if(i.eql(n,i.ONE))return{x:r,y:s};let o=e.is0();null==t&&(t=o?i.ONE:i.inv(n));let a=i.mul(r,t),c=i.mul(s,t),l=i.mul(n,t);if(o)return{x:i.ZERO,y:i.ZERO};if(!i.eql(l,i.ONE))throw Error("invZ was invalid");return{x:a,y:c}}),u=rZ(e=>{if(e.is0()){if(r.allowInfinityPoint&&!i.is0(e.py))return;throw Error("bad point: ZERO")}let{x:t,y:s}=e.toAffine();if(!i.isValid(t)||!i.isValid(s))throw Error("bad point: x or y not FE");let n=i.sqr(s),o=a(t);if(!i.eql(n,o))throw Error("bad point: equation left != right");if(!e.isTorsionFree())throw Error("bad point: not in prime-order subgroup");return!0});class d{constructor(e,t,r){if(this.px=e,this.py=t,this.pz=r,null==e||!i.isValid(e))throw Error("x required");if(null==t||!i.isValid(t))throw Error("y required");if(null==r||!i.isValid(r))throw Error("z required");Object.freeze(this)}static fromAffine(e){let{x:t,y:r}=e||{};if(!e||!i.isValid(t)||!i.isValid(r))throw Error("invalid affine point");if(e instanceof d)throw Error("projective point not allowed");let s=e=>i.eql(e,i.ZERO);return s(t)&&s(r)?d.ZERO:new d(t,r,i.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){let t=i.invertBatch(e.map(e=>e.pz));return e.map((e,r)=>e.toAffine(t[r])).map(d.fromAffine)}static fromHex(e){let t=d.fromAffine(o(rB("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(c(e))}static msm(e,t){return function(e,t,r,i){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,r)=>{if(!(e instanceof t))throw Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+r)})}(i,t),r.length!==i.length)throw Error("arrays of points and scalars must have equal length");let s=e.ZERO,n=rH(BigInt(r.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=Array(a+1).fill(s),l=Math.floor((t.BITS-1)/o)*o,h=s;for(let e=l;e>=0;e-=o){c.fill(s);for(let t=0;t<i.length;t++){let s=i[t],n=Number(s>>BigInt(e)&BigInt(a));c[n]=c[n].add(r[t])}let t=s;for(let e=c.length-1,r=s;e>0;e--)r=r.add(c[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e<o;e++)h=h.double()}return h}(d,s,e,t)}_setWindowSize(e){f.setWindowSize(this,e)}assertValidity(){u(this)}hasEvenY(){let{y:e}=this.toAffine();if(i.isOdd)return!i.isOdd(e);throw Error("Field doesn't support isOdd")}equals(e){l(e);let{px:t,py:r,pz:s}=this,{px:n,py:o,pz:a}=e,c=i.eql(i.mul(t,a),i.mul(n,s)),h=i.eql(i.mul(r,a),i.mul(o,s));return c&&h}negate(){return new d(this.px,i.neg(this.py),this.pz)}double(){let{a:e,b:t}=r,s=i.mul(t,iR),{px:n,py:o,pz:a}=this,c=i.ZERO,l=i.ZERO,h=i.ZERO,u=i.mul(n,n),p=i.mul(o,o),f=i.mul(a,a),g=i.mul(n,o);return g=i.add(g,g),h=i.mul(n,a),h=i.add(h,h),c=i.mul(e,h),l=i.mul(s,f),l=i.add(c,l),c=i.sub(p,l),l=i.add(p,l),l=i.mul(c,l),c=i.mul(g,c),h=i.mul(s,h),f=i.mul(e,f),g=i.sub(u,f),g=i.mul(e,g),g=i.add(g,h),h=i.add(u,u),u=i.add(h,u),u=i.add(u,f),u=i.mul(u,g),l=i.add(l,u),f=i.mul(o,a),f=i.add(f,f),u=i.mul(f,g),c=i.sub(c,u),h=i.mul(f,p),h=i.add(h,h),new d(c,l,h=i.add(h,h))}add(e){l(e);let{px:t,py:s,pz:n}=this,{px:o,py:a,pz:c}=e,h=i.ZERO,u=i.ZERO,p=i.ZERO,f=r.a,g=i.mul(r.b,iR),y=i.mul(t,o),m=i.mul(s,a),b=i.mul(n,c),w=i.add(t,s),v=i.add(o,a);w=i.mul(w,v),v=i.add(y,m),w=i.sub(w,v),v=i.add(t,n);let E=i.add(o,c);return v=i.mul(v,E),E=i.add(y,b),v=i.sub(v,E),E=i.add(s,n),h=i.add(a,c),E=i.mul(E,h),h=i.add(m,b),E=i.sub(E,h),p=i.mul(f,v),h=i.mul(g,b),p=i.add(h,p),h=i.sub(m,p),p=i.add(m,p),u=i.mul(h,p),m=i.add(y,y),m=i.add(m,y),b=i.mul(f,b),v=i.mul(g,v),m=i.add(m,b),b=i.sub(y,b),b=i.mul(f,b),v=i.add(v,b),y=i.mul(m,v),u=i.add(u,y),y=i.mul(E,v),h=i.mul(w,h),h=i.sub(h,y),y=i.mul(w,m),p=i.mul(E,p),new d(h,u,p=i.add(p,y))}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return f.wNAFCached(this,e,d.normalizeZ)}multiplyUnsafe(e){let{endo:t,n:s}=r;rF("scalar",e,iA,s);let n=d.ZERO;if(e===iA)return n;if(this.is0()||e===iC)return this;if(!t||f.hasPrecomputes(this))return f.wNAFCachedUnsafe(this,e,d.normalizeZ);
4let{k1neg:o,k1:a,k2neg:c,k2:l}=t.splitScalar(e),h=n,u=n,p=this;for(;a>iA||l>iA;)a&iC&&(h=h.add(p)),l&iC&&(u=u.add(p)),p=p.double(),a>>=iC,l>>=iC;return o&&(h=h.negate()),c&&(u=u.negate()),u=new d(i.mul(u.px,t.beta),u.py,u.pz),h.add(u)}multiply(e){let t,s;let{endo:n,n:o}=r;if(rF("scalar",e,iC,o),n){let{k1neg:r,k1:o,k2neg:a,k2:c}=n.splitScalar(e),{p:l,f:h}=this.wNAF(o),{p:u,f:p}=this.wNAF(c);l=f.constTimeNegate(r,l),u=f.constTimeNegate(a,u),u=new d(i.mul(u.px,n.beta),u.py,u.pz),t=l.add(u),s=h.add(p)}else{let{p:r,f:i}=this.wNAF(e);t=r,s=i}return d.normalizeZ([t,s])[0]}multiplyAndAddUnsafe(e,t,r){let i=d.BASE,s=(e,t)=>t!==iA&&t!==iC&&e.equals(i)?e.multiply(t):e.multiplyUnsafe(t),n=s(this,t).add(s(e,r));return n.is0()?void 0:n}toAffine(e){return h(this,e)}isTorsionFree(){let{h:e,isTorsionFree:t}=r;if(e===iC)return!0;if(t)return t(d,this);throw Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:e,clearCofactor:t}=r;return e===iC?this:t?t(d,this):this.multiplyUnsafe(r.h)}toRawBytes(e=!0){return rO("isCompressed",e),this.assertValidity(),n(d,this,e)}toHex(e=!0){return rO("isCompressed",e),rA(this.toRawBytes(e))}}d.BASE=new d(r.Gx,r.Gy,i.ONE),d.ZERO=new d(i.ZERO,i.ONE,i.ZERO);let p=r.nBitLength,f=(t=r.endo?Math.ceil(p/2):p,{constTimeNegate:ic,hasPrecomputes:e=>1!==ip(e),unsafeLadder(e,t,r=d.ZERO){let i=e;for(;t>io;)t&ia&&(r=r.add(i)),i=i.double(),t>>=ia;return r},precomputeWindow(e,r){let{windows:i,windowSize:s}=ih(r,t),n=[],o=e,a=o;for(let e=0;e<i;e++){a=o,n.push(a);for(let e=1;e<s;e++)a=a.add(o),n.push(a);o=a.double()}return n},wNAF(e,r,i){let{windows:s,windowSize:n}=ih(e,t),o=d.ZERO,a=d.BASE,c=BigInt(2**e-1),l=2**e,h=BigInt(e);for(let e=0;e<s;e++){let t=e*n,s=Number(i&c);i>>=h,s>n&&(s-=l,i+=ia);let u=t+Math.abs(s)-1,d=e%2!=0,p=s<0;0===s?a=a.add(ic(d,r[t])):o=o.add(ic(p,r[u]))}return{p:o,f:a}},wNAFUnsafe(e,r,i,s=d.ZERO){let{windows:n,windowSize:o}=ih(e,t),a=BigInt(2**e-1),c=2**e,l=BigInt(e);for(let e=0;e<n;e++){let t=e*o;if(i===io)break;let n=Number(i&a);if(i>>=l,n>o&&(n-=c,i+=ia),0===n)continue;let h=r[t+Math.abs(n)-1];n<0&&(h=h.negate()),s=s.add(h)}return s},getPrecomputes(e,t,r){let i=iu.get(t);return i||(i=this.precomputeWindow(t,e),1!==e&&iu.set(t,r(i))),i},wNAFCached(e,t,r){let i=ip(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)},wNAFCachedUnsafe(e,t,r,i){let s=ip(e);return 1===s?this.unsafeLadder(e,t,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,r),t,i)},setWindowSize(e,r){il(r,t),id.set(e,r),iu.delete(e)}});return{CURVE:r,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:a,isWithinCurveOrder:function(e){return rz(e,iC,r.n)}}}({...t,toBytes(e,t,i){let s=t.toAffine(),n=r.toBytes(s.x);return rO("isCompressed",i),i?r$(Uint8Array.from([t.hasEvenY()?2:3]),n):r$(Uint8Array.from([4]),n,r.toBytes(s.y))},fromBytes(e){let t=e.length,i=e[0],o=e.subarray(1);if(t===s&&(2===i||3===i)){let e;let t=rU(o);if(!rz(t,iC,r.ORDER))throw Error("Point is not on curve");let s=l(t);try{e=r.sqrt(s)}catch(t){let e=t instanceof Error?": "+t.message:"";throw Error("Point is not on curve"+e)}let n=(e&iC)===iC;return(1&i)==1!==n&&(e=r.neg(e)),{x:t,y:e}}if(t===n&&4===i){let e=r.fromBytes(o.subarray(0,r.BYTES)),t=r.fromBytes(o.subarray(r.BYTES,2*r.BYTES));return{x:e,y:t}}throw Error("invalid Point, expected length of "+s+", or uncompressed "+n+", got "+t)}}),u=e=>rA(rk(e,t.nByteLength));function d(e){let t=i>>iC;return e>t}let p=(e,t,r)=>rU(e.slice(t,r));class f{constructor(e,t,r){this.r=e,this.s=t,this.recovery=r,this.assertValidity()}static fromCompact(e){let r=t.nByteLength;return new f(p(e=rB("compactSignature",e,2*r),0,r),p(e,r,2*r))}static fromDER(e){let{r:t,s:r}=ix.toSig(rB("DER",e));return new f(t,r)}assertValidity(){rF("r",this.r,iC,i),rF("s",this.s,iC,i)}addRecoveryBit(e){return new f(this.r,this.s,e)}recoverPublicKey(e){let{r:s,s:n,recovery:c}=this,l=m(rB("msgHash",e));if(null==c||![0,1,2,3].includes(c))throw Error("recovery id invalid");let h=2===c||3===c?s+t.n:s;if(h>=r.ORDER)throw Error("recovery id 2 or 3 invalid");let d=(1&c)==0?"02":"03",p=a.fromHex(d+u(h)),f=r7(h,i),g=o(-l*f),y=o(n*f),b=
4a.BASE.multiplyAndAddUnsafe(p,g,y);if(!b)throw Error("point at infinify");return b.assertValidity(),b}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new f(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return rj(this.toDERHex())}toDERHex(){return ix.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return rj(this.toCompactHex())}toCompactHex(){return u(this.r)+u(this.s)}}function g(e){let t=rP(e),r="string"==typeof e,i=(t||r)&&e.length;return t?i===s||i===n:r?i===2*s||i===2*n:e instanceof a}let y=t.bits2int||function(e){if(e.length>8192)throw Error("input is too large");let r=rU(e),i=8*e.length-t.nBitLength;return i>0?r>>BigInt(i):r},m=t.bits2int_modN||function(e){return o(y(e))},b=rV(t.nBitLength);function w(e){return rF("num < 2^"+t.nBitLength,e,iA,b),rk(e,t.nByteLength)}let v={lowS:t.lowS,prehash:!1},E={lowS:t.lowS,prehash:!1};return a.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return a.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,r=!0){if(g(e))throw Error("first arg must be private key");if(!g(t))throw Error("second arg must be public key");return a.fromHex(t).multiply(c(e)).toRawBytes(r)},sign:function(e,s,n=v){let{seed:l,k2sig:u}=function(e,s,n=v){if(["recovered","canonical"].some(e=>e in n))throw Error("sign() legacy options not supported");let{hash:l,randomBytes:u}=t,{lowS:p,prehash:g,extraEntropy:b}=n;null==p&&(p=!0),e=rB("msgHash",e),iD(n),g&&(e=rB("prehashed msgHash",l(e)));let E=m(e),I=c(s),_=[w(I),w(E)];if(null!=b&&!1!==b){let e=!0===b?u(r.BYTES):b;_.push(rB("extraEntropy",e))}let D=r$(..._);return{seed:D,k2sig:function(e){let t=y(e);if(!h(t))return;let r=r7(t,i),s=a.BASE.multiply(t).toAffine(),n=o(s.x);if(n===iA)return;let c=o(r*o(E+n*I));if(c===iA)return;let l=(s.x===n?0:2)|Number(s.y&iC),u=c;return p&&d(c)&&(u=d(c)?o(-c):c,l^=1),new f(n,u,l)}}}(e,s,n);return rW(t.hash.outputLen,t.nByteLength,t.hmac)(l,u)},verify:function(e,r,s,n=E){let c,l;r=rB("msgHash",r),s=rB("publicKey",s);let{lowS:h,prehash:u,format:d}=n;if(iD(n),"strict"in n)throw Error("options.strict was renamed to lowS");if(void 0!==d&&"compact"!==d&&"der"!==d)throw Error("format must be compact or der");let p="string"==typeof e||rP(e),g=!p&&!d&&"object"==typeof e&&null!==e&&"bigint"==typeof e.r&&"bigint"==typeof e.s;if(!p&&!g)throw Error("invalid signature, expected Uint8Array, hex string or Signature instance");try{if(g&&(c=new f(e.r,e.s)),p){try{"compact"!==d&&(c=f.fromDER(e))}catch(e){if(!(e instanceof ix.Err))throw e}c||"der"===d||(c=f.fromCompact(e))}l=a.fromHex(s)}catch{return!1}if(!c||h&&c.hasHighS())return!1;u&&(r=t.hash(r));let{r:y,s:b}=c,w=m(r),v=r7(b,i),I=o(w*v),_=o(y*v),D=a.BASE.multiplyAndAddUnsafe(l,I,_)?.toAffine();return!!D&&o(D.x)===y},ProjectivePoint:a,Signature:f,utils:{isValidPrivateKey(e){try{return c(e),!0}catch{return!1}},normPrivateKeyToScalar:c,randomPrivateKey:()=>{let e=is(t.n);return function(e,t,r=!1){let i=e.length,s=ii(t),n=is(t);if(i<16||i<n||i>1024)throw Error("expected "+n+"-1024 bytes of input, got "+i);let o=r?rL(e):rU(e),a=r6(o,t-r0)+r0;return r?rq(a,s):rk(a,s)}(t.randomBytes(e),t.n)},precompute:(e=8,t=a.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}})({...e,hash:t,hmac:(e,...r)=>rd(t,e,function(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];eG(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}(...r)),randomBytes:ti});return{...r(t),create:r}}({a:iT,b:ij,Fp:iN,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},rE),iL="base10",ik="base16",iq="base64pad",iB="base64url",i$="utf8";function iM(){let e=ti(32);return(0,ea.BB)(e,ik)}function iz(e){let t=rE((0,ea.mL)(e,ik));return(0,ea.BB)(t,ik)}function iF(e){let t=rE((0,ea.mL)(e,i$));return(0,ea.BB)(t,ik)}function iH(e){return(0,ea.mL)(`${e}`,iL)}function iV(e){return Number((0,ea.BB)(e,iL))}function iK(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function iJ(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r=(4-t.length%4)%4;return t+"=".repeat(r)}function iW(e){if(2===iV(e.type))return(0,ea.BB)((0,ea.zo)([e.type,e.sealed]),iq);if(1===iV(e.type)){if(typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");
4return(0,ea.BB)((0,ea.zo)([e.type,e.senderPublicKey,e.iv,e.sealed]),iq)}return(0,ea.BB)((0,ea.zo)([e.type,e.iv,e.sealed]),iq)}function iG(e){let t=(e.encoding||iq)===iB?iJ(e.encoded):e.encoded,r=(0,ea.mL)(t,iq),i=r.slice(0,1);if(1===iV(i)){let e=r.slice(1,33),t=r.slice(33,45),s=r.slice(45);return{type:i,sealed:s,iv:t,senderPublicKey:e}}if(2===iV(i)){let e=r.slice(1),t=ti(12);return{type:i,sealed:e,iv:t}}let s=r.slice(1,13),n=r.slice(13);return{type:i,sealed:n,iv:s}}function iY(e){let t=e?.type||0;if(1===t){if(typeof e?.senderPublicKey>"u")throw Error("missing sender public key");if(typeof e?.receiverPublicKey>"u")throw Error("missing receiver public key")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function iZ(e){return 1===e.type&&"string"==typeof e.senderPublicKey&&"string"==typeof e.receiverPublicKey}function iQ(e){return e?.relay||{protocol:"irn"}}function iX(e){let t=ec.iO[e];if(typeof t>"u")throw Error(`Relay Protocol not supported: ${e}`);return t}function i0(e){var t;if(!e.includes("wc:")){let t=eJ(e);null!=t&&t.includes("wc:")&&(e=t)}e=(e=e.includes("wc://")?e.replace("wc://",""):e).includes("wc:")?e.replace("wc:",""):e;let r=e.indexOf(":"),i=-1!==e.indexOf("?")?e.indexOf("?"):void 0,s=e.substring(0,r),n=e.substring(r+1,i).split("@"),o="u">typeof i?e.substring(i):"",a=new URLSearchParams(o),c={};a.forEach((e,t)=>{c[t]=e});let l="string"==typeof c.methods?c.methods.split(","):void 0;return{protocol:s,topic:(t=n[0]).startsWith("//")?t.substring(2):t,version:parseInt(n[1],10),symKey:c.symKey,relay:function(e,t="-"){let r={},i="relay"+t;return Object.keys(e).forEach(t=>{if(t.startsWith(i)){let s=t.replace(i,""),n=e[t];r[s]=n}}),r}(c),methods:l,expiryTimestamp:c.expiryTimestamp?parseInt(c.expiryTimestamp,10):void 0}}function i1(e){let t=new URLSearchParams,r=function(e,t="-"){let r={};return Object.keys(e).forEach(i=>{e[i]&&(r["relay"+t+i]=e[i])}),r}(e.relay);Object.keys(r).sort().forEach(e=>{t.set(e,r[e])}),t.set("symKey",e.symKey),e.expiryTimestamp&&t.set("expiryTimestamp",e.expiryTimestamp.toString()),e.methods&&t.set("methods",e.methods.join(","));let i=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${i}`}function i2(e,t,r){return`${e}?wc_ev=${r}&topic=${t}`}var i8=Object.defineProperty,i3=Object.defineProperties,i5=Object.getOwnPropertyDescriptors,i6=Object.getOwnPropertySymbols,i4=Object.prototype.hasOwnProperty,i9=Object.prototype.propertyIsEnumerable,i7=(e,t,r)=>t in e?i8(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,se=(e,t)=>{for(var r in t||(t={}))i4.call(t,r)&&i7(e,r,t[r]);if(i6)for(var r of i6(t))i9.call(t,r)&&i7(e,r,t[r]);return e},st=(e,t)=>i3(e,i5(t));function sr(e){let t=[];return e.forEach(e=>{let[r,i]=e.split(":");t.push(`${r}:${i}`)}),t}function si(e){return e.includes(":")}function ss(e){return si(e)?e.split(":")[0]:e}function sn(e){var t,r,i;let s={};if(!sd(e))return s;for(let[n,o]of Object.entries(e)){let e=si(n)?[n]:o.chains,a=o.methods||[],c=o.events||[],l=ss(n);s[l]=st(se({},s[l]),{chains:eM(e,null==(t=s[l])?void 0:t.chains),methods:eM(a,null==(r=s[l])?void 0:r.methods),events:eM(c,null==(i=s[l])?void 0:i.events)})}return s}function so(e,t){t=t.map(e=>e.replace("did:pkh:",""));let r=function(e){let t={};return e?.forEach(e=>{var r;let[i,s]=e.split(":");t[i]||(t[i]={accounts:[],chains:[],events:[],methods:[]}),t[i].accounts.push(e),null==(r=t[i].chains)||r.push(`${i}:${s}`)}),t}(t);for(let[t,i]of Object.entries(r))i.methods?i.methods=eM(i.methods,e):i.methods=e,i.events=["chainChanged","accountsChanged"];return r}let sa={INVALID_METHOD:{message:"Invalid method.",code:1001},INVALID_EVENT:{message:"Invalid event.",code:1002},INVALID_UPDATE_REQUEST:{message:"Invalid update request.",code:1003},INVALID_EXTEND_REQUEST:{message:"Invalid extend request.",code:1004},INVALID_SESSION_SETTLE_REQUEST:{message:"Invalid session settle request.",code:1005},UNAUTHORIZED_METHOD:{message:"Unauthorized method.",code:3001},UNAUTHORIZED_EVENT:{message:"Unauthorized event.",code:3002},UNAUTHORIZED_UPDATE_REQUEST:{message:"Unauthorized update request.",code:3003},UNAUTHORIZED_EXTEND_REQUEST:{message:"Unauthorized extend request.",code:3004},USER_REJECTED:{message:"User rejected.",code:5e3},USER_REJECTED_CHAINS:{message:"User rejected chains.",code:5001},USER_REJECTED_METHODS:{message:"User rejected methods.",code:5002},USER_REJECTED_EVENTS:{message:"User rejected events.",code:5003},UNSUPPORTED_CHAINS:{message:"Unsupported chains.",code:5100},UNSUPPORTED_METHODS:{message:"Unsupported methods.",code:5101},UNSUPPORTED_EVENTS:{message:"Unsupported events.",code:5102},UNSUPPORTED_ACCOUNTS:{message:"Unsupported accounts.",code:5103},UNSUPPORTED_NAMESPACE_KEY:{message:"Unsupported namespace key.",code:5104},USER_DISCONNECTED:{message:"User disconnected.",code:6e3},SESSION_SETTLEMENT_FAILED:{message:"Session settlement failed.",code:7e3},WC_METHOD_UNSUPPORTED:{message:"Unsupported wc_ method.",code:10001}},sc={NOT_INITIALIZED:{message:"Not initialized.",code:1},NO_MATCHING_KEY:{message:"No matching key.",code:2},RESTORE_WILL_OVERRIDE:{message:"Restore will override.",code:3},RESUBSCRIBED:{message:"Resubscribed.",code:4},MISSING_OR_INVALID:{message:"Missing or invalid.",code:5},EXPIRED:{message:"Expired.",code:6},UNKNOWN_TYPE:{message:"Unknown type.",code:7},MISMATCHED_TOPIC:{message:"Mismatched topic.",code:8},NON_CONFORMING_NAMESPACES:{message:"Non conforming namespaces.",code:9}};function sl(e,t){let{message:r,code:i}=sc[e];return{message:t?`${r} ${t}`:r,code:i}}function sh(e,t){let{message:r,code:i}=sa[e];return{message:t?`${r} ${t}`:r,code:i}}function su(e,t){return!!Array.isArray(e)&&(!("u">typeof t)||!e.length||e.every(t))}function sd(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function sp(e){return typeof e>"u"}function sf(e,t){return!!(t&&sp(e))||"string"==typeof e&&!!e.trim().length}function sg(e,t){return!!(t&&sp(e))||"number"==typeof e&&!isNaN(e)}function sy(e){return!!(sf(e,!1)&&e.includes(":"))&&2===e.split(":").length}function sm(e){let t=!0;return su(e)?e.length&&(t=e.every(e=>sf(e,!1))):t=!1,t}
4function sb(e,t){let r=null;return Object.values(e).forEach(e=>{var i;let s;if(r)return;let n=(i=`${t}, namespace`,s=null,sm(e?.methods)?sm(e?.events)||(s=sh("UNSUPPORTED_EVENTS",`${i}, events should be an array of strings or empty array for no events`)):s=sh("UNSUPPORTED_METHODS",`${i}, methods should be an array of strings or empty array for no methods`),s);n&&(r=n)}),r}function sw(e,t){let r=null;if(e&&sd(e)){let i;let s=sb(e,t);s&&(r=s);let n=(i=null,Object.values(e).forEach(e=>{var r,s;let n;if(i)return;let o=(r=e?.accounts,s=`${t} namespace`,n=null,su(r)?r.forEach(e=>{n||function(e){if(sf(e,!1)&&e.includes(":")){let t=e.split(":");if(3===t.length){let e=t[0]+":"+t[1];return!!t[2]&&sy(e)}}return!1}(e)||(n=sh("UNSUPPORTED_ACCOUNTS",`${s}, account ${e} should be a string and conform to "namespace:chainId:address" format`))}):n=sh("UNSUPPORTED_ACCOUNTS",`${s}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),n);o&&(i=o)}),i);n&&(r=n)}else r=sl("MISSING_OR_INVALID",`${t}, namespaces should be an object with data`);return r}function sv(e){return sf(e.protocol,!0)}function sE(e){return"u">typeof e}function sI(e,t){return!(!sy(t)||!(function(e){let t=[];return Object.values(e).forEach(e=>{t.push(...sr(e.accounts))}),t})(e).includes(t))}function s_(e,t,r){let i=null,s=function(e){let t={};return Object.keys(e).forEach(r=>{var i;r.includes(":")?t[r]=e[r]:null==(i=e[r].chains)||i.forEach(i=>{t[i]={methods:e[r].methods,events:e[r].events}})}),t}(e),n=function(e){let t={};return Object.keys(e).forEach(r=>{if(r.includes(":"))t[r]=e[r];else{let i=sr(e[r].accounts);i?.forEach(i=>{t[i]={accounts:e[r].accounts.filter(e=>e.includes(`${i}:`)),methods:e[r].methods,events:e[r].events}})}}),t}(t),o=Object.keys(s),a=Object.keys(n),c=sD(Object.keys(e)),l=sD(Object.keys(t)),h=c.filter(e=>!l.includes(e));return h.length&&(i=sl("NON_CONFORMING_NAMESPACES",`${r} namespaces keys don't satisfy requiredNamespaces. 5 Required: ${h.toString()} 6 Received: ${Object.keys(t).toString()}`)),eR(o,a)||(i=sl("NON_CONFORMING_NAMESPACES",`${r} namespaces chains don't satisfy required namespaces. 7 Required: ${o.toString()} 8 Approved: ${a.toString()}`)),Object.keys(t).forEach(e=>{if(!e.includes(":")||i)return;let s=sr(t[e].accounts);s.includes(e)||(i=sl("NON_CONFORMING_NAMESPACES",`${r} namespaces accounts don't satisfy namespace accounts for ${e} 9 Required: ${e} 10 Approved: ${s.toString()}`))}),o.forEach(e=>{i||(eR(s[e].methods,n[e].methods)?eR(s[e].events,n[e].events)||(i=sl("NON_CONFORMING_NAMESPACES",`${r} namespaces events don't satisfy namespace events for ${e}`)):i=sl("NON_CONFORMING_NAMESPACES",`${r} namespaces methods don't satisfy namespace methods for ${e}`))}),i}function sD(e){return[...new Set(e.map(e=>e.includes(":")?e.split(":")[0]:e))]}function sP(){let e=eO();return new Promise(t=>{switch(e){case e_.browser:t(eS()&&navigator?.onLine);break;case e_.reactNative:t(sS());break;case e_.node:default:t(!0)}})}async function sS(){if(eP()&&"u">typeof r.g&&null!=r.g&&r.g.NetInfo){let e=await (null==r.g?void 0:r.g.NetInfo.fetch());return e?.isConnected}return!0}let sO={};class sx{static get(e){return sO[e]}static set(e,t){sO[e]=t}static delete(e){delete sO[e]}}var sA=r(19490),sC=r(55801),sR=r(12044),sN=r(38200),sT=Object.defineProperty,sj=(e,t,r)=>t in e?sT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,sU=(e,t,r)=>sj(e,"symbol"!=typeof t?t+"":t,r);class sL extends sN.q{constructor(e){super(),this.opts=e,sU(this,"protocol","wc"),sU(this,"version",2)}}var sk=Object.defineProperty,sq=(e,t,r)=>t in e?sk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,sB=(e,t,r)=>sq(e,"symbol"!=typeof t?t+"":t,r);class s$ extends sN.q{constructor(e,t){super(),this.core=e,this.logger=t,sB(this,"records",new Map)}}class sM{constructor(e,t){this.logger=e,this.core=t}}class sz extends sN.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class sF extends sN.q{constructor(e){super()}}
10class sH{constructor(e,t,r,i){this.core=e,this.logger=t,this.name=r}}class sV extends sN.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class sK extends sN.q{constructor(e,t){super(),this.core=e,this.logger=t}}class sJ{constructor(e,t,r){this.core=e,this.logger=t,this.store=r}}class sW{constructor(e,t){this.projectId=e,this.logger=t}}class sG{constructor(e,t,r){this.core=e,this.logger=t,this.telemetryEnabled=r}}var sY=r(85094),sZ=r(64534),sQ=r(56186),sX=r(28939),s0=r(48764).Buffer,s1=r(34155);let s2="core",s8=`wc@2:${s2}:`,s3={logger:"error"},s5={database:":memory:"},s6="client_ed25519_seed",s4=o.ONE_DAY,s9=o.SIX_HOURS,s7="wss://relay.walletconnect.org",ne={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",publish:"relayer_publish"},nt={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},nr="2.21.1",ni={link_mode:"link_mode",relay:"relay"},ns={inbound:"inbound",outbound:"outbound"},nn="WALLETCONNECT_LINK_MODE_APPS",no={created:"subscription_created",deleted:"subscription_deleted",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},na=(o.FIVE_SECONDS,{wc_pairingDelete:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:o.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:o.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:o.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:o.ONE_DAY,prompt:!1,tag:0},res:{ttl:o.ONE_DAY,prompt:!1,tag:0}}}),nc={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},nl={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},nh={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},nu="https://verify.walletconnect.org",nd=`${nu}/v3`,np=["https://verify.walletconnect.com",nu],nf={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal"},ng={no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_listener_not_found:"proposal_listener_not_found"},ny={session_approve_started:"session_approve_started",session_namespaces_validation_success:"session_namespaces_validation_success",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success"},nm={no_internet_connection:"no_internet_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found"},nb={authenticated_session_approve_started:"authenticated_session_approve_started",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve"}
10,nw={no_internet_connection:"no_internet_connection",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"};var nv=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),o=n.charCodeAt(0);if(255!==r[o])throw TypeError(n+" is ambiguous");r[o]=s}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var i=0,s=0;e[t]===c;)i++,t++;for(var n=(e.length-t)*l+1>>>0,o=new Uint8Array(n);e[t];){var h=r[e.charCodeAt(t)];if(255===h)return;for(var u=0,d=n-1;(0!==h||u<s)&&-1!==d;d--,u++)h+=a*o[d]>>>0,o[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw Error("Non-zero carry");s=u,t++}if(" "!==e[t]){for(var p=n-s;p!==n&&0===o[p];)p++;for(var f=new Uint8Array(i+(n-p)),g=i;p!==n;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,s=0,n=t.length;s!==n&&0===t[s];)s++,r++;for(var o=(n-s)*h+1>>>0,l=new Uint8Array(o);s!==n;){for(var u=t[s],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*l[p]>>>0,l[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw Error("Non-zero carry");i=d,s++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw Error(`Non-${t} character`)}}};let nE=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")},nI=e=>new TextEncoder().encode(e),n_=e=>new TextDecoder().decode(e);class nD{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class nP{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return nO(this,e)}}class nS{constructor(e){this.decoders=e}or(e){return nO(this,e)}decode(e){let t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let nO=(e,t)=>new nS({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});
10class nx{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new nD(e,t,r),this.decoder=new nP(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let nA=({name:e,prefix:t,encode:r,decode:i})=>new nx(e,t,r,i),nC=({prefix:e,name:t,alphabet:r})=>{let{encode:i,decode:s}=nv(r,t);return nA({prefix:e,name:t,encode:i,decode:e=>nE(s(e))})},nR=(e,t,r,i)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let o=new Uint8Array(n*r/8|0),a=0,c=0,l=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${i} character`);c=c<<r|n,(a+=r)>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw SyntaxError("Unexpected end of data");return o},nN=(e,t,r)=>{let i="="===t[t.length-1],s=(1<<r)-1,n="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,n+=t[s&a>>o];if(o&&(n+=t[s&a<<r-o]),i)for(;n.length*r&7;)n+="=";return n},nT=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>nA({prefix:t,name:e,encode:e=>nN(e,i,r),decode:t=>nR(t,i,r,e)}),nj=nA({prefix:"\x00",name:"identity",encode:e=>n_(e),decode:e=>nI(e)});var nU=Object.freeze({__proto__:null,identity:nj});let nL=nT({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var nk=Object.freeze({__proto__:null,base2:nL});let nq=nT({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var nB=Object.freeze({__proto__:null,base8:nq});let n$=nC({prefix:"9",name:"base10",alphabet:"0123456789"});var nM=Object.freeze({__proto__:null,base10:n$});let nz=nT({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),nF=nT({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var nH=Object.freeze({__proto__:null,base16:nz,base16upper:nF});let nV=nT({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),nK=nT({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),nJ=nT({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),nW=nT({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),nG=nT({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),nY=nT({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),nZ=nT({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),nQ=nT({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),nX=nT({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var n0=Object.freeze({__proto__:null,base32:nV,base32upper:nK,base32pad:nJ,base32padupper:nW,base32hex:nG,base32hexupper:nY,base32hexpad:nZ,base32hexpadupper:nQ,base32z:nX});let n1=nC({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),n2=nC({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var n8=Object.freeze({__proto__:null,base36:n1,base36upper:n2});let n3=nC({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),n5=nC({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var n6=Object.freeze({__proto__:null,base58btc:n3,base58flickr:n5});let n4=nT({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),n9=nT({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),n7=nT({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),oe=nT({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ot=Object.freeze({__proto__:null,base64:n4,base64pad:n9,base64url:n7,base64urlpad:oe});let or=Array.from("\uD83D\uDE80\uD83E\uDE90â\uD83D\uDEF0\uD83C\uDF0C\uD83C\uDF11\uD83C\uDF12\uD83C\uDF13\uD83C\uDF14\uD83C\uDF15\uD83C\uDF16\uD83C\uDF17\uD83C\uDF18\uD83C\uDF0D\uD83C\uDF0F\uD83C\uDF0E\uD83D\uDC09â\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02â¤\uD83D\uDE0D\uD83E\uDD23\uD83D\uDE0A\uD83D\uDE4F\uD83D\uDC95\uD83D\uDE2D\uD83D\uDE18\uD83D\uDC4D\uD83D\uDE05\uD83D\uDC4F\uD83D\uDE01\uD83D\uDD25\uD83E\uDD70\uD83D\uDC94\uD83D\uDC96\uD83D\uDC99\uD83D\uDE22\uD83E\uDD14\uD83D\uDE06\uD83D\uDE44\uD83D\uDCAA\uD83D\uDE09âº\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9Eââ¨\uD83E\uDD37\uD83D\uDE31\uD83D\uDE0C\uD83C\uDF38\uD83D\uDE4C\uD83D\uDE0B\uD83D\uDC97\uD83D\uDC9A\uD83D\uDE0F\uD83D\uDC9B\uD83D\uDE42\uD83D\uDC93\uD83E\uDD29\uD83D\uDE04\uD83D\uDE00\uD83D\uDDA4\uD83D\uDE03\uD83D\uDCAF\uD83D\uDE48\uD83D\uDC47\uD83C\uDFB6\uD83D\uDE12\uD83E\uDD2Dâ£\uD83D\uDE1C\uD83D\uDC8B\uD83D\uDC40\uD83D\uDE2A\uD83D\uDE11\uD83D\uDCA5\uD83D\uDE4B\uD83D\uDE1E\uD83D\uDE29\uD83D\uDE21\uD83E\uDD2A\uD83D\uDC4A\uD83E\uDD73\uD83D\uDE25\uD83E\uDD24\uD83D\uDC49\uD83D\uDC83\uD83D\uDE33â\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13ââ
\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6â\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90â¹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20â\uD83D\uDE15\uD83C\uDF3A\uD83C\uDF82\uD83C\uDF3B\uD83D\uDE10\uD83D\uDD95\uD83D\uDC9D\uD83D\uDE4A\uD83D\uDE39\uD83D\uDDE3\uD83D\uDCAB\uD83D\uDC80\uD83D\uDC51\uD83C\uDFB5\uD83E\uDD1E\uD83D\uDE1B\uD83D\uDD34\uD83D\uDE24\uD83C\uDF3C\uD83D\uDE2Bâ½\uD83E\uDD19â\uD83C\uDFC6\uD83E\uDD2B\uD83D\uDC48\uD83D\uDE2E\uD83D\uDE46\uD83C\uDF7B\uD83C\uDF43\uD83D\uDC36\uD83D\uDC81\uD83D\uDE32\uD83C\uDF3F\uD83E\uDDE1\uD83C\uDF81â¡\uD83C\uDF1E\uD83C\uDF88ââ\uD83D\uDC4B\uD83D\uDE30\uD83E\uDD28\uD83D\uDE36\uD83E\uDD1D\uD83D\uDEB6\uD83D\uDCB0\uD83C\uDF53\uD83D\uDCA2\uD83E\uDD1F\uD83D\uDE41\uD83D\uDEA8\uD83D\uDCA8\uD83E\uDD2Câ\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74â¶â¡â\uD83D\uDC8E\uD83D\uDCB8â¬\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7Aâ \uD83D\uDE45\uD83D\uDE1F\uD83D\uDE35\uD83D\uDC4E\uD83E\uDD32\uD83E\uDD20\uD83E\uDD27\uD83D\uDCCC\uD83D\uDD35\uD83D\uDC85\uD83E\uDDD0\uD83D\uDC3E\uD83C\uDF52\uD83D\uDE17\uD83E\uDD11\uD83C\uDF0A\uD83E\uDD2F\uD83D\uDC37â\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51â\uD83C\uDF34\uD83D\uDCA3\uD83D\uDC38\uD83D\uDC8C\uD83D\uDCCD\uD83E\uDD40\uD83E\uDD22\uD83D\uDC45\uD83D\uDCA1\uD83D\uDCA9\uD83D\uDC50\uD83D\uDCF8\uD83D\uDC7B\uD83E\uDD10\uD83E\uDD2E\uD83C\uDFBC\uD83E\uDD75\uD83D\uDEA9\uD83C\uDF4E\uD83C\uDF4A\uD83D\uDC7C\uD83D\uDC8D\uD83D\uDCE3\uD83E\uDD42"),oi=or.reduce((e,t,r)=>(e[r]=t,e),[]),os=or.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]),on=nA({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>
10e+=oi[t],"")},decode:function(e){let t=[];for(let r of e){let e=os[r.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}});var oo=Object.freeze({__proto__:null,base256emoji:on}),oa={encode:function e(t,r,i){r=r||[],i=i||0;for(var s=i;t>=2147483648;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-s+1,r},decode:function e(t,r){var i,s=0,r=r||0,n=0,o=r,a=t.length;do{if(o>=a)throw e.bytes=0,RangeError("Could not decode varint");i=t[o++],s+=n<28?(127&i)<<n:(127&i)*Math.pow(2,n),n+=7}while(i>=128);return e.bytes=o-r,s},encodingLength:function(e){return e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10}};let oc=(e,t,r=0)=>(oa.encode(e,t,r),t),ol=e=>oa.encodingLength(e),oh=(e,t)=>{let r=t.byteLength,i=ol(e),s=i+ol(r),n=new Uint8Array(s+r);return oc(e,n,0),oc(r,n,i),n.set(t,s),new ou(e,r,t,n)};class ou{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}let od=({name:e,code:t,encode:r})=>new op(e,t,r);class op{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?oh(this.code,t):t.then(e=>oh(this.code,e))}throw Error("Unknown type, must be binary type")}}let of=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),og=od({name:"sha2-256",code:18,encode:of("SHA-256")}),oy=od({name:"sha2-512",code:19,encode:of("SHA-512")});var om=Object.freeze({__proto__:null,sha256:og,sha512:oy}),ob=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:nE,digest:e=>oh(0,nE(e))}});new TextEncoder,new TextDecoder;let ow={...nU,...nk,...nB,...nM,...nH,...n0,...n8,...n6,...ot,...oo};function ov(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}({...om,...ob});let oE=ov("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),oI=ov("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=function(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),o_={utf8:oE,"utf-8":oE,hex:ow.base16,latin1:oI,ascii:oI,binary:oI,...ow};var oD=Object.defineProperty,oP=(e,t,r)=>t in e?oD(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oS=(e,t,r)=>oP(e,"symbol"!=typeof t?t+"":t,r);class oO{constructor(e,t){this.core=e,this.logger=t,oS(this,"keychain",new Map),oS(this,"name","keychain"),oS(this,"version","0.3"),oS(this,"initialized",!1),oS(this,"storagePrefix",s8),oS(this,"init",async()=>{if(!this.initialized){let e=await this.getKeyChain();"u">typeof e&&(this.keychain=e),this.initialized=!0}}),oS(this,"has",e=>(this.isInitialized(),this.keychain.has(e))),oS(this,"set",async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()}),oS(this,"get",e=>{this.isInitialized();let t=this.keychain.get(e);if(typeof t>"u"){let{message:t}=sl("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}),oS(this,"del",async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()}),this.core=e,this.logger=(0,sR.Ep)(t,this.name)}get context(){return(0,sR.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,eN(e))}async getKeyChain(){let e=await this.core.storage.getItem(this.storageKey);return"u">typeof e?eT(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){let{message:e}=sl("NOT_INITIALIZED",this.name);throw Error(e)}}}var ox=Object.defineProperty,oA=(e,t,r)=>t in e?ox(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oC=(e,t,r)=>oA(e,"symbol"!=typeof t?t+"":t,r);class oR{constructor(e,t,r){this.core=e,this.logger=t,oC(this,"name","crypto"),oC(this,"keychain"),oC(this,"randomSessionIdentifier",iM()),oC(this,"initialized",!1),oC(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),oC(this,"hasKeys",e=>(this.isInitialized(),this.keychain.has(e))),oC(this,"getClientId",async()=>{this.isInitialized();let e=await this.getClientSeed(),t=eo.Au(e);return eo.bG(t.publicKey)}),oC(this,"generateKeyPair",()=>{this.isInitialized();let e=function(){let e=i_.utils.randomPrivateKey(),t=i_.getPublicKey(e);return{privateKey:(0,ea.BB)(e,ik),publicKey:(0,ea.BB)(t,ik)}}();return this.setPrivateKey(e.publicKey,e.privateKey)}),oC(this,"signJWT",async e=>{this.isInitialized();let t=await this.getClientSeed(),r=eo.Au(t),i=this.randomSessionIdentifier;return await eo.vf(i,e,s4,r)}),oC(this,"generateSharedKey",(e,t,r)=>{this.isInitialized();let i=this.getPrivateKey(e),s=function(e,t){let r=i_.getSharedSecret((0,ea.mL)(e,ik),(0,ea.mL)(t,ik)),i=rg(rE,r,void 0,void 0,32);return(0,ea.BB)(i,ik)}(i,t);return this.setSymKey(s,r)}),oC(this,"setSymKey",async(e,t)=>{this.isInitialized();let r=t||iz(e);return await this.keychain.set(r,e),r}),oC(this,"deleteKeyPair",async e=>{this.isInitialized(),await this.keychain.del(e)}),oC(this,"deleteSymKey",async e=>{this.isInitialized(),await this.keychain.del(e)}),oC(this,"encode",async(e,t,r)=>{this.isInitialized();let i=iY(r),s=(0,sY.u)(t);
10if(2===i.type)return function(e,t){let r=iH(2),i=ti(12),s=(0,ea.mL)(e,i$),n=iW({type:r,sealed:s,iv:i});return t===iB?iK(n):n}(s,r?.encoding);if(iZ(i)){let t=i.senderPublicKey,r=i.receiverPublicKey;e=await this.generateSharedKey(t,r)}let n=this.getSymKey(e),{type:o,senderPublicKey:a}=i;return function(e){let t=iH("u">typeof e.type?e.type:0);if(1===iV(t)&&typeof e.senderPublicKey>"u")throw Error("Missing sender public key for type 1 envelope");let r="u">typeof e.senderPublicKey?(0,ea.mL)(e.senderPublicKey,ik):void 0,i="u">typeof e.iv?(0,ea.mL)(e.iv,ik):ti(12),s=(0,ea.mL)(e.symKey,ik),n=rh(s,i).encrypt((0,ea.mL)(e.message,i$)),o=iW({type:t,sealed:n,iv:i,senderPublicKey:r});return e.encoding===iB?iK(o):o}({type:o,symKey:n,message:s,senderPublicKey:a,encoding:r?.encoding})}),oC(this,"decode",async(e,t,r)=>{this.isInitialized();let i=function(e,t){let r=iG({encoded:e,encoding:t?.encoding});return iY({type:iV(r.type),senderPublicKey:"u">typeof r.senderPublicKey?(0,ea.BB)(r.senderPublicKey,ik):void 0,receiverPublicKey:t?.receiverPublicKey})}(t,r);if(2===i.type){let e=function(e,t){let{sealed:r}=iG({encoded:e,encoding:t});return(0,ea.BB)(r,i$)}(t,r?.encoding);return(0,sY.D)(e)}if(iZ(i)){let t=i.receiverPublicKey,r=i.senderPublicKey;e=await this.generateSharedKey(t,r)}try{let i=this.getSymKey(e),s=function(e){let t=(0,ea.mL)(e.symKey,ik),{sealed:r,iv:i}=iG({encoded:e.encoded,encoding:e.encoding}),s=rh(t,i).decrypt(r);if(null===s)throw Error("Failed to decrypt");return(0,ea.BB)(s,i$)}({symKey:i,encoded:t,encoding:r?.encoding});return(0,sY.D)(s)}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}}),oC(this,"getPayloadType",(e,t=iq)=>{let r=iG({encoded:e,encoding:t});return iV(r.type)}),oC(this,"getPayloadSenderPublicKey",(e,t=iq)=>{let r=iG({encoded:e,encoding:t});return r.senderPublicKey?(0,ea.BB)(r.senderPublicKey,ik):void 0}),this.core=e,this.logger=(0,sR.Ep)(t,this.name),this.keychain=r||new oO(this.core,this.logger)}get context(){return(0,sR.Fd)(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(s6)}catch{e=iM(),await this.keychain.set(s6,e)}return function(e,t="utf8"){let r=o_[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e,"utf8"):r.decoder.decode(`${r.prefix}${e}`)}(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){let{message:e}=sl("NOT_INITIALIZED",this.name);throw Error(e)}}}var oN=Object.defineProperty,oT=Object.defineProperties,oj=Object.getOwnPropertyDescriptors,oU=Object.getOwnPropertySymbols,oL=Object.prototype.hasOwnProperty,ok=Object.prototype.propertyIsEnumerable,oq=(e,t,r)=>t in e?oN(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oB=(e,t)=>{for(var r in t||(t={}))oL.call(t,r)&&oq(e,r,t[r]);if(oU)for(var r of oU(t))ok.call(t,r)&&oq(e,r,t[r]);return e},o$=(e,t)=>oT(e,oj(t)),oM=(e,t,r)=>oq(e,"symbol"!=typeof t?t+"":t,r);class oz extends sM{constructor(e,t){super(e,t),this.logger=e,this.core=t,oM(this,"messages",new Map),oM(this,"messagesWithoutClientAck",new Map),oM(this,"name","messages"),oM(this,"version","0.3"),oM(this,"initialized",!1),oM(this,"storagePrefix",s8),oM(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{let e=await this.getRelayerMessages();"u">typeof e&&(this.messages=e);let t=await this.getRelayerMessagesWithoutClientAck();"u">typeof t&&(this.messagesWithoutClientAck=t),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}finally{this.initialized=!0}}}),oM(this,"set",async(e,t,r)=>{this.isInitialized();let i=iF(t),s=this.messages.get(e);if(typeof s>"u"&&(s={}),"u">typeof s[i])return i;if(s[i]=t,this.messages.set(e,s),r===ns.inbound){let r=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,o$(oB({},r),{[i]:t}))}return await this.persist(),i}),oM(this,"get",e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>"u"&&(t={}),t}),oM(this,"getWithoutAck",e=>{this.isInitialized();let t={};for(let r of e){let e=this.messagesWithoutClientAck.get(r)||{};t[r]=Object.values(e)}return t}),oM(this,"has",(e,t)=>{this.isInitialized();let r=this.get(e),i=iF(t);return"u">typeof r[i]}),oM(this,"ack",async(e,t)=>{this.isInitialized();let r=this.messagesWithoutClientAck.get(e);if(typeof r>"u")return;let i=iF(t);delete r[i],0===Object.keys(r).length?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,r),await this.persist()}),oM(this,"del",async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()}),this.logger=(0,sR.Ep)(e,this.name),this.core=t}
10get context(){return(0,sR.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name+"_withoutClientAck"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,eN(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,eN(e))}async getRelayerMessages(){let e=await this.core.storage.getItem(this.storageKey);return"u">typeof e?eT(e):void 0}async getRelayerMessagesWithoutClientAck(){let e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return"u">typeof e?eT(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){let{message:e}=sl("NOT_INITIALIZED",this.name);throw Error(e)}}}var oF=Object.defineProperty,oH=Object.defineProperties,oV=Object.getOwnPropertyDescriptors,oK=Object.getOwnPropertySymbols,oJ=Object.prototype.hasOwnProperty,oW=Object.prototype.propertyIsEnumerable,oG=(e,t,r)=>t in e?oF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,oY=(e,t)=>{for(var r in t||(t={}))oJ.call(t,r)&&oG(e,r,t[r]);if(oK)for(var r of oK(t))oW.call(t,r)&&oG(e,r,t[r]);return e},oZ=(e,t)=>oH(e,oV(t)),oQ=(e,t,r)=>oG(e,"symbol"!=typeof t?t+"":t,r);class oX extends sz{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,oQ(this,"events",new i.EventEmitter),oQ(this,"name","publisher"),oQ(this,"queue",new Map),oQ(this,"publishTimeout",(0,o.toMiliseconds)(o.ONE_MINUTE)),oQ(this,"initialPublishTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),oQ(this,"needsTransportRestart",!1),oQ(this,"publish",async(e,t,r)=>{var i;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:e,message:t,opts:r}});let s=r?.ttl||s9,n=iQ(r),o=r?.prompt||!1,a=r?.tag||0,c=r?.id||(0,sQ.getBigIntRpcId)().toString(),l={topic:e,message:t,opts:{ttl:s,relay:n,prompt:o,tag:a,id:c,attestation:r?.attestation,tvf:r?.tvf}},h=`Failed to publish payload, please try again. id:${c} tag:${a}`;try{let i=new Promise(async i=>{let n=({id:e})=>{l.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(ne.publish,n),i(l))};this.relayer.events.on(ne.publish,n);let h=eU(new Promise((i,n)=>{this.rpcPublish({topic:e,message:t,ttl:s,prompt:o,tag:a,id:c,attestation:r?.attestation,tvf:r?.tvf}).then(i).catch(e=>{this.logger.warn(e,e?.message),n(e)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${c} tag:${a}`);try{await h,this.events.removeListener(ne.publish,n)}catch(e){this.queue.set(c,oZ(oY({},l),{attempt:1})),this.logger.warn(e,e?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:c,topic:e,message:t,opts:r}}),await eU(i,this.publishTimeout,h)}catch(e){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(e),null!=(i=r?.internal)&&i.throwOnFailedPublish)throw e}finally{this.queue.delete(c)}}),oQ(this,"on",(e,t)=>{this.events.on(e,t)}),oQ(this,"once",(e,t)=>{this.events.once(e,t)}),oQ(this,"off",(e,t)=>{this.events.off(e,t)}),oQ(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.relayer=e,this.logger=(0,sR.Ep)(t,this.name),this.registerEventListeners()}get context(){return(0,sR.Fd)(this.logger)}async rpcPublish(e){var t,r,i,s;let{topic:n,message:o,ttl:a=s9,prompt:c,tag:l,id:h,attestation:u,tvf:d}=e,p={method:iX(iQ().protocol).publish,params:oY({topic:n,message:o,ttl:a,prompt:c,tag:l,attestation:u},d),id:h};sp(null==(t=p.params)?void 0:t.prompt)&&(null==(r=p.params)||delete r.prompt),sp(null==(i=p.params)?void 0:i.tag)&&(null==(s=p.params)||delete s.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:p});let f=await this.relayer.request(p);return this.relayer.events.emit(ne.publish,e),this.logger.debug("Successfully Published Payload"),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{let r=e.attempt+1;this.queue.set(t,oZ(oY({},e),{attempt:r}));let{topic:i,message:s,opts:n,attestation:o}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${r}`),await this.rpcPublish(oZ(oY({},e),{topic:i,message:s,ttl:n.ttl,prompt:n.prompt,tag:n.tag,id:n.id,attestation:o,tvf:n.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(sA.Lx.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(ne.connection_stalled);return}this.checkQueue()}),this.relayer.on(ne.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var o0=Object.defineProperty,o1=(e,t,r)=>t in e?o0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,o2=(e,t,r)=>o1(e,"symbol"!=typeof t?t+"":t,r);class o8{constructor(){o2(this,"map",new Map),o2(this,"set",(e,t)=>{let r=this.get(e);this.exists(e,t)||this.map.set(e,[...r,t])}),o2(this,"get",e=>this.map.get(e)||[]),o2(this,"exists",(e,t)=>this.get(e).includes(t)),o2(this,"delete",(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;let r=this.get(e);if(!this.exists(e,t))return;let i=r.filter(e=>e!==t);if(!i.length){this.map.delete(e);return}this.map.set(e,i)}),o2(this,"clear",()=>{this.map.clear()})}
10get topics(){return Array.from(this.map.keys())}}var o3=Object.defineProperty,o5=Object.defineProperties,o6=Object.getOwnPropertyDescriptors,o4=Object.getOwnPropertySymbols,o9=Object.prototype.hasOwnProperty,o7=Object.prototype.propertyIsEnumerable,ae=(e,t,r)=>t in e?o3(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,at=(e,t)=>{for(var r in t||(t={}))o9.call(t,r)&&ae(e,r,t[r]);if(o4)for(var r of o4(t))o7.call(t,r)&&ae(e,r,t[r]);return e},ar=(e,t)=>o5(e,o6(t)),ai=(e,t,r)=>ae(e,"symbol"!=typeof t?t+"":t,r);class as extends sV{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,ai(this,"subscriptions",new Map),ai(this,"topicMap",new o8),ai(this,"events",new i.EventEmitter),ai(this,"name","subscription"),ai(this,"version","0.3"),ai(this,"pending",new Map),ai(this,"cached",[]),ai(this,"initialized",!1),ai(this,"storagePrefix",s8),ai(this,"subscribeTimeout",(0,o.toMiliseconds)(o.ONE_MINUTE)),ai(this,"initialSubscribeTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),ai(this,"clientId"),ai(this,"batchSubscribeTopicsLimit",500),ai(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),ai(this,"subscribe",async(e,t)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}});try{let r=iQ(t),i={topic:e,relay:r,transportType:t?.transportType};this.pending.set(e,i);let s=await this.rpcSubscribe(e,r,t);return"string"==typeof s&&(this.onSubscribe(s,i),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}})),s}catch(e){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(e),e}}),ai(this,"unsubscribe",async(e,t)=>{this.isInitialized(),"u">typeof t?.id?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)}),ai(this,"isSubscribed",e=>new Promise(t=>{t(this.topicMap.topics.includes(e))})),ai(this,"isKnownTopic",e=>new Promise(t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some(t=>t.topic===e))})),ai(this,"on",(e,t)=>{this.events.on(e,t)}),ai(this,"once",(e,t)=>{this.events.once(e,t)}),ai(this,"off",(e,t)=>{this.events.off(e,t)}),ai(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),ai(this,"start",async()=>{await this.onConnect()}),ai(this,"stop",async()=>{await this.onDisconnect()}),ai(this,"restart",async()=>{await this.restore(),await this.onRestart()}),ai(this,"checkPending",async()=>{if(0===this.pending.size&&(!this.initialized||!this.relayer.connected))return;let e=[];this.pending.forEach(t=>{e.push(t)}),await this.batchSubscribe(e)}),ai(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(sA.Lx.pulse,async()=>{await this.checkPending()}),this.events.on(no.created,async e=>{let t=no.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}),this.events.on(no.deleted,async e=>{let t=no.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})}),this.relayer=e,this.logger=(0,sR.Ep)(t,this.name),this.clientId=""}get context(){return(0,sR.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let r=!1;try{r=this.getSubscription(e).topic===t}catch{}return r}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){let r=this.topicMap.get(e);await Promise.all(r.map(async r=>await this.unsubscribeById(e,r,t)))}async unsubscribeById(e,t,r){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:r}});try{let i=iQ(r);await this.restartToComplete({topic:e,id:t,relay:i}),await this.rpcUnsubscribe(e,t,i);let s=sh("USER_DISCONNECTED",`${this.name}, ${e}`);
10await this.onUnsubscribe(e,t,s),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:r}})}catch(e){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(e),e}}async rpcSubscribe(e,t,r){var i;r&&r?.transportType!==ni.relay||await this.restartToComplete({topic:e,id:e,relay:t});let s={method:iX(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s});let n=null==(i=r?.internal)?void 0:i.throwOnFailedPublish;try{let t=await this.getSubscriptionId(e);if(r?.transportType===ni.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(s).catch(e=>this.logger.warn(e))},(0,o.toMiliseconds)(o.ONE_SECOND)),t;let i=new Promise(async t=>{let r=i=>{i.topic===e&&(this.events.removeListener(no.created,r),t(i.id))};this.events.on(no.created,r);try{let i=await eU(new Promise((e,t)=>{this.relayer.request(s).catch(e=>{this.logger.warn(e,e?.message),t(e)}).then(e)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(no.created,r),t(i)}catch{}}),a=await eU(i,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!a&&n)throw Error(`Subscribing to ${e} failed, please try again`);return a?t:null}catch(e){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(ne.connection_stalled),n)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;let t=e[0].relay,r={method:iX(t.protocol).batchSubscribe,params:{topics:e.map(e=>e.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:r});try{await await eU(new Promise(e=>{this.relayer.request(r).catch(e=>this.logger.warn(e)).then(e)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(ne.connection_stalled)}}async rpcBatchFetchMessages(e){let t;if(!e.length)return;let r=e[0].relay,i={method:iX(r.protocol).batchFetchMessages,params:{topics:e.map(e=>e.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{t=await await eU(new Promise((e,t)=>{this.relayer.request(i).catch(e=>{this.logger.warn(e),t(e)}).then(e)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(ne.connection_stalled)}return t}rpcUnsubscribe(e,t,r){let i={method:iX(r.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,t){this.setSubscription(e,ar(at({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(e=>{this.setSubscription(e.id,at({},e)),this.pending.delete(e.topic)})}async onUnsubscribe(e,t,r){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,r),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,at({},t)),this.topicMap.set(t.topic,e),this.events.emit(no.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});let t=this.subscriptions.get(e);if(!t){let{message:t}=sl("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});let r=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(r.topic,e),this.events.emit(no.deleted,ar(at({},r),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(no.sync)}
10async onRestart(){if(this.cached.length){let e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let r=0;r<t;r++){let t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(no.resubscribed)}async restore(){try{let e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){let{message:e}=sl("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async e=>ar(at({},e),{id:await this.getSubscriptionId(e.topic)})))))}async batchFetchMessages(e){var t;if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);let r=await this.rpcBatchFetchMessages(e);r&&r.messages&&(await (t=(0,o.toMiliseconds)(o.ONE_SECOND),new Promise(e=>setTimeout(e,t))),await this.relayer.handleBatchMessageEvents(r.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){let{message:e}=sl("NOT_INITIALIZED",this.name);throw Error(e)}}async restartToComplete(e){this.relayer.connected||this.relayer.connecting||(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return iF(e+await this.getClientId())}}var an=Object.defineProperty,ao=Object.getOwnPropertySymbols,aa=Object.prototype.hasOwnProperty,ac=Object.prototype.propertyIsEnumerable,al=(e,t,r)=>t in e?an(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ah=(e,t)=>{for(var r in t||(t={}))aa.call(t,r)&&al(e,r,t[r]);if(ao)for(var r of ao(t))ac.call(t,r)&&al(e,r,t[r]);return e},au=(e,t,r)=>al(e,"symbol"!=typeof t?t+"":t,r);class ad extends sF{constructor(e){super(e),au(this,"protocol","wc"),au(this,"version",2),au(this,"core"),au(this,"logger"),au(this,"events",new i.EventEmitter),au(this,"provider"),au(this,"messages"),au(this,"subscriber"),au(this,"publisher"),au(this,"name","relayer"),au(this,"transportExplicitlyClosed",!1),au(this,"initialized",!1),au(this,"connectionAttemptInProgress",!1),au(this,"relayUrl"),au(this,"projectId"),au(this,"packageName"),au(this,"bundleId"),au(this,"hasExperiencedNetworkDisruption",!1),au(this,"pingTimeout"),au(this,"heartBeatTimeout",(0,o.toMiliseconds)(o.THIRTY_SECONDS+o.FIVE_SECONDS)),au(this,"reconnectTimeout"),au(this,"connectPromise"),au(this,"reconnectInProgress",!1),au(this,"requestsInFlight",[]),au(this,"connectTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),au(this,"request",async e=>{var t,r;this.logger.debug("Publishing Request Payload");let i=e.id||(0,sQ.getBigIntRpcId)().toString();await this.toEstablishConnection();try{this.logger.trace({id:i,method:e.method,topic:null==(t=e.params)?void 0:t.topic},"relayer.request - publishing...");let s=`${i}:${(null==(r=e.params)?void 0:r.tag)||""}`;this.requestsInFlight.push(s);let n=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter(e=>e!==s),n}catch(e){throw this.logger.debug(`Failed to Publish Request: ${i}`),e}}),au(this,"resetPingTimeout",()=>{eD()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var e,t,r,i;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),null==(i=null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.terminate)||i.call(r)}catch(e){this.logger.warn(e,e?.message)}},this.heartBeatTimeout))}),au(this,"onPayloadHandler",e=>{this.onProviderPayload(e),this.resetPingTimeout()}),au(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected \uD83D\uDEDC"),this.startPingTimeout(),this.events.emit(ne.connect)}),au(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected \uD83D\uDED1"),this.requestsInFlight=[],this.onProviderDisconnect()}),au(this,"onProviderErrorHandler",e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(ne.error,e),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),au(this,"registerProviderListeners",()=>{this.provider.on(nt.payload,this.onPayloadHandler),this.provider.on(nt.connect,this.onConnectHandler),this.provider.on(nt.disconnect,this.onDisconnectHandler),this.provider.on(nt.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger="u">typeof e.logger&&"string"!=typeof e.logger?(0,sR.Ep)(e.logger,this.name):(0,sR.gw)((0,sR.jI)({level:e.logger||"error"})),this.messages=new oz(this.logger,e.core),this.subscriber=new as(this,this.logger),this.publisher=new oX(this,this.logger),this.relayUrl=e?.relayUrl||s7,this.projectId=e.projectId,eP()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)&&(null==r.g?void 0:r.g.Platform.OS)==="android"?this.packageName=ex():eP()&&"u">typeof r.g&&"u">typeof(null==r.g?void 0:r.g.Platform)&&(null==r.g?void 0:r.g.Platform.OS)==="ios"&&(this.bundleId=ex()),this.provider={}}
10async init(){if(this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return(0,sR.Fd)(this.logger)}get connected(){var e,t,r;return(null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.readyState)===1}get connecting(){var e,t,r;return(null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.readyState)===0||void 0!==this.connectPromise}async publish(e,t,r){this.isInitialized(),await this.publisher.publish(e,t,r),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:ni.relay},ns.outbound)}async subscribe(e,t){var r,i,s;this.isInitialized(),null!=t&&t.transportType&&t?.transportType!=="relay"||await this.toEstablishConnection();let n=typeof(null==(r=t?.internal)?void 0:r.throwOnFailedPublish)>"u"||(null==(i=t?.internal)?void 0:i.throwOnFailedPublish),o=(null==(s=this.subscriber.topicMap.get(e))?void 0:s[0])||"",a,c=t=>{t.topic===e&&(this.subscriber.off(no.created,c),a())};return await Promise.all([new Promise(e=>{a=e,this.subscriber.on(no.created,c)}),new Promise(async(r,i)=>{o=await this.subscriber.subscribe(e,ah({internal:{throwOnFailedPublish:n}},t)).catch(e=>{n&&i(e)})||o,r()})]),o}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}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 transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await eU(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.warn("Starting WS connection skipped because the client has no topics to work with.");return}if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(t,r)=>{await this.connect(e).then(t).catch(r).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),this.connectionAttemptInProgress||(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await sP())throw Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}let t=e.sort((e,t)=>e.publishedAt-t.publishedAt);for(let e of(this.logger.debug(`Batch of ${t.length} message events sorted`),t))try{await this.onMessageEvent(e)}catch(e){this.logger.warn(e,"Error while processing batch message event: "+e?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){let{topic:r}=e;if(!t.sessionExists){let e=eq(o.FIVE_MINUTES);await this.core.pairing.pairings.set(r,{topic:r,expiry:e,relay:{protocol:"irn"},active:!1})}this.events.emit(ne.message,e),await this.recordMessageEvent(e,ns.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(e,t)=>{let r=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(nt.disconnect,r),await eU(new Promise((e,t)=>
10{this.provider.connect().then(e).catch(t)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(e=>{t(e)}).finally(()=>{this.provider.off(nt.disconnect,r),clearTimeout(this.reconnectTimeout)}),await new Promise(async(e,t)=>{let r=()=>{t(Error("Connection interrupted while trying to subscribe"))};this.provider.once(nt.disconnect,r),await this.subscriber.start().then(e).catch(t).finally(()=>{this.provider.off(nt.disconnect,r)})}),this.hasExperiencedNetworkDisruption=!1,e()})}catch(e){await this.subscriber.stop(),this.logger.warn({},e.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(e=>setTimeout(e,(0,o.toMiliseconds)(1*t))),t++}}startPingTimeout(){var e,t,r,i,s;if(eD())try{null!=(t=null==(e=this.provider)?void 0:e.connection)&&t.socket&&(null==(s=null==(i=null==(r=this.provider)?void 0:r.connection)?void 0:i.socket)||s.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(e){this.logger.warn(e,e?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();let e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new sZ.r(new sX.Z(function({protocol:e,version:t,relayUrl:r,sdkVersion:i,auth:s,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){let l=r.split("?"),h=eC(e,t,i),u=function(e,t){let r=new URLSearchParams(e);for(let e of Object.keys(t).sort())if(t.hasOwnProperty(e)){let i=t[e];void 0!==i&&r.set(e,i)}return r.toString()}(l[1]||"",{auth:s,ua:h,projectId:n,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:a||void 0});return l[0]+"?"+u}({sdkVersion:nr,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,t){let{topic:r,message:i}=e;await this.messages.set(r,i,t)}async shouldIgnoreMessageEvent(e){let{topic:t,message:r}=e;if(!r||0===r.length)return this.logger.warn(`Ignoring invalid/empty message: ${r}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;let i=this.messages.has(t,r);return i&&this.logger.warn(`Ignoring duplicate message: ${r}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),(0,sQ.isJsonRpcRequest)(e)){if(!e.method.endsWith("_subscription"))return;let t=e.params,{topic:r,message:i,publishedAt:s,attestation:n}=t.data,o={topic:r,message:i,publishedAt:s,transportType:ni.relay,attestation:n};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(ah({type:"event",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else(0,sQ.isJsonRpcResponse)(e)&&this.events.emit(ne.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,ns.inbound),this.events.emit(ne.message,e))}async acknowledgePayload(e){let t=(0,sQ.formatJsonRpcResult)(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(nt.payload,this.onPayloadHandler),this.provider.off(nt.connect,this.onConnectHandler),this.provider.off(nt.disconnect,this.onDisconnectHandler),this.provider.off(nt.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await sP();(function(e){switch(eO()){case e_.browser:!eP()&&eS()&&(window.addEventListener("online",()=>e(!0)),window.addEventListener("offline",()=>e(!1)));break;case e_.reactNative:eP()&&"u">typeof r.g&&null!=r.g&&r.g.NetInfo&&r.g?.NetInfo.addEventListener(t=>e(t?.isConnected));case e_.node:}})(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(e=>this.logger.error(e,e?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(sA.Lx.pulse,async()=>{var e;if(!this.transportExplicitlyClosed&&!this.connected&&(!(eS()&&(0,a.getDocument)())||
10(null==(e=(0,a.getDocument)())?void 0:e.visibilityState)==="visible"))try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(ne.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},(0,o.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){let{message:e}=sl("NOT_INITIALIZED",this.name);throw Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function ap(){}function af(e){if(!e||"object"!=typeof e)return!1;let t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&"[object Object]"===Object.prototype.toString.call(e)}function ag(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function ay(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let am="[object Arguments]",ab="[object Object]";var aw=Object.defineProperty,av=Object.getOwnPropertySymbols,aE=Object.prototype.hasOwnProperty,aI=Object.prototype.propertyIsEnumerable,a_=(e,t,r)=>t in e?aw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aD=(e,t)=>{for(var r in t||(t={}))aE.call(t,r)&&a_(e,r,t[r]);if(av)for(var r of av(t))aI.call(t,r)&&a_(e,r,t[r]);return e},aP=(e,t,r)=>a_(e,"symbol"!=typeof t?t+"":t,r);class aS extends sH{constructor(e,t,r,i=s8,s){super(e,t,r,i),this.core=e,this.logger=t,this.name=r,aP(this,"map",new Map),aP(this,"version","0.3"),aP(this,"cached",[]),aP(this,"initialized",!1),aP(this,"getKey"),aP(this,"storagePrefix",s8),aP(this,"recentlyDeleted",[]),aP(this,"recentlyDeletedLimit",200),aP(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>{var t;this.getKey&&null!==e&&!sp(e)?this.map.set(this.getKey(e),e):(null==(t=e?.proposer)?void 0:t.publicKey)?this.map.set(e.id,e):e?.topic&&this.map.set(e.topic,e)}),this.cached=[],this.initialized=!0)}),aP(this,"set",async(e,t)=>{this.isInitialized(),this.map.has(e)?await this.update(e,t):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:e,value:t}),this.map.set(e,t),await this.persist())}),aP(this,"get",e=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:e}),this.getData(e))),aP(this,"getAll",e=>(this.isInitialized(),e?this.values.filter(t=>Object.keys(e).every(r=>(function e(t,r,i,s,n,o,a){let c=a(t,r,i,s,n,o);if(void 0!==c)return c;if(typeof t==typeof r)switch(typeof t){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return t===r;case"number":return t===r||Object.is(t,r)}return function t(r,i,s,n){if(Object.is(r,i))return!0;let o=ay(r),a=ay(i);if(o===am&&(o=ab),a===am&&(a=ab),o!==a)return!1;switch(o){case"[object String]":return r.toString()===i.toString();case"[object Number]":{let e=r.valueOf(),t=i.valueOf();return e===t||Number.isNaN(e)&&Number.isNaN(t)}case"[object Boolean]":case"[object Date]":case"[object Symbol]":return Object.is(r.valueOf(),i.valueOf());case"[object RegExp]":return r.source===i.source&&r.flags===i.flags;case"[object Function]":return r===i}s=s??new Map;let c=s.get(r),l=s.get(i);if(null!=c&&null!=l)return c===i;s.set(r,i),s.set(i,r);try{switch(o){case"[object Map]":if(r.size!==i.size)return!1;for(let[t,o]of r.entries())if(!i.has(t)||!e(o,i.get(t),t,r,i,s,n))return!1;return!0;case"[object Set]":{if(r.size!==i.size)return!1;let t=Array.from(r.values()),o=Array.from(i.values());for(let a=0;a<t.length;a++){let c=t[a],l=o.findIndex(t=>e(c,t,void 0,r,i,s,n));if(-1===l)return!1;o.splice(l,1)}return!0}case"[object Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":case"[object BigUint64Array
10]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object BigInt64Array]":case"[object Float32Array]":case"[object Float64Array]":if("u">typeof s0&&s0.isBuffer(r)!==s0.isBuffer(i)||r.length!==i.length)return!1;for(let t=0;t<r.length;t++)if(!e(r[t],i[t],t,r,i,s,n))return!1;return!0;case"[object ArrayBuffer]":return r.byteLength===i.byteLength&&t(new Uint8Array(r),new Uint8Array(i),s,n);case"[object DataView]":return r.byteLength===i.byteLength&&r.byteOffset===i.byteOffset&&t(new Uint8Array(r),new Uint8Array(i),s,n);case"[object Error]":return r.name===i.name&&r.message===i.message;case ab:{if(!(t(r.constructor,i.constructor,s,n)||af(r)&&af(i)))return!1;let o=[...Object.keys(r),...ag(r)],a=[...Object.keys(i),...ag(i)];if(o.length!==a.length)return!1;for(let t=0;t<o.length;t++){let a=o[t],c=r[a];if(!Object.hasOwn(i,a))return!1;let l=i[a];if(!e(c,l,a,r,i,s,n))return!1}return!0}default:return!1}}finally{s.delete(r),s.delete(i)}}(t,r,o,a)})(t[r],e[r],void 0,void 0,void 0,void 0,ap))):this.values)),aP(this,"update",async(e,t)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:e,update:t});let r=aD(aD({},this.getData(e)),t);this.map.set(e,r),await this.persist()}),aP(this,"delete",async(e,t)=>{this.isInitialized(),this.map.has(e)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:e,reason:t}),this.map.delete(e),this.addToRecentlyDeleted(e),await this.persist())}),this.logger=(0,sR.Ep)(t,this.name),this.storagePrefix=i,this.getKey=s}get context(){return(0,sR.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){let t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){let{message:t}=sl("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),Error(t)}let{message:t}=sl("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(t),Error(t)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{let e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){let{message:e}=sl("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){let{message:e}=sl("NOT_INITIALIZED",this.name);throw Error(e)}}}var aO=Object.defineProperty,ax=(e,t,r)=>t in e?aO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aA=(e,t,r)=>ax(e,"symbol"!=typeof t?t+"":t,r);class aC{constructor(e,t){this.core=e,this.logger=t,aA(this,"name","pairing"),aA(this,"version","0.3"),aA(this,"events",new(s())),aA(this,"pairings"),aA(this,"initialized",!1),aA(this,"storagePrefix",s8),aA(this,"ignoredPayloadTypes",[1]),aA(this,"registeredMethods",[]),aA(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),aA(this,"register",({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]}),aA(this,"create",async e=>{this.isInitialized();let t=iM(),r=await this.core.crypto.setSymKey(t),i=eq(o.FIVE_MINUTES),s={protocol:"irn"},n={topic:r,expiry:i,relay:s,active:!1,methods:e?.methods},a=i1({protocol:this.core.protocol,version:this.core.version,topic:r,symKey:t,relay:s,expiryTimestamp:i,methods:e?.methods});return this.events.emit(nc.create,n),this.core.expirer.set(r,i),await this.pairings.set(r,n),await this.core.relayer.subscribe(r,{transportType:e?.transportType}),{topic:r,uri:a}}),aA(this,"pair",async e=>{let t;this.isInitialized();let r=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[nf.pairing_started]}});this.isValidPair(e,r);let{topic:i,symKey:s,relay:n,expiryTimestamp:a,methods:c}=i0(e.uri);if(r.props.properties.topic=i,r.addTrace(nf.pairing_uri_validation_success),r.addTrace(nf.pairing_uri_not_expired),this.pairings.keys.includes(i)){if(t=this.pairings.get(i),r.addTrace(nf.existing_pairing),t.active)throw r.setError(ng.active_pairing_already_exists),Error(`Pairing already exists: ${i}. Please try again with a new connection URI.`);r.addTrace(nf.pairing_not_expired)}let l=a||eq(o.FIVE_MINUTES),h={topic:i,relay:n,expiry:l,active:!1,methods:c};this.core.expirer.set(i,l),await this.pairings.set(i,h),r.addTrace(nf.store_new_pairing),e.activatePairing&&await this.activate({topic:i}),this.events.emit(nc.create,h),r.addTrace(nf.emit_inactive_pairing),this.core.crypto.keychain.has(i)||await this.core.crypto.setSymKey(s,i),r.addTrace(nf.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{r.setError(ng.no_internet_connection)}try{await this.core.relayer.subscribe(i,{relay:n})}catch(e){throw r.setError(ng.subscribe_pairing_topic_failure),e}return r.addTrace(nf.subscribe_pairing_topic_success),h}),aA(this,"activate",async({topic:e})=>{this.isInitialized();let t=eq(o.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})}),aA(this,"ping",async e=>{this.isInitialized(),await this.isValidPing(e),this.logger.warn("ping() is deprecated and will be removed in the next major release.");let{topic:t}=e;if(this.pairings.keys.includes(t)){let e=await this.sendRequest(t,"wc_pairingPing",{}),{done:r,resolve:i,reject:s}=ej();this.events.once(e$("pairing_ping",e),({error:e})=>{e?s(e):i()}),await r()}}),aA(this,"updateExpiry",async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})}),aA(this,"updateMetadata",async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})}),aA(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),aA(this,"disconnect",async e=>{this.isInitialized(),await this.isValidDisconnect(e);let{topic:t}=e;this.pairings.keys.includes(t)&&(await this.sendRequest(t,"wc_pairingDelete",sh("USER_DISCONNECTED")),await this.deletePairing(t))}),aA(this,"formatUriFromPairing",e=>{this.isInitialized();let{topic:t,relay:r,expiry:i,methods:s}=e,n=this.core.crypto.keychain.get(t);return i1({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:n,relay:r,expiryTimestamp:i,methods:s})}),aA(this,"sendRequest",async(e,t,r)=>{let i=(0,sQ.formatJsonRpcRequest)(t,r),s=await this.core.crypto.encode(e,i),n=na[t].req;return this.core.history.set(e,i),this.core.relayer.publish(e,s,n),i.id}),aA(this,"sendResult",async(e,t,r)=>{let i=(0,sQ.formatJsonRpcResult)(e,r),s=await this.core.crypto.encode(t,i),n=(await this.core.history.get(t,e)).request.method,o=na[n].res;await this.core.relayer.publish(t,s,o),await this.core.history.resolve(i)}),aA(this,"sendError",async(e,t,r)=>{let i=(0,sQ.formatJsonRpcError)(e,r),s=await this.core.crypto.encode(t,i),n=(await this.core.history.get(t,e)).request.method,o=na[n]?na[n].res:na.unregistered_method.res;await this.core.relayer.publish(t,s,o),await this.core.history.resolve(i)}),aA(this,"deletePairing",async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,sh("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])}),aA(this,"cleanup",async()=>{let e=this.pairings.getAll().filter(e=>eB(e.expiry));await Promise.all(e.map(e=>this.deletePairing(e.topic)))}),aA(this,"onRelayEventRequest",async e=>{let{topic:t,payload:r}=e;switch(r.method){case"wc_pairingPing":return await this.onPairingPingRequest(t,r);case"wc_pairingDelete":return await this.onPairingDeleteRequest(t,r);default:return await this.onUnknownRpcMethodRequest(t,r)}}),aA(this,"onRelayEventResponse",async e=>{let{topic:t,payload:r}=e,i=(await this.core.history.get(t,r.id)).request.method;return"wc_pairingPing"===i?this.onPairingPingResponse(t,r):this.onUnknownRpcMethodResponse(i)}),aA(this,"onPairingPingRequest",async(e,t)=>{let{id:r}=t;try{this.isValidPing({topic:e}),await this.sendResult(r,e,!0),this.events.emit(nc.ping,{id:r,topic:e})}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),aA(this,"onPairingPingResponse",(e,t)=>{let{id:r}=t;setTimeout(()=>{(0,sQ.isJsonRpcResult)(t)?this.events.emit(e$("pairing_ping",r),{}):(0,sQ.isJsonRpcError)(t)&&this.events.emit(e$("pairing_ping",r),{error:t.error})},500)}),aA(this,"onPairingDeleteRequest",async(e,t)=>{let{id:r}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(nc.delete,{id:r,topic:e})}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),aA(this,"onUnknownRpcMethodRequest",async(e,t)=>{let{id:r,method:i}=t;try{if(this.registeredMethods.includes(i))return;let t=sh("WC_METHOD_UNSUPPORTED",i);await this.sendError(r,e,t),this.logger.error(t)}catch(t){await this.sendError(r,e,t),this.logger.error(t)}}),aA(this,"onUnknownRpcMethodResponse",e=>{this.registeredMethods.includes(e)||this.logger.error(sh("WC_METHOD_UNSUPPORTED",e))}),aA(this,"isValidPair",(e,t)=>{var r;if(!sE(e)){let{message:r}=sl("MISSING_OR_INVALID",`pair() params: ${e}`);throw t.setError(ng.malformed_pairing_uri),Error(r)}if(!function(e){function t(e){try{return"u">typeof new URL(e)}catch{return!1}}try{if(sf(e,!1)){if(t(e))return!0;let r=eJ(e);return t(r)}}catch{}return!1}(e.uri)){let{message:r}=sl("MISSING_OR_INVALID",`pair() uri: ${e.uri}`);throw t.setError(ng.malformed_pairing_uri),Error(r)}let i=i0(e?.uri);if(!(null!=(r=i?.relay)&&r.protocol)){let{message:e}=sl("MISSING_OR_INVALID","pair() uri#relay-protocol");throw t.setError(ng.malformed_pairing_uri),Error(e)}if(!(null!=i&&i.symKey)){let{message:e}=sl("MISSING_OR_INVALID","pair() uri#symKey");throw t.setError(ng.malformed_pairing_uri),Error(e)}if(null!=i&&i.expiryTimestamp&&(0,o.toMiliseconds)(i?.expiryTimestamp)<Date.now()){t.setError(ng.pairing_expired);let{message:e}=sl("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw Error(e)}}),aA(this,"isValidPing",async e=>{if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),aA(this,"isValidDisconnect",async e=>{if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidPairingTopic(t)}),aA(this,"isValidPairingTopic",async e=>{if(!sf(e,!1)){let{message:t}=sl("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw Error(t)}if(!this.pairings.keys.includes(e)){let{message:t}=sl("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(eB(this.pairings.get(e).expiry)){await this.deletePairing(e);let{message:t}=sl("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}),this.core=e,this.logger=(0,sR.Ep)(t,this.name),this.pairings=new aS(this.core,this.logger,this.name,this.storagePrefix)}get context(){return(0,sR.Fd)(this.logger)}isInitialized(){if(!this.initialized){let{message:e}=sl("NOT_INITIALIZED",this.name);throw Error(e)}}registerRelayerEvents(){this.core.relayer.on(ne.message,async e=>{let{topic:t,message:r,transportType:i}=e;if(this.pairings.keys.includes(t)&&i!==ni.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(r)))try{let e=await this.core.crypto.decode(t,r);(0,sQ.isJsonRpcRequest)(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):(0,sQ.isJsonRpcResponse)(e)&&(await this.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e}),this.core.history.delete(t,e.id)),await this.core.relayer.messages.ack(t,r)}catch(e){this.logger.error(e)}})}registerExpirerEvents(){this.core.expirer.on(nh.expired,async e=>{let{topic:t}=ek(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(nc.expire,{topic:t}))})}}var aR=Object.defineProperty,aN=(e,t,r)=>t in e?aR(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aT=(e,t,r)=>aN(e,"symbol"!=typeof t?t+"":t,r);class aj extends s${constructor(e,t){super(e,t),this.core=e,this.logger=t,aT(this,"records",new Map),aT(this,"events",new i.EventEmitter),aT(this,"name","history"),aT(this,"version","0.3"),aT(this,"cac
10hed",[]),aT(this,"initialized",!1),aT(this,"storagePrefix",s8),aT(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>this.records.set(e.id,e)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),aT(this,"set",(e,t,r)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:e,request:t,chainId:r}),this.records.has(t.id))return;let i={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:r,expiry:eq(o.THIRTY_DAYS)};this.records.set(i.id,i),this.persist(),this.events.emit(nl.created,i)}),aT(this,"resolve",async e=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:e}),!this.records.has(e.id))return;let t=await this.getRecord(e.id);typeof t.response>"u"&&(t.response=(0,sQ.isJsonRpcError)(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(nl.updated,t))}),aT(this,"get",async(e,t)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:e,id:t}),await this.getRecord(t))),aT(this,"delete",(e,t)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:t}),this.values.forEach(r=>{r.topic!==e||"u">typeof t&&r.id!==t||(this.records.delete(r.id),this.events.emit(nl.deleted,r))}),this.persist()}),aT(this,"exists",async(e,t)=>(this.isInitialized(),!!this.records.has(t)&&(await this.getRecord(t)).topic===e)),aT(this,"on",(e,t)=>{this.events.on(e,t)}),aT(this,"once",(e,t)=>{this.events.once(e,t)}),aT(this,"off",(e,t)=>{this.events.off(e,t)}),aT(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,sR.Ep)(t,this.name)}get context(){return(0,sR.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){let e=[];return this.values.forEach(t=>{if("u">typeof t.response)return;let r={topic:t.topic,request:(0,sQ.formatJsonRpcRequest)(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(r)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();let t=this.records.get(e);if(!t){let{message:t}=sl("NO_MATCHING_KEY",`${this.name}: ${e}`);throw Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(nl.sync)}async restore(){try{let e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){let{message:e}=sl("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(nl.created,e=>{let t=nl.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(nl.updated,e=>{let t=nl.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(nl.deleted,e=>{let t=nl.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(sA.Lx.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,o.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(nl.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){let{message:e}=sl("NOT_INITIALIZED",this.name);throw Error(e)}}}var aU=Object.defineProperty,aL=(e,t,r)=>t in e?aU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ak=(e,t,r)=>aL(e,"symbol"!=typeof t?t+"":t,r);class aq extends sK{constructor(e,t){super(e,t),this.core=e,this.logger=t,ak(this,"expirations",new Map),ak(this,"events",new i.EventEmitter),ak(this,"name","expirer"),ak(this,"version","0.3"),ak(this,"cac
10hed",[]),ak(this,"initialized",!1),ak(this,"storagePrefix",s8),ak(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(e=>this.expirations.set(e.target,e)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),ak(this,"has",e=>{try{let t=this.formatTarget(e);return"u">typeof this.getExpiration(t)}catch{return!1}}),ak(this,"set",(e,t)=>{this.isInitialized();let r=this.formatTarget(e),i={target:r,expiry:t};this.expirations.set(r,i),this.checkExpiry(r,i),this.events.emit(nh.created,{target:r,expiration:i})}),ak(this,"get",e=>{this.isInitialized();let t=this.formatTarget(e);return this.getExpiration(t)}),ak(this,"del",e=>{if(this.isInitialized(),this.has(e)){let t=this.formatTarget(e),r=this.getExpiration(t);this.expirations.delete(t),this.events.emit(nh.deleted,{target:t,expiration:r})}}),ak(this,"on",(e,t)=>{this.events.on(e,t)}),ak(this,"once",(e,t)=>{this.events.once(e,t)}),ak(this,"off",(e,t)=>{this.events.off(e,t)}),ak(this,"removeListener",(e,t)=>{this.events.removeListener(e,t)}),this.logger=(0,sR.Ep)(t,this.name)}get context(){return(0,sR.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if("string"==typeof e)return eL("topic",e);if("number"==typeof e)return eL("id",e);let{message:t}=sl("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw Error(t)}async setExpirations(e){await this.core.storage.setItem(this.storageKey,e)}async getExpirations(){return await this.core.storage.getItem(this.storageKey)}async persist(){await this.setExpirations(this.values),this.events.emit(nh.sync)}async restore(){try{let e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){let{message:e}=sl("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),Error(e)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){let t=this.expirations.get(e);if(!t){let{message:t}=sl("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(t),Error(t)}return t}checkExpiry(e,t){let{expiry:r}=t;(0,o.toMiliseconds)(r)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(nh.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(sA.Lx.pulse,()=>this.checkExpirations()),this.events.on(nh.created,e=>{let t=nh.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(nh.expired,e=>{let t=nh.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(nh.deleted,e=>{let t=nh.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){let{message:e}=sl("NOT_INITIALIZED",this.name);throw Error(e)}}}var aB=Object.defineProperty,a$=(e,t,r)=>t in e?aB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aM=(e,t,r)=>a$(e,"symbol"!=typeof t?t+"":t,r);class az extends sJ{constructor(e,t,r){super(e,t,r),this.core=e,this.logger=t,this.store=r,aM(this,"name","verify-api"),aM(this,"abortController"),aM(this,"isDevEnv"),aM(this,"verifyUrlV3",nd),aM(this,"storagePrefix",s8),aM(this,"version",2),aM(this,"publicKey"),aM(this,"fetchPromise"),aM(this,"init",async()=>{var e;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,o.toMiliseconds)(null==(e=this.publicKey)?void 0:e.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),aM(this,"register",async e=>{if(!eS()||this.isDevEnv)return;let t=window.location.origin,{id:r,decryptedId:i}=e,s=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${r}&decryptedId=${i}`;try{let e=(0,a.getDocument)(),t=this.startAbortTimer(5*o.ONE_SECOND),i=await new Promise((i,n)=>{let o=()=>{window.removeEventListener("message",c),e.body.removeChild(a),n("attestation aborted")};this.abortController.signal.addEventListener("abort",o);let a=e.createElement("iframe");a.src=s,a.style.display="none",a.addEventListener("error",o,{signal:this.abortController.signal});let c=s=>{if(s.data&&"string"==typeof s.data)try{let n=JSON.parse(s.data);if("verify_attestation"===n.type){if((0,eo.xp)(n.attestation).payload.id!==r)return;clearInterval(t),e.body.removeChild(a),this.abortController.signal.removeEventListener("abort",o),window.removeEventListener("message",c),i(null===n.attestation?"":n.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(a),window.addEventListener("message",c,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",i),i}catch(e){this.logger.warn(e)}return""}),aM(this,"resolve",async e=>{if(this.isDevEnv)return"";let{attestationId:t,hash:r,encryptedId:i}=e;if(""===t){this.logger.debug("resolve: attestationId is empty, skipping");return}if(t){if((0,eo.xp)(t).payload.id!==i)return;let e=await this.isValidJwtAttestation(t);
10if(e){if(!e.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return e}}if(!r)return;let s=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(r,s)}),aM(this,"fetchAttestation",async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);let r=this.startAbortTimer(5*o.ONE_SECOND),i=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(r),200===i.status?await i.json():void 0}),aM(this,"getVerifyUrl",e=>{let t=e||nu;return np.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: ${nu}`),t=nu),t}),aM(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);let e=this.startAbortTimer(o.FIVE_SECONDS),t=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(e),await t.json()}catch(e){this.logger.warn(e)}}),aM(this,"persistPublicKey",async e=>{this.logger.debug("persisting public key to local storage",e),await this.store.setItem(this.storeKey,e),this.publicKey=e}),aM(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),aM(this,"isValidJwtAttestation",async e=>{let t=await this.getPublicKey();try{if(t)return this.validateAttestation(e,t)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}let r=await this.fetchAndPersistPublicKey();try{if(r)return this.validateAttestation(e,r)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}}),aM(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),aM(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async e=>{let t=await this.fetchPublicKey();t&&(await this.persistPublicKey(t),e(t))});let e=await this.fetchPromise;return this.fetchPromise=void 0,e}),aM(this,"validateAttestation",(e,t)=>{let r=function(e,t){let[r,i,s]=e.split("."),n=eh.from(iJ(s),"base64");if(64!==n.length)throw Error("Invalid signature length");let o=n.slice(0,32),a=n.slice(32,64),c=`${r}.${i}`,l=rE(c),h=function(e){let t=eh.from(e.x,"base64"),r=eh.from(e.y,"base64");return(0,ea.zo)([new Uint8Array([4]),t,r])}(t);if(!iU.verify((0,ea.zo)([o,a]),l,h))throw Error("Invalid signature");return(0,eo.xp)(e).payload}(e,t.publicKey),i={hasExpired:(0,o.toMiliseconds)(r.exp)<Date.now(),payload:r};if(i.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),Error("JWT attestation expired");return{origin:i.payload.origin,isScam:i.payload.isScam,isVerified:i.payload.isVerified}}),this.logger=(0,sR.Ep)(t,this.name),this.abortController=new AbortController,this.isDevEnv=eK(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return(0,sR.Fd)(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,o.toMiliseconds)(e))}}var aF=Object.defineProperty,aH=(e,t,r)=>t in e?aF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aV=(e,t,r)=>aH(e,"symbol"!=typeof t?t+"":t,r);class aK extends sW{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,aV(this,"context","echo"),aV(this,"registerDeviceToken",async e=>{let{clientId:t,token:r,notificationType:i,enableEncrypted:s=!1}=e,n=`https://echo.walletconnect.com/${this.projectId}/clients`;await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:t,type:i,token:r,always_raw:s})})}),this.logger=(0,sR.Ep)(t,this.context)}}var aJ=Object.defineProperty,aW=Object.getOwnPropertySymbols,aG=Object.prototype.hasOwnProperty,aY=Object.prototype.propertyIsEnumerable,aZ=(e,t,r)=>t in e?aJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aQ=(e,t)=>{for(var r in t||(t={}))aG.call(t,r)&&aZ(e,r,t[r]);if(aW)for(var r of aW(t))aY.call(t,r)&&aZ(e,r,t[r]);return e},aX=(e,t,r)=>aZ(e,"symbol"!=typeof t?t+"":t,r);class a0 extends sG{constructor(e,t,r=!0){super(e,t,r),this.core=e,this.logger=t,aX(this,"context","event-client"),aX(this,"storagePrefix",s8),aX(this,"storageVersion",.1),aX(this,"events",new Map),aX(this,"shouldPersist",!1),aX(this,"init",async()=>
10{if(!eK())try{let e={eventId:eV(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:eC(this.core.relayer.protocol,this.core.relayer.version,nr)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}}),aX(this,"createEvent",e=>{let{event:t="ERROR",type:r="",properties:{topic:i,trace:s}}=e,n=eV(),o=this.core.projectId||"",a=Date.now(),c=aQ({eventId:n,timestamp:a,props:{event:t,type:r,properties:{topic:i,trace:s}},bundleId:o,domain:this.getAppDomain()},this.setMethods(n));return this.telemetryEnabled&&(this.events.set(n,c),this.shouldPersist=!0),c}),aX(this,"getEvent",e=>{let{eventId:t,topic:r}=e;if(t)return this.events.get(t);let i=Array.from(this.events.values()).find(e=>e.props.properties.topic===r);if(i)return aQ(aQ({},i),this.setMethods(i.eventId))}),aX(this,"deleteEvent",e=>{let{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0}),aX(this,"setEventListeners",()=>{this.core.heartbeat.on(sA.Lx.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(e=>{(0,o.fromMiliseconds)(Date.now())-(0,o.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)})})}),aX(this,"setMethods",e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)})),aX(this,"addTrace",(e,t)=>{let r=this.events.get(e);r&&(r.props.properties.trace.push(t),this.events.set(e,r),this.shouldPersist=!0)}),aX(this,"setError",(e,t)=>{let r=this.events.get(e);r&&(r.props.type=t,r.timestamp=Date.now(),this.events.set(e,r),this.shouldPersist=!0)}),aX(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),aX(this,"restore",async()=>{try{let e=await this.core.storage.getItem(this.storageKey)||[];if(!e.length)return;e.forEach(e=>{this.events.set(e.eventId,aQ(aQ({},e),this.setMethods(e.eventId)))})}catch(e){this.logger.warn(e)}}),aX(this,"submit",async()=>{if(!this.telemetryEnabled||0===this.events.size)return;let e=[];for(let[t,r]of this.events)r.props.type&&e.push(r);if(0!==e.length)try{if((await this.sendEvent(e)).ok)for(let t of e)this.events.delete(t.eventId),this.shouldPersist=!0}catch(e){this.logger.warn(e)}}),aX(this,"sendEvent",async e=>{let t=this.getAppDomain()?"":"&sp=desktop";return await fetch(`https://pulse.walletconnect.org/batch?projectId=${this.core.projectId}&st=events_sdk&sv=js-${nr}${t}`,{method:"POST",body:JSON.stringify(e)})}),aX(this,"getAppDomain",()=>eA().url),this.logger=(0,sR.Ep)(t,this.context),this.telemetryEnabled=r,r?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var a1=Object.defineProperty,a2=Object.getOwnPropertySymbols,a8=Object.prototype.hasOwnProperty,a3=Object.prototype.propertyIsEnumerable,a5=(e,t,r)=>t in e?a1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,a6=(e,t)=>{for(var r in t||(t={}))a8.call(t,r)&&a5(e,r,t[r]);if(a2)for(var r of a2(t))a3.call(t,r)&&a5(e,r,t[r]);return e},a4=(e,t,r)=>a5(e,"symbol"!=typeof t?t+"":t,r);class a9 extends sL{constructor(e){var t;super(e),a4(this,"protocol","wc"),a4(this,"version",2),a4(this,"name",s2),a4(this,"relayUrl"),a4(this,"projectId"),a4(this,"customStoragePrefix"),a4(this,"events",new i.EventEmitter),a4(this,"logger"),a4(this,"heartbeat"),a4(this,"relayer"),a4(this,"crypto"),a4(this,"storage"),a4(this,"history"),a4(this,"expirer"),a4(this,"pairing"),a4(this,"verify"),a4(this,"echoClient"),a4(this,"linkModeSupportedApps"),a4(this,"eventClient"),a4(this,"initialized",!1),a4(this,"logChunkController"),a4(this,"on",(e,t)=>this.events.on(e,t)),a4(this,"once",(e,t)=>this.events.once(e,t)),a4(this,"off",(e,t)=>this.events.off(e,t)),a4(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),a4(this,"dispatchEnvelope",({topic:e,message:t,sessionExists:r})=>{if(!e||!t)return;let i={topic:e,message:t,publishedAt:Date.now(),transportType:ni.link_mode};this.relayer.onLinkMessageEvent(i,{sessionExists:r})});let r=this.getGlobalCore(e?.customStoragePrefix);if(r)try{return this.customStoragePrefix=r.customStoragePrefix,this.logger=r.logger,this.heartbeat=r.heartbeat,this.crypto=r.crypto,this.history=r.history,this.expirer=r.expirer,this.storage=r.storage,this.relayer=r.relayer,this.pairing=r.pairing,this.verify=r.verify,this.echoClient=r.echoClient,this.linkModeSupportedApps=r.linkModeSupportedApps,this.eventClient=r.eventClient,this.initialized=r.initialized,this.logChunkController=r.logChunkController,r}catch(e){console.warn("Failed to copy global core",e)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||s7,this.customStoragePrefix=null!=e&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";let s=(0,sR.jI)({level:"string"==typeof e?.logger&&e.logger?e.logger:s3.logger,name:s2}),{logger:n,chunkLoggerController:o}=(0,sR.Rt)({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,null!=(t=this.logChunkController)&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var e,t;null!=(e=this.logChunkController)&&e.downloadLogsBlobInBrowser&&(null==(t=this.logChunkController)||t.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=(0,sR.Ep)(n,this.name),this.heartbeat=new sA.C$,this.crypto=new oR(this,this.logger,e?.keychain),this.history=new aj(this,this.logger),this.expirer=new aq(this,this.logger),this.storage=null!=e&&e.storage?e.storage:new sC.Z(a6(a6({},s5),e?.storageOptions)),this.relayer=new ad({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new aC(this,this.logger),this.verify=new az(this,this.logger,this.storage),this.echoClient=new aK(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new a0(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){let t=new a9(e);await t.initialize();let r=await t.crypto.getClientId();return await t.storage.setItem("WALLETCONNECT_CLIENT_ID",r),t}get context(){return(0,sR.Fd)(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return null==(e=this.logChunkController)?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(nn,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(
10),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(nn)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}getGlobalCore(e=""){try{if(this.isGlobalCoreDisabled())return;let t=`_walletConnectCore_${e}`,r=`${t}_count`;return globalThis[r]=(globalThis[r]||0)+1,globalThis[r]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[r]} times.`),globalThis[t]}catch(e){console.warn("Failed to get global WalletConnect core",e);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;let r=`_walletConnectCore_${(null==(t=e.opts)?void 0:t.customStoragePrefix)||""}`;globalThis[r]=e}catch(e){console.warn("Failed to set global WalletConnect core",e)}}isGlobalCoreDisabled(){try{return"u">typeof s1&&"true"===s1.env.DISABLE_GLOBAL_CORE}catch{return!0}}}var a7=Object.defineProperty,ce=(e,t,r)=>t in e?a7(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ct=(e,t,r)=>ce(e,"symbol"!=typeof t?t+"":t,r);class cr{constructor(e){this.opts=e,ct(this,"protocol","wc"),ct(this,"version",2)}}class ci{constructor(e){this.client=e}}let cs="client",cn=`wc@2:${cs}:`,co={name:cs,logger:"error"},ca="WALLETCONNECT_DEEPLINK_CHOICE",cc="Proposal expired",cl=o.SEVEN_DAYS,ch={wc_sessionPropose:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1104},res:{ttl:o.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1106},res:{ttl:o.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1112},res:{ttl:o.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1114},res:{ttl:o.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:o.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:o.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1119}}},cu={min:o.FIVE_MINUTES,max:o.SEVEN_DAYS},cd={idle:"IDLE",active:"ACTIVE"},cp={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},cf=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],cg="[email protected]:auth:",cy=`${cg}:PUB_KEY`;var cm=Object.defineProperty,cb=Object.defineProperties,cw=Object.getOwnPropertyDescriptors,cv=Object.getOwnPropertySymbols,cE=Object.prototype.hasOwnProperty,cI=Object.prototype.propertyIsEnumerable,c_=(e,t,r)=>t in e?cm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cD=(e,t)=>{for(var r in t||(t={}))cE.call(t,r)&&c_(e,r,t[r]);if(cv)for(var r of cv(t))cI.call(t,r)&&c_(e,r,t[r]);return e},cP=(e,t)=>cb(e,cw(t)),cS=(e,t,r)=>c_(e,"symbol"!=typeof t?t+"":t,r);class cO extends ci{constructor(e){super(e),cS(this,"name","engine"),cS(this,"events",new(s())),cS(this,"initialized",!1),cS(this,"requestQueue",{state:cd.idle,queue:[]}),cS(this,"sessionRequestQueue",{state:cd.idle,queue:[]}),cS(this,"requestQueueDelay",o.ONE_SECOND),cS(this,"expectedPairingMethodMap",new Map),cS(this,"recentlyDeletedMap",new Map),cS(this,"recentlyDeletedLimit",200),cS(this,"relayMessageCache",[]),cS(this,"pendingSessions",new Map),cS(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(ch)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,o.toMiliseconds)(this.requestQueueDelay)))}),cS(this,"connect",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();let t=cP(cD({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=function(e,t){var r,i,s,n,o,a;let c=sn(e),l=sn(t),h={},u=Object.keys(c).concat(Object.keys(l));for(let e of u)h[e]={chains:eM(null==(r=c[e])?void 0:r.chains,null==(i=l[e])?void 0:i.chains),methods:eM(null==(s=c[e])?void 0:s.methods,null==(n=l[e])?void 0:n.methods),events:eM(null==(o=c[e])?void 0:o.events,null==(a=l[e])?void 0:a.events)};return h}(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};let{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:n,scopedProperties:a,relays:c}=t,l=r,h,u=!1;try{if(l){let e=this.client.core.pairing.pairings.get(l);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),u=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${l}) failed`),e}if(!l||!u){let{topic:e,uri:t}=await this.client.core.pairing.create();l=e,h=t}if(!l){let{message:e}=sl("NO_MATCHING_KEY",`connect() pairing topic: ${l}`);throw Error(e)}let d=await this.client.core.crypto.generateKeyPair(),p=ch.wc_sessionPropose.req.ttl||o.FIVE_MINUTES,f=eq(p),g=cP(cD(cD({requiredNamespaces:i,optionalNamespaces:s,relays:c??[{protocol:"irn"}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:f,pairingTopic:l},n&&{sessionProperties:n}),a&&{scopedProperties:a}),{id:(0,sQ.payloadId)()}),y=e$("session_connect",g.id),{reject:m,resolve:b,done:w}=ej(p,cc),v=({id:e})=>{e===g.id&&(this.client.events.off("proposal_expire",v),this.pendingSessions.delete(g.id),this.events.emit(y,{error:{message:cc,code:0}}))};return this.client.events.on("proposal_expire",v),this.events.once(y,({error:e,session:t})=>{this.client.events.off("proposal_expire",v),e?m(e):t&&b(t)}),await this.sendRequest({topic:l,method:"wc_sessionPropose",params:g,throwOnFailedPublish:!0,clientRpcId:g.id}),await this.setProposal(g.id,g),{uri:h,approval:w}}),cS(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}}),cS(this,"approve",async e=>{var t,r,i;let s=this.client.core.eventClient.createEvent({properties:{topic:null==(t=e?.id)?void 0:t.toString(),trace:[ny.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw s.setError(nm.no_internet_connection),e}try{await this.isValidProposalId(e?.id)}catch(t){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),s.setError(nm.proposal_not_found),t}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error("approve() -> isValidApprove() failed"),s.setError(nm.session_approve_namespace_validation_failure),e}let{id:n,relayProtocol:o,namespaces:a,sessionProperties:c,scopedProperties:l,sessionConfig:h}=e,u=this.client.proposal.get(n);this.client.core.eventClient.deleteEvent({eventId:s.eventId});let{pairingTopic:d,proposer:p,requiredNamespaces:f,optionalNamespaces:g}=u,y=null==(r=this.client.core.eventClient)?void 0:r.getEvent({topic:d});y||(y=null==(i=this.client.core.eventClient)?void 0:i.createEvent({type:ny.session_approve_started,properties:{topic:d,trace:[ny.session_approve_started,ny.session_namespaces_validation_success]}}));let m=await this.client.core.crypto.generateKeyPair(),b=p.publicKey,w=await this.client.core.crypto.generateSharedKey(m,b),v=cD(cD(cD({relay:{protocol:o??"irn"},namespaces:a,controller:{publicKey:m,metadata:this.client.metadata},expiry:eq(cl)},c&&{sessionProperties:c}),l&&{scopedProperties:l}),h&&{sessionConfig:h}),E=ni.relay;y.addTrace(ny.subscribing_session_topic);try{await this.client.core.relayer.subscribe(w,{transportType:E})}catch(e){throw y.setError(nm.subscribe_session_topic_failure),e}y.addTrace(ny.subscribe_session_topic_success);let I=cP(cD({},v),{topic:w,requiredNamespaces:f,optionalNamespaces:g,pairingTopic:d,acknowledged:!1,self:v.controller,peer:{publicKey:p.publicKey,metadata:p.metadata},controller:m,transportType:ni.relay});await this.client.session.set(w,I),y.addTrace(ny.store_session);try{y.addTrace(ny.publishing_session_settle),await this.sendRequest({topic:w,method:"wc_sessionSettle",params:v,throwOnFailedPublish:!0}).catch(e=>{throw y?.setError(nm.session_settle_publish_failure),e}),y.addTrace(ny.session_settle_publish_success),y.addTrace(ny.publishing_session_approve),await this.sendResult({id:n,topic:d,result:{relay:{protocol:o??"irn"},responderPublicKey:m},throwOnFailedPublish:!0}).catch(e=>{throw y?.setError(nm.session_approve_publish_failure),e}),y.addTrace(ny.session_approve_publish_success)}catch(e){throw this.client.logger.error(e),this.client.session.delete(w,sh("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(w),e}return this.client.core.eventClient.deleteEvent({eventId:y.eventId}),await this.client.core.pairing.updateMetadata({topic:d,metadata:p.metadata}),await this.client.proposal.delete(n,sh("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:d}),await this.setExpiry(w,eq(cl)),{topic:w,acknowledged:()=>Promise.resolve(this.client.session.get(w))}}),cS(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:r,reason:i}=e;try{t=this.client.proposal.get(r).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${r}) failed`),e}
10t&&(await this.sendError({id:r,topic:t,error:i,rpcOpts:ch.wc_sessionPropose.reject}),await this.client.proposal.delete(r,sh("USER_DISCONNECTED")))}),cS(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:r}=e,{done:i,resolve:s,reject:n}=ej(),o=(0,sQ.payloadId)(),a=(0,sQ.getBigIntRpcId)().toString(),c=this.client.session.get(t).namespaces;return this.events.once(e$("session_update",o),({error:e})=>{e?n(e):s()}),await this.client.session.update(t,{namespaces:r}),await this.sendRequest({topic:t,method:"wc_sessionUpdate",params:{namespaces:r},throwOnFailedPublish:!0,clientRpcId:o,relayRpcId:a}).catch(e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:c}),n(e)}),{acknowledged:i}}),cS(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,r=(0,sQ.payloadId)(),{done:i,resolve:s,reject:n}=ej();return this.events.once(e$("session_extend",r),({error:e})=>{e?n(e):s()}),await this.setExpiry(t,eq(cl)),this.sendRequest({topic:t,method:"wc_sessionExtend",params:{},clientRpcId:r,throwOnFailedPublish:!0}).catch(e=>{n(e)}),{acknowledged:i}}),cS(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:r,topic:i,expiry:s=ch.wc_sessionRequest.req.ttl}=e,n=this.client.session.get(i);n?.transportType===ni.relay&&await this.confirmOnlineStateOrThrow();let o=(0,sQ.payloadId)(),a=(0,sQ.getBigIntRpcId)().toString(),{done:c,resolve:l,reject:h}=ej(s,"Request expired. Please try again.");this.events.once(e$("session_request",o),({error:e,result:t})=>{e?h(e):l(t)});let u="wc_sessionRequest",d=this.getAppLinkIfEnabled(n.peer.metadata,n.transportType);if(d)return await this.sendRequest({clientRpcId:o,relayRpcId:a,topic:i,method:u,params:{request:cP(cD({},r),{expiryTimestamp:eq(s)}),chainId:t},expiry:s,throwOnFailedPublish:!0,appLink:d}).catch(e=>h(e)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:t,id:o}),await c();let p={request:cP(cD({},r),{expiryTimestamp:eq(s)}),chainId:t},f=this.shouldSetTVF(u,p);return await Promise.all([new Promise(async e=>{await this.sendRequest(cD({clientRpcId:o,relayRpcId:a,topic:i,method:u,params:p,expiry:s,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(o,p)})).catch(e=>h(e)),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:t,id:o}),e()}),new Promise(async e=>{var t;if(!(null!=(t=n.sessionConfig)&&t.disableDeepLink)){let e=await eF(this.client.core.storage,ca);await ez({id:o,topic:i,wcDeepLink:e})}e()}),c()]).then(e=>e[2])}),cS(this,"respond",async e=>{this.isInitialized(),await this.isValidRespond(e);let{topic:t,response:r}=e,{id:i}=r,s=this.client.session.get(t);s.transportType===ni.relay&&await this.confirmOnlineStateOrThrow();let n=this.getAppLinkIfEnabled(s.peer.metadata,s.transportType);(0,sQ.isJsonRpcResult)(r)?await this.sendResult({id:i,topic:t,result:r.result,throwOnFailedPublish:!0,appLink:n}):(0,sQ.isJsonRpcError)(r)&&await this.sendError({id:i,topic:t,error:r.error,appLink:n}),this.cleanupAfterResponse(e)}),cS(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,sQ.payloadId)(),r=(0,sQ.getBigIntRpcId)().toString(),{done:i,resolve:s,reject:n}=ej();this.events.once(e$("session_ping",e),({error:e})=>{e?n(e):s()}),await Promise.all([this.sendRequest({topic:t,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:r}),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}))}),cS(this,"emit",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);let{topic:t,event:r,chainId:i}=e,s=(0,sQ.getBigIntRpcId)().toString(),n=(0,sQ.payloadId)();await this.sendRequest({topic:t,method:"wc_sessionEvent",params:{event:r,chainId:i},throwOnFailedPublish:!0,relayRpcId:s,clientRpcId:n})}),cS(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:sh("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}=sl("MISMATCHED_TOPIC",`Session or pairing topic not found: ${t}`);throw Error(e)}}),cS(this,"find",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>(function(e,t){let{requiredNamespaces:r}=t,i=Object.keys(e.namespaces),s=Object.keys(r),n=!0;return!!eR(s,i)&&(i.forEach(t=>{let{accounts:i,methods:s,events:o}=e.namespaces[t],a=sr(i),c=r[t];eR(ep(t,c),a)&&eR(c.methods,s)&&eR(c.events,o)||(n=!1)}),n)})(t,e)))),cS(this,"getPendingSessionRequests",()=>
10this.client.pendingRequest.getAll()),cS(this,"authenticate",async(e,t)=>{var r;let i;this.isInitialized(),this.isValidAuthenticate(e);let s=t&&this.client.core.linkModeSupportedApps.includes(t)&&(null==(r=this.client.metadata.redirect)?void 0:r.linkMode),n=s?ni.link_mode:ni.relay;n===ni.relay&&await this.confirmOnlineStateOrThrow();let{chains:o,statement:a="",uri:c,domain:l,nonce:h,type:u,exp:d,nbf:p,methods:f=[],expiry:g}=e,y=[...e.resources||[]],{topic:m,uri:b}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:n});this.client.logger.info({message:"Generated new pairing",pairing:{topic:m,uri:b}});let w=await this.client.core.crypto.generateKeyPair(),v=iz(w);if(await Promise.all([this.client.auth.authKeys.set(cy,{responseTopic:v,publicKey:w}),this.client.auth.pairingTopics.set(v,{topic:v,pairingTopic:m})]),await this.client.core.relayer.subscribe(v,{transportType:n}),this.client.logger.info(`sending request to new pairing topic: ${m}`),f.length>0){let{namespace:e}=eu(o[0]),t=function(e,t,r){let i=function(e,t,r,i={}){return r?.sort((e,t)=>e.localeCompare(t)),{att:{[e]:function(e,t,r={}){t=t?.sort((e,t)=>e.localeCompare(t));let i=t.map(t=>({[`${e}/${t}`]:[r]}));return Object.assign({},...i)}(t,r,i)}}}(e,t,r);return tB(i)}(e,"request",f);tF(y)&&(t=function(e,t){let r=t$(e),i=t$(t),s=function(e,t){tq(e),tq(t);let r=Object.keys(e.att).concat(Object.keys(t.att)).sort((e,t)=>e.localeCompare(t)),i={att:{}};return r.forEach(r=>{var s,n;Object.keys((null==(s=e.att)?void 0:s[r])||{}).concat(Object.keys((null==(n=t.att)?void 0:n[r])||{})).sort((e,t)=>e.localeCompare(t)).forEach(s=>{var n,o;i.att[r]=tR(tC({},i.att[r]),{[s]:(null==(n=e.att[r])?void 0:n[s])||(null==(o=t.att[r])?void 0:o[s])})})}),i}(r,i);return tB(s)}(t,y.pop())),y.push(t)}let E=g&&g>ch.wc_sessionAuthenticate.req.ttl?g:ch.wc_sessionAuthenticate.req.ttl,I={authPayload:{type:u??"caip122",chains:o,statement:a,aud:c,domain:l,version:"1",nonce:h,iat:new Date().toISOString(),exp:d,nbf:p,resources:y},requester:{publicKey:w,metadata:this.client.metadata},expiryTimestamp:eq(E)},_={eip155:{chains:o,methods:[...new Set(["personal_sign",...f])],events:["chainChanged","accountsChanged"]}},D={requiredNamespaces:{},optionalNamespaces:_,relays:[{protocol:"irn"}],pairingTopic:m,proposer:{publicKey:w,metadata:this.client.metadata},expiryTimestamp:eq(ch.wc_sessionPropose.req.ttl),id:(0,sQ.payloadId)()},{done:P,resolve:S,reject:O}=ej(E,"Request expired"),x=(0,sQ.payloadId)(),A=e$("session_connect",D.id),C=e$("session_request",x),R=async({error:e,session:t})=>{this.events.off(C,N),e?O(e):t&&S({session:t})},N=async e=>{var r,i,s;let o;if(await this.deletePendingAuthRequest(x,{message:"fulfilled",code:0}),e.error){let t=sh("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return e.error.code===t.code?void 0:(this.events.off(A,R),O(e.error.message))}await this.deleteProposal(D.id),this.events.off(A,R);let{cacaos:a,responder:c}=e.result,l=[],h=[];for(let e of a){await tL({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,"Signature verification failed"),O(sh("SESSION_SETTLEMENT_FAILED","Signature verification failed")));let{p:t}=e,r=tF(t.resources),i=[tj(t.iss)],s=tU(t.iss);if(r){let e=tM(r),t=tz(r);l.push(...e),i.push(...t)}for(let e of i)h.push(`${e}:${s}`)}let u=await this.client.core.crypto.generateSharedKey(w,c.publicKey);l.length>0&&(o={topic:u,acknowledged:!0,self:{publicKey:w,metadata:this.client.metadata},peer:c,controller:c.publicKey,expiry:eq(cl),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:m,namespaces:so([...new Set(l)],[...new Set(h)]),transportType:n},await this.client.core.relayer.subscribe(u,{transportType:n}),await this.client.session.set(u,o),m&&await this.client.core.pairing.updateMetadata({topic:m,metadata:c.metadata}),o=this.client.session.get(u)),null!=(r=this.client.metadata.redirect)&&r.linkMode&&null!=(i=c.metadata.redirect)&&i.linkMode&&null!=(s=c.metadata.redirect)&&s.universal&&t&&(this.client.core.addLinkModeSupportedApp(c.metadata.redirect.universal),this.client.session.update(u,{transportType:ni.link_mode})),S({auths:a,session:o})};this.events.once(A,R),this.events.once(C,N);try{if(s){let e=(0,sQ.formatJsonRpcRequest)("wc_sessionAuthenticate",I,x);this.client.core.history.set(m,e);let r=await this.client.core.crypto.encode("",e,{type:2,encoding:iB});i=i2(t,m,r)}else await Promise.all([this.sendRequest({topic:m,method:"wc_sessionAuthenticate",params:I,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:x}),this.sendRequest({topic:m,method:"wc_sessionPropose",params:D,expiry:ch.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:D.id})])}catch(e){throw this.events.off(A,R),this.events.off(C,N),e}return await this.setProposal(D.id,D),await this.setAuthRequest(x,{request:cP(cD({},I),{verifyContext:{}}),pairingTopic:m,transportType:n}),{uri:i??b,response:P}}),cS(this,"approveSessionAuthenticate",async e=>{let t;let{id:r,auths:i}=e,s=this.client.core.eventClient.createEvent({properties:{topic:r.toString(),trace:[nb.authenticated_session_approve_started]}});try{this.isInitialized()}catch(e){throw s.setError(nw.no_internet_connection),e}let n=this.getPendingAuthRequest(r);if(!n)throw s.setError(nw.authenticated_session_pending_request_not_found),Error(`Could not find pending auth request with id ${r}`);let o=n.transportType||ni.relay;o===ni.relay&&await this.confirmOnlineStateOrThrow();let a=n.requester.publicKey,c=await this.client.core.crypto.generateKeyPair(),l=iz(a),h={type:1,receiverPublicKey:a,senderPublicKey:c},u=[],d=[];for(let e of i){if(!await tL({cacao:e,projectId:this.client.core.projectId})){s.setError(nw.invalid_cacao);let e=sh("SESSION_SETTLEMENT_FAILED","Signature verification failed");
10throw await this.sendError({id:r,topic:l,error:e,encodeOpts:h}),Error(e.message)}s.addTrace(nb.cacaos_verified);let{p:t}=e,i=tF(t.resources),n=[tj(t.iss)],o=tU(t.iss);if(i){let e=tM(i),t=tz(i);u.push(...e),n.push(...t)}for(let e of n)d.push(`${e}:${o}`)}let p=await this.client.core.crypto.generateSharedKey(c,a);if(s.addTrace(nb.create_authenticated_session_topic),u?.length>0){t={topic:p,acknowledged:!0,self:{publicKey:c,metadata:this.client.metadata},peer:{publicKey:a,metadata:n.requester.metadata},controller:a,expiry:eq(cl),authentication:i,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:n.pairingTopic,namespaces:so([...new Set(u)],[...new Set(d)]),transportType:o},s.addTrace(nb.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(p,{transportType:o})}catch(e){throw s.setError(nw.subscribe_authenticated_session_topic_failure),e}s.addTrace(nb.subscribe_authenticated_session_topic_success),await this.client.session.set(p,t),s.addTrace(nb.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:n.pairingTopic,metadata:n.requester.metadata})}s.addTrace(nb.publishing_authenticated_session_approve);try{await this.sendResult({topic:l,id:r,result:{cacaos:i,responder:{publicKey:c,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(n.requester.metadata,o)})}catch(e){throw s.setError(nw.authenticated_session_approve_publish_failure),e}return await this.client.auth.requests.delete(r,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:n.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:s.eventId}),{session:t}}),cS(this,"rejectSessionAuthenticate",async e=>{this.isInitialized();let{id:t,reason:r}=e,i=this.getPendingAuthRequest(t);if(!i)throw Error(`Could not find pending auth request with id ${t}`);i.transportType===ni.relay&&await this.confirmOnlineStateOrThrow();let s=i.requester.publicKey,n=await this.client.core.crypto.generateKeyPair(),o=iz(s);await this.sendError({id:t,topic:o,error:r,encodeOpts:{type:1,receiverPublicKey:s,senderPublicKey:n},rpcOpts:ch.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,sh("USER_DISCONNECTED"))}),cS(this,"formatAuthMessage",e=>{this.isInitialized();let{request:t,iss:r}=e;return tk(t,r)}),cS(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)}),cS(this,"cleanupDuplicatePairings",async e=>{if(e.pairingTopic)try{let t=this.client.core.pairing.pairings.get(e.pairingTopic),r=this.client.core.pairing.pairings.getAll().filter(r=>{var i,s;return(null==(i=r.peerMetadata)?void 0:i.url)&&(null==(s=r.peerMetadata)?void 0:s.url)===e.peer.metadata.url&&r.topic&&r.topic!==t.topic});if(0===r.length)return;this.client.logger.info(`Cleaning up ${r.length} duplicate pairing(s)`),await Promise.all(r.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)}}),cS(this,"deleteSession",async e=>{var t;let{topic:r,expirerHasDeleted:i=!1,emitEvent:s=!0,id:n=0}=e,{self:o}=this.client.session.get(r);await this.client.core.relayer.unsubscribe(r),await this.client.session.delete(r,sh("USER_DISCONNECTED")),this.addToRecentlyDeleted(r,"session"),this.client.core.crypto.keychain.has(o.publicKey)&&await this.client.core.crypto.deleteKeyPair(o.publicKey),this.client.core.crypto.keychain.has(r)&&await this.client.core.crypto.deleteSymKey(r),i||this.client.core.expirer.del(r),this.client.core.storage.removeItem(ca).catch(e=>this.client.logger.warn(e)),this.getPendingSessionRequests().forEach(e=>{e.topic===r&&this.deletePendingSessionRequest(e.id,sh("USER_DISCONNECTED"))}),r===(null==(t=this.sessionRequestQueue.queue[0])?void 0:t.topic)&&(this.sessionRequestQueue.state=cd.idle),s&&this.client.events.emit("session_delete",{id:n,topic:r})}),cS(this,"deleteProposal",async(e,t)=>{if(t)try{let t=this.client.proposal.get(e),r=this.client.core.eventClient.getEvent({topic:t.pairingTopic});r?.setError(nm.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,sh("USER_DISCONNECTED")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"proposal")}),cS(this,"deletePendingSessionRequest",async(e,t,r=!1)=>
10{await Promise.all([this.client.pendingRequest.delete(e,t),r?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(t=>t.id!==e),r&&(this.sessionRequestQueue.state=cd.idle,this.client.events.emit("session_request_expire",{id:e}))}),cS(this,"deletePendingAuthRequest",async(e,t,r=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),r?Promise.resolve():this.client.core.expirer.del(e)])}),cS(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}))}),cS(this,"setProposal",async(e,t)=>{this.client.core.expirer.set(e,eq(ch.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),cS(this,"setAuthRequest",async(e,t)=>{let{request:r,pairingTopic:i,transportType:s=ni.relay}=t;this.client.core.expirer.set(e,r.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:r.authPayload,requester:r.requester,expiryTimestamp:r.expiryTimestamp,id:e,pairingTopic:i,verifyContext:r.verifyContext,transportType:s})}),cS(this,"setPendingSessionRequest",async e=>{let{id:t,topic:r,params:i,verifyContext:s}=e,n=i.request.expiryTimestamp||eq(ch.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,n),await this.client.pendingRequest.set(t,{id:t,topic:r,params:i,verifyContext:s})}),cS(this,"sendRequest",async e=>{let t,i;let{topic:s,method:n,params:o,expiry:a,relayRpcId:c,clientRpcId:l,throwOnFailedPublish:h,appLink:u,tvf:d}=e,p=(0,sQ.formatJsonRpcRequest)(n,o,l),f=!!u;try{let e=f?iB:iq;t=await this.client.core.crypto.encode(s,p,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${s} failed`),e}if(cf.includes(n)){let e=iF(JSON.stringify(p)),r=iF(t);i=await this.client.core.verify.register({id:r,decryptedId:e})}let g=ch[n].req;if(g.attestation=i,a&&(g.ttl=a),c&&(g.id=c),this.client.core.history.set(s,p),f){let e=i2(u,s,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=ch[n].req;a&&(e.ttl=a),c&&(e.id=c),e.tvf=cP(cD({},d),{correlationId:p.id}),h?(e.internal=cP(cD({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,t,e)):this.client.core.relayer.publish(s,t,e).catch(e=>this.client.logger.error(e))}return p.id}),cS(this,"sendResult",async e=>{let t,i,s;let{id:n,topic:o,result:a,throwOnFailedPublish:c,encodeOpts:l,appLink:h}=e,u=(0,sQ.formatJsonRpcResult)(n,a),d=h&&"u">typeof(null==r.g?void 0:r.g.Linking);try{let e=d?iB:iq;t=await this.client.core.crypto.encode(o,u,cP(cD({},l||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${o} failed`),e}try{i=await this.client.core.history.get(o,n);let e=i.request;try{this.shouldSetTVF(e.method,e.params)&&(s=this.getTVFParams(n,e.params,a))}catch(e){this.client.logger.warn("sendResult() -> getTVFParams() failed",e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${o}, ${n}) failed`),e}if(d){let e=i2(h,o,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=i.request.method,r=ch[e].res;r.tvf=cP(cD({},s),{correlationId:n}),c?(r.internal=cP(cD({},r.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(o,t,r)):this.client.core.relayer.publish(o,t,r).catch(e=>this.client.logger.error(e))}await this.client.core.history.resolve(u)}),cS(this,"sendError",async e=>{let t,i;let{id:s,topic:n,error:o,encodeOpts:a,rpcOpts:c,appLink:l}=e,h=(0,sQ.formatJsonRpcError)(s,o),u=l&&"u">typeof(null==r.g?void 0:r.g.Linking);try{let e=u?iB:iq;t=await this.client.core.crypto.encode(n,h,cP(cD({},a||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${n} failed`),e}try{i=await this.client.core.history.get(n,s)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${n}, ${s}) failed`),e}if(u){let e=i2(l,n,t);await r.g.Linking.openURL(e,this.client.name)}else{let e=i.request.method,r=c||ch[e].res;this.client.core.relayer.publish(n,t,r)}await this.client.core.history.resolve(h)}),cS(this,"cleanup",async()=>{let e=[],t=[];
10this.client.session.getAll().forEach(t=>{let r=!1;eB(t.expiry)&&(r=!0),this.client.core.crypto.keychain.has(t.topic)||(r=!0),r&&e.push(t.topic)}),this.client.proposal.getAll().forEach(e=>{eB(e.expiryTimestamp)&&t.push(e.id)}),await Promise.all([...e.map(e=>this.deleteSession({topic:e})),...t.map(e=>this.deleteProposal(e))])}),cS(this,"onProviderMessageEvent",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),cS(this,"onRelayEventRequest",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),cS(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===cd.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=cd.active;let e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=cd.idle}),cS(this,"processRequest",async e=>{let{topic:t,payload:r,attestation:i,transportType:s,encryptedId:n}=e,o=r.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:o}))switch(o){case"wc_sessionPropose":return await this.onSessionProposeRequest
10({topic:t,payload:r,attestation:i,encryptedId:n});case"wc_sessionSettle":return await this.onSessionSettleRequest(t,r);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(t,r);case"wc_sessionExtend":return await this.onSessionExtendRequest(t,r);case"wc_sessionPing":return await this.onSessionPingRequest(t,r);case"wc_sessionDelete":return await this.onSessionDeleteRequest(t,r);case"wc_sessionRequest":return await this.onSessionRequest({topic:t,payload:r,attestation:i,encryptedId:n,transportType:s});case"wc_sessionEvent":return await this.onSessionEventRequest(t,r);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:t,payload:r,attestation:i,encryptedId:n,transportType:s});default:return this.client.logger.info(`Unsupported request method ${o}`)}}),cS(this,"onRelayEventResponse",async e=>{let{topic:t,payload:r,transportType:i}=e,s=(await this.client.core.history.get(t,r.id)).request.method;switch(s){case"wc_sessionPropose":return this.onSessionProposeResponse(t,r,i);case"wc_sessionSettle":return this.onSessionSettleResponse(t,r);case"wc_sessionUpdate":return this.onSessionUpdateResponse(t,r);case"wc_sessionExtend":return this.onSessionExtendResponse(t,r);case"wc_sessionPing":return this.onSessionPingResponse(t,r);case"wc_sessionRequest":return this.onSessionRequestResponse(t,r);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(t,r);default:return this.client.logger.info(`Unsupported response method ${s}`)}}),cS(this,"onRelayEventUnknownPayload",e=>{let{topic:t}=e,{message:r}=sl("MISSING_OR_INVALID",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw Error(r)}),cS(this,"shouldIgnorePairingRequest",e=>{let{topic:t,requestMethod:r}=e,i=this.expectedPairingMethodMap.get(t);return!(!i||i.includes(r))&&!!(i.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),cS(this,"onSessionProposeRequest",async e=>{let{topic:t,payload:r,attestation:i,encryptedId:s}=e,{params:n,id:o}=r;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(ng.proposal_listener_not_found)),this.isValidConnect(cD({},r.params));let a=n.expiryTimestamp||eq(ch.wc_sessionPropose.req.ttl),c=cD({id:o,pairingTopic:t,expiryTimestamp:a},n);await this.setProposal(o,c);let l=await this.getVerifyContext({attestationId:i,hash:iF(JSON.stringify(r)),encryptedId:s,metadata:c.proposer.metadata});e?.addTrace(nf.emit_session_proposal),this.client.events.emit("session_proposal",{id:o,params:c,verifyContext:l})}catch(e){await this.sendError({id:o,topic:t,error:e,rpcOpts:ch.wc_sessionPropose.autoReject}),this.client.logger.error(e)}}),cS(this,"onSessionProposeResponse",async(e,t,r)=>{let{id:i}=t;if((0,sQ.isJsonRpcResult)(t)){let{result:s}=t;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:s});let n=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:n});let o=n.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:o});let a=s.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:a});let c=await this.client.core.crypto.generateSharedKey(o,a);this.pendingSessions.set(i,{sessionTopic:c,pairingTopic:e,proposalId:i,publicKey:o});let l=await this.client.core.relayer.subscribe(c,{transportType:r});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:l}),await this.client.core.pairing.activate({topic:e})}else if((0,sQ.isJsonRpcError)(t)){await this.client.proposal.delete(i,sh("USER_DISCONNECTED"));let e=e$("session_connect",i);if(0===this.events.listenerCount(e))throw Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}}),cS(this,"onSessionSettleRequest",async(e,t)=>{let{id:r,params:i}=t;try{this.isValidSessionSettleRequest(i);let{relay:r,controller:s,expiry:n,namespaces:o,sessionProperties:a,scopedProperties:c,sessionConfig:l}=t.params,h=[...this.pendingSessions.values()].find(t=>t.sessionTopic===e);if(!h)return this.client.logger.error(`Pending session not found for topic ${e}`);let u=this.client.proposal.get(h.proposalId),d=cP(cD(cD(cD({topic:e,relay:r,expiry:n,namespaces:o,acknowledged:!0,pairingTopic:h.pairingTopic,requiredNamespaces:u.requiredNamespaces,optionalNamespaces:u.optionalNamespaces,controller:s.publicKey,self:{publicKey:h.publicKey,metadata:this.client.metadata},peer:{publicKey:s.publicKey,metadata:s.metadata}},a&&{sessionProperties:a}),c&&{scopedProperties:c}),l&&{sessionConfig:l}),{transportType:ni.relay});await this.client.session.set(d.topic,d),await this.setExpiry(d.topic,d.expiry),await this.client.core.pairing.updateMetadata({topic:h.pairingTopic,metadata:d.peer.metadata}),this.client.events.emit("session_connect",{session:d}),this.events.emit(e$("session_connect",h.proposalId),{session:d}),this.pendingSessions.delete(h.proposalId),this.deleteProposal(h.proposalId,!1),this.cleanupDupl
10icatePairings(d),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),cS(this,"onSessionSettleResponse",async(e,t)=>{let{id:r}=t;(0,sQ.isJsonRpcResult)(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(e$("session_approve",r),{})):(0,sQ.isJsonRpcError)(t)&&(await this.client.session.delete(e,sh("USER_DISCONNECTED")),this.events.emit(e$("session_approve",r),{error:t.error}))}),cS(this,"onSessionUpdateRequest",async(e,t)=>{let{params:r,id:i}=t;try{let t=`${e}_session_update`,s=sx.get(t);if(s&&this.isRequestOutOfSync(s,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:sh("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(cD({topic:e},r));try{sx.set(t,i),await this.client.session.update(e,{namespaces:r.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw sx.delete(t),e}this.client.events.emit("session_update",{id:i,topic:e,params:r})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}}),cS(this,"isRequestOutOfSync",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),cS(this,"onSessionUpdateResponse",(e,t)=>{let{id:r}=t,i=e$("session_update",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,sQ.isJsonRpcResult)(t)?this.events.emit(e$("session_update",r),{}):(0,sQ.isJsonRpcError)(t)&&this.events.emit(e$("session_update",r),{error:t.error})}),cS(this,"onSessionExtendRequest",async(e,t)=>{let{id:r}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,eq(cl)),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:r,topic:e})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),cS(this,"onSessionExtendResponse",(e,t)=>{let{id:r}=t,i=e$("session_extend",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,sQ.isJsonRpcResult)(t)?this.events.emit(e$("session_extend",r),{}):(0,sQ.isJsonRpcError)(t)&&this.events.emit(e$("session_extend",r),{error:t.error})}),cS(this,"onSessionPingRequest",async(e,t)=>{let{id:r}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:r,topic:e})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),cS(this,"onSessionPingResponse",(e,t)=>{let{id:r}=t,i=e$("session_ping",r);setTimeout(()=>{if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners 2176`);(0,sQ.isJsonRpcResult)(t)?this.events.emit(e$("session_ping",r),{}):(0,sQ.isJsonRpcError)(t)&&this.events.emit(e$("session_ping",r),{error:t.error})},500)}),cS(this,"onSessionDeleteRequest",async(e,t)=>{let{id:r}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise(t=>{this.client.core.relayer.once(ne.publish,async()=>{t(await this.deleteSession({topic:e,id:r}))})}),this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:sh("USER_DISCONNECTED")})]).catch(e=>this.client.logger.error(e))}catch(e){this.client.logger.error(e)}}),cS(this,"onSessionRequest",async e=>{var t,r,i;let{topic:s,payload:n,attestation:o,encryptedId:a,transportType:c}=e,{id:l,params:h}=n;try{await this.isValidRequest(cD({topic:s},h));let e=this.client.session.get(s),n=await this.getVerifyContext({attestationId:o,hash:iF(JSON.stringify((0,sQ.formatJsonRpcRequest)("wc_sessionRequest",h,l))),encryptedId:a,metadata:e.peer.metadata,transportType:c}),u={id:l,topic:s,params:h,verifyContext:n};await this.setPendingSessionRequest(u),c===ni.link_mode&&null!=(t=e.peer.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(null==(r=e.peer.metadata.redirect)?void 0:r.universal),null!=(i=this.client.signConfig)&&i.disableRequestQueue?this.emitSessionRequest(u):(this.addSessionRequestToSessionRequestQueue(u),this.processSessionRequestQueue())}
10catch(e){await this.sendError({id:l,topic:s,error:e}),this.client.logger.error(e)}}),cS(this,"onSessionRequestResponse",(e,t)=>{let{id:r}=t,i=e$("session_request",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);(0,sQ.isJsonRpcResult)(t)?this.events.emit(e$("session_request",r),{result:t.result}):(0,sQ.isJsonRpcError)(t)&&this.events.emit(e$("session_request",r),{error:t.error})}),cS(this,"onSessionEventRequest",async(e,t)=>{let{id:r,params:i}=t;try{let t=`${e}_session_event_${i.event.name}`,s=sx.get(t);if(s&&this.isRequestOutOfSync(s,r)){this.client.logger.info(`Discarding out of sync request - ${r}`);return}this.isValidEmit(cD({topic:e},i)),this.client.events.emit("session_event",{id:r,topic:e,params:i}),sx.set(t,r)}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}}),cS(this,"onSessionAuthenticateResponse",(e,t)=>{let{id:r}=t;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:e,payload:t}),(0,sQ.isJsonRpcResult)(t)?this.events.emit(e$("session_request",r),{result:t.result}):(0,sQ.isJsonRpcError)(t)&&this.events.emit(e$("session_request",r),{error:t.error})}),cS(this,"onSessionAuthenticateRequest",async e=>{var t;let{topic:r,payload:i,attestation:s,encryptedId:n,transportType:o}=e;try{let{requester:e,authPayload:a,expiryTimestamp:c}=i.params,l=await this.getVerifyContext({attestationId:s,hash:iF(JSON.stringify(i)),encryptedId:n,metadata:e.metadata,transportType:o}),h={requester:e,pairingTopic:r,id:i.id,authPayload:a,verifyContext:l,expiryTimestamp:c};await this.setAuthRequest(i.id,{request:h,pairingTopic:r,transportType:o}),o===ni.link_mode&&null!=(t=e.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:r,params:i.params,id:i.id,verifyContext:l})}catch(n){this.client.logger.error(n);let e=i.params.requester.publicKey,t=await this.client.core.crypto.generateKeyPair(),s=this.getAppLinkIfEnabled(i.params.requester.metadata,o);await this.sendError({id:i.id,topic:r,error:n,encodeOpts:{type:1,receiverPublicKey:e,senderPublicKey:t},rpcOpts:ch.wc_sessionAuthenticate.autoReject,appLink:s})}}),cS(this,"addSessionRequestToSessionRequestQueue",e=>{this.sessionRequestQueue.queue.push(e)}),cS(this,"cleanupAfterResponse",e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=cd.idle,this.processSessionRequestQueue()},(0,o.toMiliseconds)(this.requestQueueDelay))}),cS(this,"cleanupPendingSentRequestsForTopic",({topic:e,error:t})=>{let r=this.client.core.history.pending;r.length>0&&r.filter(t=>t.topic===e&&"wc_sessionRequest"===t.request.method).forEach(e=>{let r=e.request.id,i=e$("session_request",r);if(0===this.events.listenerCount(i))throw Error(`emitting ${i} without any listeners`);this.events.emit(e$("session_request",e.request.id),{error:t})})}),cS(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===cd.active){this.client.logger.info("session request queue is already active.");return}let e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=cd.active,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}}),cS(this,"emitSessionRequest",e=>{this.client.events.emit("session_request",e)}),cS(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);
10t&&this.onSessionProposeRequest({topic:e.topic,payload:(0,sQ.formatJsonRpcRequest)("wc_sessionPropose",cP(cD({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})}),cS(this,"isValidConnect",async e=>{let t;if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw Error(t)}let{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:s,sessionProperties:n,scopedProperties:o,relays:a}=e;if(sp(r)||await this.isValidPairingTopic(r),t=!1,a?a&&su(a)&&a.length&&a.forEach(e=>{t=sv(e)}):t=!0,!t){let{message:e}=sl("MISSING_OR_INVALID",`connect() relays: ${a}`);throw Error(e)}if(!sp(i)&&0!==sd(i)){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(i,"requiredNamespaces")}if(sp(s)||0===sd(s)||this.validateNamespaces(s,"optionalNamespaces"),sp(n)||this.validateSessionProps(n,"sessionProperties"),!sp(o)){this.validateSessionProps(o,"scopedProperties");let e=Object.keys(i||{}).concat(Object.keys(s||{}));if(!Object.keys(o).every(t=>e.includes(t)))throw Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(o)}, required/optional namespaces: ${JSON.stringify(e)}`)}}),cS(this,"validateNamespaces",(e,t)=>{let r=function(e,t,r){let i=null;if(e&&sd(e)){let s;let n=sb(e,t);n&&(i=n);let o=(s=null,Object.entries(e).forEach(([e,i])=>{var n,o;let a;if(s)return;let c=(n=ep(e,i),o=`${t} ${r}`,a=null,su(n)&&n.length?n.forEach(e=>{a||sy(e)||(a=sh("UNSUPPORTED_CHAINS",`${o}, chain ${e} should be a string and conform to "namespace:chainId" format`))}):sy(e)||(a=sh("UNSUPPORTED_CHAINS",`${o}, chains must be defined as "namespace:chainId" e.g. "eip155:1": {...} in the namespace key OR as an array of CAIP-2 chainIds e.g. eip155: { chains: ["eip155:1", "eip155:5"] }`)),a);c&&(s=c)}),s);o&&(i=o)}else i=sl("MISSING_OR_INVALID",`${t}, ${r} should be an object with data`);return i}(e,"connect()",t);if(r)throw Error(r.message)}),cS(this,"isValidApprove",async e=>{if(!sE(e))throw Error(sl("MISSING_OR_INVALID",`approve() params: ${e}`).message);let{id:t,namespaces:r,relayProtocol:i,sessionProperties:s,scopedProperties:n}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);let o=this.client.proposal.get(t),a=sw(r,"approve()");if(a)throw Error(a.message);let c=s_(o.requiredNamespaces,r,"approve()");if(c)throw Error(c.message);if(!sf(i,!0)){let{message:e}=sl("MISSING_OR_INVALID",`approve() relayProtocol: ${i}`);throw Error(e)}if(sp(s)||this.validateSessionProps(s,"sessionProperties"),!sp(n)){this.validateSessionProps(n,"scopedProperties");let e=new Set(Object.keys(r));if(!Object.keys(n).every(t=>e.has(t)))throw Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(n)}, approved namespaces: ${Array.from(e).join(", ")}`)}}),cS(this,"isValidReject",async e=>{if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`reject() params: ${e}`);throw Error(t)}let{id:t,reason:r}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!r||"object"!=typeof r||!r.code||!sg(r.code,!1)||!r.message||!sf(r.message,!1)){let{message:e}=sl("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(r)}`);throw Error(e)}}),cS(this,"isValidSessionSettleRequest",e=>{let t;if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw Error(t)}let{relay:r,controller:i,namespaces:s,expiry:n}=e;if(!sv(r)){let{message:e}=sl("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw Error(e)}let o=(t=null,sf(i?.publicKey,!1)||(t=sl("MISSING_OR_INVALID","onSessionSettleRequest() controller public key should be a string")),t);if(o)throw Error(o.message);let a=sw(s,"onSessionSettleRequest()");if(a)throw Error(a.message);if(eB(n)){let{message:e}=sl("EXPIRED","onSessionSettleRequest()");throw Error(e)}}),cS(this,"isValidUpdate",async e=>{if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`update() params: ${e}`);throw Error(t)}let{topic:t,namespaces:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);
10let i=this.client.session.get(t),s=sw(r,"update()");if(s)throw Error(s.message);let n=s_(i.requiredNamespaces,r,"update()");if(n)throw Error(n.message)}),cS(this,"isValidExtend",async e=>{if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`extend() params: ${e}`);throw Error(t)}let{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),cS(this,"isValidRequest",async e=>{var t;if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`request() params: ${e}`);throw Error(t)}let{topic:r,request:i,chainId:s,expiry:n}=e;this.checkRecentlyDeleted(r),await this.isValidSessionTopic(r);let{namespaces:o}=this.client.session.get(r);if(!sI(o,s)){let{message:e}=sl("MISSING_OR_INVALID",`request() chainId: ${s}`);throw Error(e)}if(sp(i)||!sf(i.method,!1)){let{message:e}=sl("MISSING_OR_INVALID",`request() ${JSON.stringify(i)}`);throw Error(e)}if(!(sf(t=i.method,!1)&&(function(e,t){let r=[];return Object.values(e).forEach(e=>{sr(e.accounts).includes(t)&&r.push(...e.methods)}),r})(o,s).includes(t))){let{message:e}=sl("MISSING_OR_INVALID",`request() method: ${i.method}`);throw Error(e)}if(n&&(!sg(n,!1)||!(n<=cu.max)||!(n>=cu.min))){let{message:e}=sl("MISSING_OR_INVALID",`request() expiry: ${n}. Expiry must be a number (in seconds) between ${cu.min} and ${cu.max}`);throw Error(e)}}),cS(this,"isValidRespond",async e=>{var t;if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`respond() params: ${e}`);throw Error(t)}let{topic:r,response:i}=e;try{await this.isValidSessionTopic(r)}catch(r){throw null!=(t=e?.response)&&t.id&&this.cleanupAfterResponse(e),r}if(sp(i)||sp(i.result)&&sp(i.error)||!sg(i.id,!1)||!sf(i.jsonrpc,!1)){let{message:e}=sl("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(i)}`);throw Error(e)}}),cS(this,"isValidPing",async e=>{if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`ping() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),cS(this,"isValidEmit",async e=>{var t;if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`emit() params: ${e}`);throw Error(t)}let{topic:r,event:i,chainId:s}=e;await this.isValidSessionTopic(r);let{namespaces:n}=this.client.session.get(r);if(!sI(n,s)){let{message:e}=sl("MISSING_OR_INVALID",`emit() chainId: ${s}`);throw Error(e)}if(sp(i)||!sf(i.name,!1)){let{message:e}=sl("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}if(!(sf(t=i.name,!1)&&(function(e,t){let r=[];return Object.values(e).forEach(e=>{sr(e.accounts).includes(t)&&r.push(...e.events)}),r})(n,s).includes(t))){let{message:e}=sl("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(i)}`);throw Error(e)}}),cS(this,"isValidDisconnect",async e=>{if(!sE(e)){let{message:t}=sl("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw Error(t)}let{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),cS(this,"isValidAuthenticate",e=>{let{chains:t,uri:r,domain:i,nonce:s}=e;if(!Array.isArray(t)||0===t.length)throw Error("chains is required and must be a non-empty array");if(!sf(r,!1))throw Error("uri is required parameter");if(!sf(i,!1))throw Error("domain is required parameter");if(!sf(s,!1))throw Error("nonce is required parameter");if([...new Set(t.map(e=>eu(e).namespace))].length>1)throw Error("Multi-namespace requests are not supported. Please request single namespace only.");let{namespace:n}=eu(t[0]);if("eip155"!==n)throw Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),cS(this,"getVerifyContext",async e=>{let{attestationId:t,hash:r,encryptedId:i,metadata:s,transportType:n}=e,o={verified:{verifyUrl:s.verifyUrl||nu,validation:"UNKNOWN",origin:s.url||""}};try{if(n===ni.link_mode){let e=this.getAppLinkIfEnabled(s,n);return o.verified.validation=e&&new URL(e).origin===new URL(s.url).origin?"VALID":"INVALID",o}let e=await this.client.core.verify.resolve({attestationId:t,hash:r,encryptedId:i,verifyUrl:s.verifyUrl});e&&(o.verified.origin=e.origin,o.verified.isScam=e.isScam,o.verified.validation=e.origin===new URL(s.url).origin?"VALID":"INVALID")}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(o)}`),o}),cS(this,"validateSessionProps",(e,t)=>{Object.values(e).forEach((r,i)=>{if(null==r){let{message:s}=sl("MISSING_OR_INVALID",`${t} must contain an existing value for each key. Received: ${r} for key ${Object.keys(e)[i]}`);throw Error(s)}})}),cS(this,"getPendingAuthRequest",e=>{let t=this.client.auth.requests.get(e);return"object"==typeof t?t:void 0}),cS(this,"addToRecentlyDeleted",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0,t=this.recentlyDeletedLimit/2;
10for(let r of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(r)}}}),cS(this,"checkRecentlyDeleted",e=>{let t=this.recentlyDeletedMap.get(e);if(t){let{message:r}=sl("MISSING_OR_INVALID",`Record was recently deleted - ${t}: ${e}`);throw Error(r)}}),cS(this,"isLinkModeEnabled",(e,t)=>{var i,s,n,o,a,c,l,h,u;return!!e&&t===ni.link_mode&&(null==(s=null==(i=this.client.metadata)?void 0:i.redirect)?void 0:s.linkMode)===!0&&(null==(o=null==(n=this.client.metadata)?void 0:n.redirect)?void 0:o.universal)!==void 0&&(null==(c=null==(a=this.client.metadata)?void 0:a.redirect)?void 0:c.universal)!==""&&(null==(l=e?.redirect)?void 0:l.universal)!==void 0&&(null==(h=e?.redirect)?void 0:h.universal)!==""&&(null==(u=e?.redirect)?void 0:u.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&"u">typeof(null==r.g?void 0:r.g.Linking)}),cS(this,"getAppLinkIfEnabled",(e,t)=>{var r;return this.isLinkModeEnabled(e,t)?null==(r=e?.redirect)?void 0:r.universal:void 0}),cS(this,"handleLinkModeMessage",({url:e})=>{if(!e||!e.includes("wc_ev")||!e.includes("topic"))return;let t=eH(e,"topic")||"",r=decodeURIComponent(eH(e,"wc_ev")||""),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:ni.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:r,sessionExists:i})}),cS(this,"registerLinkModeListeners",async()=>{var e;if(eK()||eP()&&null!=(e=this.client.metadata.redirect)&&e.linkMode){let e=null==r.g?void 0:r.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)}}}),cS(this,"shouldSetTVF",(e,t)=>{if(!t||"wc_sessionRequest"!==e)return!1;let{request:r}=t;return Object.keys(cp).includes(r.method)}),cS(this,"getTVFParams",(e,t,r)=>{var i,s;try{let n=t.request.method,o=this.extractTxHashesFromResult(n,r);return cP(cD({correlationId:e,rpcMethods:[n],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[null==(s=null==(i=t.request.params)?void 0:i[0])?void 0:s.to]}),{txHashes:o})}catch(e){this.client.logger.warn("Error getting TVF params",e)}return{}}),cS(this,"isValidContractData",e=>{var t;if(!e)return!1;try{let r=e?.data||(null==(t=e?.[0])?void 0:t.data);if(!r.startsWith("0x"))return!1;let i=r.slice(2);return!!/^[0-9a-fA-F]*$/.test(i)&&i.length%2==0}catch{}return!1}),cS(this,"extractTxHashesFromResult",(e,t)=>{try{let r=cp[e];if("string"==typeof t)return[t];let i=t[r.key];if(su(i))return"solana_signAllTransactions"===e?i.map(e=>(function(e){let t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);let i=r[0];if(0===i)throw Error("No signatures found");if(r.length<1+64*i)throw Error("Transaction data too short for claimed signature count");if(r.length<100)throw Error("Transaction too short");let s=eh.from(e,"base64").slice(1,65);return en.Z.encode(s)})(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,r]of Object.entries(t))for(let t of r)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}=sl("NOT_INITIALIZED",this.name);throw Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(ne.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){let{topic:t,message:r,attestation:i,transportType:s}=e,{publicKey:n}=this.client.auth.authKeys.keys.includes(cy)?this.client.auth.authKeys.get(cy):{responseTopic:void 0,publicKey:void 0};try{let e=await this.client.core.crypto.decode(t,r,{receiverPublicKey:n,encoding:s===ni.link_mode?iB:iq});(0,sQ.isJsonRpcRequest)(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:i,transportType:s,encryptedId:iF(r)})):(0,sQ.isJsonRpcResponse)(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:s}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:s}),await this.client.core.relayer.messages.ack(t,r)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(nh.expired,async e=>
10{let{topic:t,id:r}=ek(e.target);return r&&this.client.pendingRequest.keys.includes(r)?await this.deletePendingSessionRequest(r,sl("EXPIRED"),!0):r&&this.client.auth.requests.keys.includes(r)?await this.deletePendingAuthRequest(r,sl("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})):r&&(await this.deleteProposal(r,!0),this.client.events.emit("proposal_expire",{id:r})))})}registerPairingEvents(){this.client.core.pairing.events.on(nc.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(nc.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!sf(e,!1)){let{message:t}=sl("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}=sl("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw Error(t)}if(eB(this.client.core.pairing.pairings.get(e).expiry)){let{message:t}=sl("EXPIRED",`pairing topic: ${e}`);throw Error(t)}}async isValidSessionTopic(e){if(!sf(e,!1)){let{message:t}=sl("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}=sl("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw Error(t)}if(eB(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});let{message:t}=sl("EXPIRED",`session topic: ${e}`);throw Error(t)}if(!this.client.core.crypto.keychain.has(e)){let{message:t}=sl("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(sf(e,!1)){let{message:t}=sl("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw Error(t)}else{let{message:t}=sl("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw Error(t)}}async isValidProposalId(e){if("number"!=typeof e){let{message:t}=sl("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw Error(t)}if(!this.client.proposal.keys.includes(e)){let{message:t}=sl("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw Error(t)}if(eB(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);let{message:t}=sl("EXPIRED",`proposal id: ${e}`);throw Error(t)}}}class cx extends aS{constructor(e,t){super(e,t,"proposal",cn),this.core=e,this.logger=t}}class cA extends aS{constructor(e,t){super(e,t,"session",cn),this.core=e,this.logger=t}}class cC extends aS{constructor(e,t){super(e,t,"request",cn,e=>e.id),this.core=e,this.logger=t}}class cR extends aS{constructor(e,t){super(e,t,"authKeys",cg,()=>cy),this.core=e,this.logger=t}}class cN extends aS{constructor(e,t){super(e,t,"pairingTopics",cg),this.core=e,this.logger=t}}class cT extends aS{constructor(e,t){super(e,t,"requests",cg,e=>e.id),this.core=e,this.logger=t}}var cj=Object.defineProperty,cU=(e,t,r)=>t in e?cj(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cL=(e,t,r)=>cU(e,"symbol"!=typeof t?t+"":t,r);class ck{constructor(e,t){this.core=e,this.logger=t,cL(this,"authKeys"),cL(this,"pairingTopics"),cL(this,"requests"),this.authKeys=new cR(this.core,this.logger),this.pairingTopics=new cN(this.core,this.logger),this.requests=new cT(this.core,this.logger)}
10async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var cq=Object.defineProperty,cB=(e,t,r)=>t in e?cq(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,c$=(e,t,r)=>cB(e,"symbol"!=typeof t?t+"":t,r);class cM extends cr{constructor(e){super(e),c$(this,"protocol","wc"),c$(this,"version",2),c$(this,"name",co.name),c$(this,"metadata"),c$(this,"core"),c$(this,"logger"),c$(this,"events",new i.EventEmitter),c$(this,"engine"),c$(this,"session"),c$(this,"proposal"),c$(this,"pendingRequest"),c$(this,"auth"),c$(this,"signConfig"),c$(this,"on",(e,t)=>this.events.on(e,t)),c$(this,"once",(e,t)=>this.events.once(e,t)),c$(this,"off",(e,t)=>this.events.off(e,t)),c$(this,"removeListener",(e,t)=>this.events.removeListener(e,t)),c$(this,"removeAllListeners",e=>this.events.removeAllListeners(e)),c$(this,"connect",async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"pair",async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"approve",async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"reject",async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"update",async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"extend",async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"request",async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"respond",async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"ping",async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"emit",async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"disconnect",async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"find",e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}}),c$(this,"authenticate",async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"formatAuthMessage",e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"approveSessionAuthenticate",async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),c$(this,"rejectSessionAuthenticate",async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}}),this.name=e?.name||co.name,this.metadata=function(e){var t,r;let i=eA();try{return null!=e&&e.url&&i.url&&new URL(e.url).host!==new URL(i.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${e.url} differs from the actual page url:${i.url}. This is probably unintended and can lead to issues.`),e.url=i.url),null!=(t=e?.icons)&&t.length&&e.icons.length>0&&(e.icons=e.icons.filter(e=>""!==e)),eI(eE(eE({},i),e),{url:e?.url||i.url,name:e?.name||i.name,description:e?.description||i.description,icons:null!=(r=e?.icons)&&r.length&&e.icons.length>0?e.icons:i.icons})}catch(t){return console.warn("Error populating app metadata",t),e||i}}(e?.metadata),this.signConfig=e?.signConfig;let t="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,sR.gw)((0,sR.jI)({level:e?.logger||co.logger}));this.core=e?.core||new a9(e),this.logger=(0,sR.Ep)(t,this.name),this.session=new cA(this.core,this.logger),this.proposal=new cx(this.core,this.logger),this.pendingRequest=new cC(this.core,this.logger),this.engine=new cO(this),this.auth=new ck(this.core,this.logger)}static async init(e){let t=new cM(e);return await t.initialize(),t}get context(){return(0,sR.Fd)(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,o.toMiliseconds)(o.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var cz=r(88900),cF=r(48764).Buffer;let cH="error",cV="wc@2:universal_provider:",cK="https://rpc.walletconnect.org/v1/",cJ="generic",cW=`${cK}bundler`,cG={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};function cY(){}function cZ(e){return null==e||"object"!=typeof e&&"function"!=typeof e}function cQ(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cX(e){return"object"==typeof e&&null!==e}function c0(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}
10function c1(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}let c2="[object String]",c8="[object Number]",c3="[object Boolean]",c5="[object Arguments]";function c6(e,t,r,i=new Map,s){let n=s?.(e,t,r,i);if(null!=n)return n;if(cZ(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]=c6(e[n],n,r,i,s);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,o]of(i.set(e,t),e))t.set(n,c6(o,n,r,i,s));return t}if(e instanceof Set){let t=new Set;for(let n of(i.set(e,t),e))t.add(c6(n,void 0,r,i,s));return t}if("u">typeof cF&&cF.isBuffer(e))return e.subarray();if(cQ(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);i.set(e,t);for(let n=0;n<e.length;n++)t[n]=c6(e[n],n,r,i,s);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),c4(t,e,r,i,s),t}if("u">typeof File&&e instanceof File){let t=new File([e],e.name,{type:e.type});return i.set(e,t),c4(t,e,r,i,s),t}if(e instanceof Blob){let t=new Blob([e],{type:e.type});return i.set(e,t),c4(t,e,r,i,s),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,c4(t,e,r,i,s),t}if("object"==typeof e&&function(e){switch(c1(e)){case c5:case"[object Array]":case"[object ArrayBuffer]":case"[object DataView]":case c3:case"[object Date]":case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Map]":case c8:case"[object Object]":case"[object RegExp]":case"[object Set]":case c2: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),c4(t,e,r,i,s),t}return e}function c4(e,t,r=e,i,s){let n=[...Object.keys(t),...c0(t)];for(let o=0;o<n.length;o++){let a=n[o],c=Object.getOwnPropertyDescriptor(e,a);(null==c||c.writable)&&(e[a]=c6(t[a],a,r,i,s))}}function c9(e){return c6(e,void 0,e,new Map,(t,r,i,s)=>{let n=void 0;if(null!=n)return n;if("object"==typeof e)switch(Object.prototype.toString.call(e)){case c8:case c2:case c3:{let t=new e.constructor(e?.valueOf());return c4(t,e),t}case c5:{let t={};return c4(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}})}function c7(e){return null!==e&&"object"==typeof e&&"[object Arguments]"===c1(e)}var le=Object.defineProperty,lt=Object.defineProperties,lr=Object.getOwnPropertyDescriptors,li=Object.getOwnPropertySymbols,ls=Object.prototype.hasOwnProperty,ln=Object.prototype.propertyIsEnumerable,lo=(e,t,r)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,la=(e,t)=>{for(var r in t||(t={}))ls.call(t,r)&&lo(e,r,t[r]);if(li)for(var r of li(t))ln.call(t,r)&&lo(e,r,t[r]);return e},lc=(e,t)=>lt(e,lr(t));function ll(e,t,r){var i;let s=eu(e);return(null==(i=t.rpcMap)?void 0:i[s.reference])||`${cK}?chainId=${s.namespace}:${s.reference}&projectId=${r}`}function lh(e){return e.includes(":")?e.split(":")[1]:e}function lu(e){return e.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function ld(e={},t={}){let r=lp(e),i=lp(t);return function(e,...t){return function(e,...t){let r=t.slice(0,-1),i=t[t.length-1],s=e;for(let e=0;e<r.length;e++){let t=r[e];s=function e(t,r,i,s){if(cZ(t)&&(t=Object(t)),null==r||"object"!=typeof r)return t;if(s.has(r))return function(e){if(cZ(e))return e;if(Array.isArray(e)||cQ(e)||e instanceof ArrayBuffer||"u">typeof SharedArrayBuffer&&e instanceof SharedArrayBuffer)return e.slice(0);let t=Object.getPrototypeOf(e),r=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new r(e);if(e instanceof RegExp){let t=new r(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new r(e.buffer.slice(0));if(e instanceof Error){let t=new r(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}if("u">typeof File&&e instanceof File)return new r([e],e.name,{type:e.type,lastModified:e.lastModified});if("object"==typeof e){let r=Object.create(t);return Object.assign(r,e)}return e}(s.get(r));if(s.set(r,t),Array.isArray(r)){r=r.slice();for(let e=0;e<r.length;e++)r[e]=r[e]??void 0}let n=[...Object.keys(r),...c0(r)];for(let o=0;o<n.length;o++){let a=n[o],c=r[a],l=t[a];if(c7(c)&&(c={...c}),c7(l)&&(l={...l}),"u">
10typeof cF&&cF.isBuffer(c)&&(c=c9(c)),Array.isArray(c)){if("object"==typeof l&&null!=l){let e=[],t=Reflect.ownKeys(l);for(let r=0;r<t.length;r++){let i=t[r];e[i]=l[i]}l=e}else l=[]}let h=i(l,c,a,t,r,s);null!=h?t[a]=h:Array.isArray(c)||cX(l)&&cX(c)?t[a]=e(l,c,i,s):null==l&&function(e){if("object"!=typeof e||null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[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[a]=e({},c,i,s):null==l&&cQ(c)?t[a]=c9(c):(void 0===l||void 0!==c)&&(t[a]=c)}return t}(s,t,i,new Map)}return s}(e,...t,cY)}(r,i)}function lp(e){var t,r,i,s,n;let o={};if(!sd(e))return o;for(let[a,c]of Object.entries(e)){let e=si(a)?[a]:c.chains,l=c.methods||[],h=c.events||[],u=c.rpcMap||{},d=ss(a);o[d]=lc(la(la({},o[d]),c),{chains:eM(e,null==(t=o[d])?void 0:t.chains),methods:eM(l,null==(r=o[d])?void 0:r.methods),events:eM(h,null==(i=o[d])?void 0:i.events)}),(sd(u)||sd((null==(s=o[d])?void 0:s.rpcMap)||{}))&&(o[d].rpcMap=la(la({},u),null==(n=o[d])?void 0:n.rpcMap))}return o}function lf(e){return e.includes(":")?e.split(":")[2]:e}function lg(e){let t={};for(let[r,i]of Object.entries(e)){let e=i.methods||[],s=i.events||[],n=i.accounts||[],o=si(r)?[r]:i.chains?i.chains:lu(i.accounts);t[r]={chains:o,methods:e,events:s,accounts:n}}return t}function ly(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 lm={},lb=e=>lm[e],lw=(e,t)=>{lm[e]=t};var lv=Object.defineProperty,lE=(e,t,r)=>t in e?lv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lI=(e,t,r)=>lE(e,"symbol"!=typeof t?t+"":t,r);class l_{constructor(e){lI(this,"name","polkadot"),lI(this,"client"),lI(this,"httpProviders"),lI(this,"events"),lI(this,"namespace"),lI(this,"chainId"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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(cG.DEFAULT_CHAIN_CHANGED,`${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 r;let i=lh(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ll(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new sZ.r(new cz.Z(r,lb("disableProviderPing")))}}var lD=Object.defineProperty,lP=Object.defineProperties,lS=Object.getOwnPropertyDescriptors,lO=Object.getOwnPropertySymbols,lx=Object.prototype.hasOwnProperty,lA=Object.prototype.propertyIsEnumerable,lC=(e,t,r)=>t in e?lD(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lR=(e,t)=>{for(var r in t||(t={}))lx.call(t,r)&&lC(e,r,t[r]);if(lO)for(var r of lO(t))lA.call(t,r)&&lC(e,r,t[r]);return e},lN=(e,t)=>lP(e,lS(t)),lT=(e,t,r)=>lC(e,"symbol"!=typeof t?t+"":t,r);class lj{constructor(e){lT(this,"name","eip155"),lT(this,"client"),lT(this,"chainId"),lT(this,"namespace"),lT(this,"httpProviders"),lT(this,"events"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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(cG.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;let e=this.namespace.chains[0];if(!e)throw Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){let r=t||ll(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new sZ.r(new cz.k(r,lb("disableProviderPing")))}setHttpProvider(e,t){let r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProviders(){let e={};return this.namespace.chains.forEach(t=>{var r;let i=parseInt(lh(t));e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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,r;let i=e.request.params?null==(t=e.request.params[0])?void 0:t.chainId:"0x0";i=i.startsWith("0x")?i:`0x${i}`;let s=parseInt(i,16);if(this.isChainApproved(s))this.setDefaultChain(`${s}`);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==(r=this.namespace.chains)?void 0:r[0]}),this.setDefaultChain(`${s}`);else throw Error(`Failed to switch to chain 'eip155:${s}'. 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,r,i,s,n;let o=null==(r=null==(t=e.request)?void 0:t.params)?void 0:r[0],a=(null==(s=null==(i=e.request)?void 0:i.params)?void 0:s[1])||[],c=`${o}${a.join(",")}`;if(!o)throw Error("Missing address parameter in `wallet_getCapabilities` request");let l=this.client.session.get(e.topic),h=(null==(n=l?.sessionProperties)?void 0:n.capabilities)||{};if(null!=h&&h[c])return h?.[c];let u=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:lN(lR({},l.sessionProperties||{}),{capabilities:lN(lR({},h||{}),{[c]:u})})})}catch(e){console.warn("Failed to update session with capabilities",e)}return u}async getCallStatus(e){var t,r;let i=this.client.session.get(e.topic),s=null==(t=i.sessionProperties)?void 0:t.bundler_name;if(s){let t=this.getBundlerUrl(e.chainId,s);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn("Failed to fetch call status from bundler",e,t)}}let n=null==(r=i.sessionProperties)?void 0:r.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 r;let i=new URL(e),s=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,sQ.formatJsonRpcRequest)("eth_getUserOperationReceipt",[null==(r=t.request.params)?void 0:r[0]]))});if(!s.ok)throw Error(`Failed to fetch user operation receipt - ${s.status}`);return await s.json()}
10getBundlerUrl(e,t){return`${cW}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var lU=Object.defineProperty,lL=(e,t,r)=>t in e?lU(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lk=(e,t,r)=>lL(e,"symbol"!=typeof t?t+"":t,r);class lq{constructor(e){lk(this,"name","solana"),lk(this,"client"),lk(this,"httpProviders"),lk(this,"events"),lk(this,"namespace"),lk(this,"chainId"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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(cG.DEFAULT_CHAIN_CHANGED,`${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 r;let i=lh(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ll(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new sZ.r(new cz.Z(r,lb("disableProviderPing")))}}var lB=Object.defineProperty,l$=(e,t,r)=>t in e?lB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lM=(e,t,r)=>l$(e,"symbol"!=typeof t?t+"":t,r);class lz{constructor(e){lM(this,"name","cosmos"),lM(this,"client"),lM(this,"httpProviders"),lM(this,"events"),lM(this,"namespace"),lM(this,"chainId"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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(cG.DEFAULT_CHAIN_CHANGED,`${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 r;let i=lh(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ll(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new sZ.r(new cz.Z(r,lb("disableProviderPing")))}}var lF=Object.defineProperty,lH=(e,t,r)=>t in e?lF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lV=(e,t,r)=>lH(e,"symbol"!=typeof t?t+"":t,r);class lK{constructor(e){lV(this,"name","algorand"),lV(this,"client"),lV(this,"httpProviders"),lV(this,"events"),lV(this,"namespace"),lV(this,"chainId"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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 r=t||ll(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.chainId=e,this.events.emit(cG.DEFAULT_CHAIN_CHANGED,`${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 r;e[t]=this.createHttpProvider(t,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ll(e,this.namespace,this.client.core.projectId);return typeof r>"u"?void 0:new sZ.r(new cz.Z(r,lb("disableProviderPing")))}}var lJ=Object.defineProperty,lW=(e,t,r)=>t in e?lJ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lG=(e,t,r)=>lW(e,"symbol"!=typeof t?t+"":t,r);class lY{constructor(e){lG(this,"name","cip34"),lG(this,"client"),lG(this,"httpProviders"),lG(this,"events"),lG(this,"namespace"),lG(this,"chainId"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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(cG.DEFAULT_CHAIN_CHANGED,`${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 r=this.getCardanoRPCUrl(t),i=lh(t);e[i]=this.createHttpProvider(i,r)}),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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||this.getCardanoRPCUrl(e);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new sZ.r(new cz.Z(r,lb("disableProviderPing")))}}var lZ=Object.defineProperty,lQ=(e,t,r)=>t in e?lZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lX=(e,t,r)=>lQ(e,"symbol"!=typeof t?t+"":t,r);class l0{constructor(e){lX(this,"name","elrond"),lX(this,"client"),lX(this,"httpProviders"),lX(this,"events"),lX(this,"namespace"),lX(this,"chainId"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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(cG.DEFAULT_CHAIN_CHANGED,`${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 r;let i=lh(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ll(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new sZ.r(new cz.Z(r,lb("disableProviderPing")))}}var l1=Object.defineProperty,l2=(e,t,r)=>t in e?l1(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,l8=(e,t,r)=>l2(e,"symbol"!=typeof t?t+"":t,r);class l3{constructor(e){l8(this,"name","multiversx"),l8(this,"client"),l8(this,"httpProviders"),l8(this,"events"),l8(this,"namespace"),l8(this,"chainId"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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(cG.DEFAULT_CHAIN_CHANGED,`${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 r;let i=lh(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ll(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new sZ.r(new cz.Z(r,lb("disableProviderPing")))}}var l5=Object.defineProperty,l6=(e,t,r)=>t in e?l5(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,l4=(e,t,r)=>l6(e,"symbol"!=typeof t?t+"":t,r);class l9{constructor(e){l4(this,"name","near"),l4(this,"client"),l4(this,"httpProviders"),l4(this,"events"),l4(this,"namespace"),l4(this,"chainId"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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 r=t||ll(`${this.name}:${e}`,this.namespace);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(cG.DEFAULT_CHAIN_CHANGED,`${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 r;e[t]=this.createHttpProvider(t,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ll(e,this.namespace);return typeof r>"u"?void 0:new sZ.r(new cz.Z(r,lb("disableProviderPing")))}}var l7=Object.defineProperty,he=(e,t,r)=>t in e?l7(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ht=(e,t,r)=>he(e,"symbol"!=typeof t?t+"":t,r);class hr{constructor(e){ht(this,"name","tezos"),ht(this,"client"),ht(this,"httpProviders"),ht(this,"events"),ht(this,"namespace"),ht(this,"chainId"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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 r=t||ll(`${this.name}:${e}`,this.namespace);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(cG.DEFAULT_CHAIN_CHANGED,`${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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ll(e,this.namespace);return typeof r>"u"?void 0:new sZ.r(new cz.Z(r))}}var hi=Object.defineProperty,hs=(e,t,r)=>t in e?hi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hn=(e,t,r)=>hs(e,"symbol"!=typeof t?t+"":t,r);class ho{constructor(e){hn(this,"name",cJ),hn(this,"client"),hn(this,"httpProviders"),hn(this,"events"),hn(this,"namespace"),hn(this,"chainId"),this.namespace=e.namespace,this.events=lb("events"),this.client=lb("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(cG.DEFAULT_CHAIN_CHANGED,`${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(":"
10)[1]===this.chainId.toString()).map(e=>e.split(":")[2]))]:[]}createHttpProviders(){var e,t;let r={};return null==(t=null==(e=this.namespace)?void 0:e.accounts)||t.forEach(e=>{let t=eu(e);r[`${t.namespace}:${t.reference}`]=this.createHttpProvider(e)}),r}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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){let r=t||ll(e,this.namespace,this.client.core.projectId);if(!r)throw Error(`No RPC url provided for chainId: ${e}`);return new sZ.r(new cz.Z(r,lb("disableProviderPing")))}}var ha=Object.defineProperty,hc=Object.defineProperties,hl=Object.getOwnPropertyDescriptors,hh=Object.getOwnPropertySymbols,hu=Object.prototype.hasOwnProperty,hd=Object.prototype.propertyIsEnumerable,hp=(e,t,r)=>t in e?ha(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hf=(e,t)=>{for(var r in t||(t={}))hu.call(t,r)&&hp(e,r,t[r]);if(hh)for(var r of hh(t))hd.call(t,r)&&hp(e,r,t[r]);return e},hg=(e,t)=>
10hc(e,hl(t)),hy=(e,t,r)=>hp(e,"symbol"!=typeof t?t+"":t,r);class hm{constructor(e){hy(this,"client"),hy(this,"namespaces"),hy(this,"optionalNamespaces"),hy(this,"sessionProperties"),hy(this,"scopedProperties"),hy(this,"events",new(s())),hy(this,"rpcProviders",{}),hy(this,"session"),hy(this,"providerOpts"),hy(this,"logger"),hy(this,"uri"),hy(this,"disableProviderPing",!1),this.providerOpts=e,this.logger="u">typeof e?.logger&&"string"!=typeof e?.logger?e.logger:(0,sR.gw)((0,sR.jI)({level:e?.logger||cH})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){let t=new hm(e);return await t.initialize(),t}async request(e,t,r){let[i,s]=this.validateChain(t);if(!this.session)throw Error("Please call connect() before request()");return await this.getProvider(i).request({request:hf({},e),chainId:`${i}:${s}`,topic:this.session.topic,expiry:r})}sendAsync(e,t,r,i){let s=new Date().getTime();this.request(e,r,i).then(e=>t(null,(0,sQ.formatJsonRpcResult)(s,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:sh("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:r,response:i}=await this.client.authenticate(e,t);r&&(this.uri=r,this.events.emit("display_uri",r));let s=await i();if(this.session=s.session,this.session){let e=lg(this.session.namespaces);this.namespaces=ld(this.namespaces,e),await this.persist("namespaces",this.namespaces),this.onConnect()}return s}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:r}=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 r();this.session=i;let s=lg(i.namespaces);return this.namespaces=ld(this.namespaces,s),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[r,i]=this.validateChain(e),s=this.getProvider(r);s.name===cJ?s.setDefaultChain(`${r}:${i}`,t):s.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(su(t)){for(let r of t)e.deletePairings?this.client.core.expirer.set(r.topic,0):await this.client.core.relayer.subscriber.unsubscribe(r.topic);this.logger.info(`Inactive pairings cleared: ${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 cM.init({core:this.providerOpts.core,logger:this.providerOpts.logger||cH,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(r){throw this.logger.error("Failed to get session",r),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=>ss(e)))];lw("client",this.client),lw("events",this.events),lw("disableProviderPing",this.disableProviderPing),e.forEach(e
10=>{if(!this.session)return;let t=function(e,t){let r=Object.keys(t.namespaces).filter(t=>t.includes(e));if(!r.length)return[];let i=[];return r.forEach(e=>{let r=t.namespaces[e].accounts;i.push(...r)}),i}(e,this.session),r=lu(t),i=ld(this.namespaces,this.optionalNamespaces),s=hg(hf({},i[e]),{accounts:t,chains:r});switch(e){case"eip155":this.rpcProviders[e]=new lj({namespace:s});break;case"algorand":this.rpcProviders[e]=new lK({namespace:s});break;case"solana":this.rpcProviders[e]=new lq({namespace:s});break;case"cosmos":this.rpcProviders[e]=new lz({namespace:s});break;case"polkadot":this.rpcProviders[e]=new l_({namespace:s});break;case"cip34":this.rpcProviders[e]=new lY({namespace:s});break;case"elrond":this.rpcProviders[e]=new l0({namespace:s});break;case"multiversx":this.rpcProviders[e]=new l3({namespace:s});break;case"near":this.rpcProviders[e]=new l9({namespace:s});break;case"tezos":this.rpcProviders[e]=new hr({namespace:s});break;default:this.rpcProviders[cJ]?this.rpcProviders[cJ].updateNamespace(s):this.rpcProviders[cJ]=new ho({namespace:s})}})}registerEventListeners(){if(typeof this.client>"u")throw Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var t;let{topic:r}=e;r===(null==(t=this.session)?void 0:t.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var t;let{params:r,topic:i}=e;if(i!==(null==(t=this.session)?void 0:t.topic))return;let{event:s}=r;if("accountsChanged"===s.name){let e=s.data;e&&su(e)&&this.events.emit("accountsChanged",e.map(lf))}else if("chainChanged"===s.name){let e=r.chainId,t=r.event.data,i=ss(e),s=ly(e)!==ly(t)?`${i}:${ly(t)}`:e;this.onChainChanged(s)}else this.events.emit(s.name,s.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var r,i;if(e!==(null==(r=this.session)?void 0:r.topic))return;let{namespaces:s}=t,n=null==(i=this.client)?void 0:i.session.get(e);this.session=hg(hf({},n),{namespaces:s}),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",hg(hf({},sh("USER_DISCONNECTED")),{data:e.topic})))}),this.on(cG.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[cJ]}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:r={},sessionProperties:i,scopedProperties:s}=e;this.optionalNamespaces=ld(t,r),this.sessionProperties=i,this.scopedProperties=s}validateChain(e){let[t,r]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,r];if(t&&!Object.keys(this.namespaces||{}).map(e=>ss(e)).includes(t))throw Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&r)return[t,r];let i=ss(Object.keys(this.namespaces)[0]),s=this.rpcProviders[i].getDefaultChain();return[i,s]}async requestAccounts(){let[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;let[r,i]=this.validateChain(e);if(!i)return;this.updateNamespaceChain(r,i),this.events.emit("chainChanged",i);let s=this.getProvider(r).getDefaultChain();t||this.getProvider(r).setDefaultChain(i),this.emitAccountsChangedOnChainChange({namespace:r,previousChainId:s,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:t,newChainId:r}){var i,s;try{if(t===r)return;let n=null==(s=null==(i=this.session)?void 0:i.namespaces[e])?void 0:s.accounts;if(!n)return;let o=n.filter(e=>e.includes(`${r}:`)).map(lf);if(!su(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 r=this.namespaces[e]?e:`${e}:${t}`;this.namespaces[r]?this.namespaces[r]&&(this.namespaces[r].defaultChain=t):this.namespaces[r]={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 r;let i=(null==(r=this.session)?void 0:r.topic)||"";await this.client.core.storage.setItem(`${cV}/${e}${i}`,t)}async getFromStore(e){var t;let r=(null==(t=this.session)?void 0:t.topic)||"";return await this.client.core.storage.getItem(`${cV}/${e}${r}`)}async deleteFromStore(e){var t;let r=(null==(t=this.session)?void 0:t.topic)||"";await this.client.core.storage.removeItem(`${cV}/${e}${r}`)}async cleanupStorage(){var e;try{if((null==(e=this.client)?void 0:e.session.length)>0)return;let t=await this.client.core.storage.getKeys();for(let e of t)e.startsWith(cV)&&await this.client.core.storage.removeItem(e)}catch(e){this.logger.warn("Failed to cleanup storage",e)}}}let hb=["eth_sendTransaction","personal_sign"],hw=["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"],hv=["chainChanged","accountsChanged"],hE=["chainChanged","accountsChanged","message","disconnect","connect"],hI=async()=>{let{createAppKit:e}=await r.e(737).then(r.bind(r,20737));return e};var h_=Object.defineProperty,hD=Object.defineProperties,hP=Object.getOwnPropertyDescriptors,hS=Object.getOwnPropertySymbols,hO=Object.prototype.hasOwnProperty,hx=Object.prototype.propertyIsEnumerable,hA=(e,t,r)=>t in e?h_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hC=(e,t)=>{for(var r in t||(t={}))hO.call(t,r)&&hA(e,r,t[r]);if(hS)for(var r of hS(t))hx.call(t,r)&&hA(e,r,t[r]);return e},hR=(e,t)=>hD(e,hP(t)),hN=(e,t,r)=>hA(e,"symbol"!=typeof t?t+"":t,r);function hT(e){return Number(e[0].split(":")[1])}function hj(e){return`0x${e.toString(16)}`}class hU{constructor(){hN(this,"events",new i.EventEmitter),hN(this,"namespace","eip155"),hN(this,"accounts",[]),hN(this,"signer"),hN(this,"chainId",1),hN(this,"modal"),hN(this,"rpc"),hN(this,"STORAGE_KEY","wc@2:ethereum_provider:"),hN(this,"on",(e,t)=>(this.events.on(e,t),this)),hN(this,"once",(e,t)=>(this.events.once(e,t),this)),hN(this,"removeListener",(e,t)=>(this.events.removeListener(e,t),this)),hN(this,"off",(e,t)=>(this.events.off(e,t),this)),hN(this,"parseAccount",e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e),this.signer={},this.rpc={}}static async init(e){let t=new hU;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,r){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),r)}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:r,optional:i}=function(e){let{chains:t,optionalChains:r,methods:i,optionalMethods:s,events:n,optionalEvents:o,rpcMap:a}=e;if(!su(t))throw Error("Invalid chains");let c={chains:t,methods:i||hb,events:n||hv,rpcMap:hC({},t.length?{[hT(t)]:a[hT(t)]}:{})},l=n?.filter(e=>!hv.includes(e)),h=i?.filter(e=>!hb.includes(e));if(!r&&!o&&!s&&!(null!=l&&l.length)&&!(null!=h&&h.length))return{required:t.length?c:void 0};let u=l?.length&&h?.length||!r,d={chains:[...new Set(u?c.chains.concat(r||[]):r)],methods:[...new Set(c.methods.concat(null!=s&&s.length?s:hw))],events:[...new Set(c.events.concat(null!=o&&o.length?o:hE))],rpcMap:a};return{required:t.length?c:void 0,optional:r.length?d:void 0}}(this.rpc);try{let t=await new Promise(async(t,s)=>{var n,o;this.rpc.showQrModal&&(null==(n=this.modal)||n.open(),null==(o=this.modal)||o.subscribeState(e=>{e.open||this.signer.session||(this.signer.abortPairingAttempt(),s(Error("Connection request reset. Please try again.")))}));let a=null!=e&&e.scopedProperties?{[this.namespace]:e.scopedProperties}:void 0;await this.signer.connect(hR(hC({namespaces:hC({},r&&{[this.namespace]:r})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:e?.pairingTopic,scopedProperties:a})).then(e=>{t(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),s(Error(e.message))})});if(!t)return;let s=ed(t.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:s),this.setAccounts(s),this.events.emit("connect",{chainId:hj(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{null==(t=this.modal)||t.close()}}async authenticate(e,t){var r;if(!this.signer.client)throw Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e?.chains});try{let r=await new Promise(async(r,i)=>{var s,n;this.rpc.showQrModal&&(null==(s=this.modal)||s.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(hR(hC({},e),{chains:this.rpc.chains}),t).then(e=>{r(e)}).catch(e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),i(Error(e.message))})}),i=r.session;if(i){let e=ed(i.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit("connect",{chainId:hj(this.chainId)})}return r}catch(e){throw this.signer.logger.error(e),e}finally{null==(r=this.modal)||r.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:r}=t;
10"accountsChanged"===r.name?(this.accounts=this.parseAccounts(r.data),this.events.emit("accountsChanged",this.accounts)):"chainChanged"===r.name?this.setChainId(this.formatChainId(r.data)):this.events.emit(r.name,r.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",hj(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",hR(hC({},sh("USER_DISCONNECTED")),{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",hj(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,r,i]=e.split(":");return{chainId:`${t}:${r}`,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,r;let i=null!=(t=e?.chains)?t:[],s=null!=(r=e?.optionalChains)?r:[],n=i.concat(s);if(!n.length)throw Error("No chains specified in either `chains` or `optionalChains`");let o=i.length?e?.methods||hb:[],a=i.length?e?.events||hv:[],c=e?.optionalMethods||[],l=e?.optionalEvents||[],h=e?.rpcMap||this.buildRpcMap(n,e.projectId),u=e?.qrModalOptions||void 0;return{chains:i?.map(e=>this.formatChainId(e)),optionalChains:s.map(e=>this.formatChainId(e)),methods:o,events:a,optionalMethods:c,optionalEvents:l,rpcMap:h,showQrModal:!!(null!=e&&e.showQrModal),qrModalOptions:u,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){let r={};return e.forEach(e=>{r[e]=this.getRpcUrl(e,t)}),r}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?hT(this.rpc.chains):hT(this.rpc.optionalChains),this.signer=await hm.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=await hI(),{convertWCMToAppKitOptions:r}=await Promise.resolve().then(function(){return hW}),i=r(hR(hC({},this.rpc.qrModalOptions),{chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId}));if(!i.networks.length)throw Error("No networks found for WalletConnect\xb7");e=t(hR(hC({},i),{universalProvider:this.signer,manualWCControl:!0}))}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 WalletConnectModal Instance")}}}loadConnectOpts(e){if(!e)return;let{chains:t,optionalChains:r,rpcMap:i}=e;t&&su(t)&&(this.rpc.chains=t.map(e=>this.formatChainId(e)),t.forEach(e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)})),r&&su(r)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=r?.map(e=>this.formatChainId(e)),r.forEach(e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)}))}getRpcUrl(e,t){var r;return(null==(r=this.rpc.rpcMap)?void 0:r[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))}}
10let hL=hU;var hk=Object.defineProperty,hq=Object.defineProperties,hB=Object.getOwnPropertyDescriptors,h$=Object.getOwnPropertySymbols,hM=Object.prototype.hasOwnProperty,hz=Object.prototype.propertyIsEnumerable,hF=(e,t,r)=>t in e?hk(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,hH=(e,t)=>{for(var r in t||(t={}))hM.call(t,r)&&hF(e,r,t[r]);if(h$)for(var r of h$(t))hz.call(t,r)&&hF(e,r,t[r]);return e},hV=(e,t)=>hq(e,hB(t));let hK=e=>{let[t,r]=e.split(":");return hJ({id:r,caipNetworkId:e,chainNamespace:t,name:"",nativeCurrency:{name:"",symbol:"",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}})};function hJ(e){return hH({formatters:void 0,fees:void 0,serializers:void 0},e)}var hW=Object.freeze({__proto__:null,convertWCMToAppKitOptions:function(e){var t,r,i,s,n,o,a;let c=null==(t=e.chains)?void 0:t.map(hK).filter(Boolean);if(0===c.length)throw Error("At least one chain must be specified");let l=c.find(t=>{var r;return t.id===(null==(r=e.defaultChain)?void 0:r.id)}),h={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:l,metadata:hV(hH({},e.metadata),{name:(null==(r=e.metadata)?void 0:r.name)||"WalletConnect",description:(null==(i=e.metadata)?void 0:i.description)||"Connect to WalletConnect-compatible wallets",url:(null==(s=e.metadata)?void 0:s.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!=(o=e.mobileWallets)&&o.length||null!=(a=e.desktopWallets)&&a.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}}))],r=[...h.featuredWalletIds||[],...h.excludeWalletIds||[]],i=t.filter(e=>!r.includes(e.id));i.length&&(h.customWallets=i)}return h},defineChain:hJ})},38200:function(e,t,r){"use strict";r.d(t,{q:function(){return i}});class i{}},19490:function(e,t,r){"use strict";r.d(t,{C$:function(){return l},Lx:function(){return c}});var i=r(17187),s=r(66736),n=r(38200);class o extends n.q{constructor(e){super()}}let a=s.FIVE_SECONDS,c={pulse:"heartbeat_pulse"};class l extends o{constructor(e){super(e),this.events=new i.EventEmitter,this.interval=a,this.interval=e?.interval||a}static async init(e){let t=new l(e);return await t.init(),t}async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}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 initialize(){this.intervalRef=setInterval(()=>this.pulse(),(0,s.toMiliseconds)(this.interval))}pulse(){this.events.emit(c.pulse)}}},88900:function(e,t,r){"use strict";r.d(t,{Z:function(){return b},k:function(){return b}});var i=r(17187),s=r(80699),n=r.n(s),o=r(85094),a=r(56186),c=Object.defineProperty,l=Object.defineProperties,h=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,f=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,g=(e,t)=>{for(var r in t||(t={}))d.call(t,r)&&f(e,r,t[r]);if(u)for(var r of u(t))p.call(t,r)&&f(e,r,t[r]);return e},y=(e,t)=>l(e,h(t));let m={headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"};class b{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new i.EventEmitter,this.isAvailable=!1,this.registering=!1,!(0,a.isHttpUrl)(e))throw Error(`Provided URL is not compatible with HTTP connection: ${e}`);this.url=e,this.disableProviderPing=t}
10get 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=(0,o.u)(e),r=await (await n()(this.url,y(g({},m),{body:t}))).json();this.onPayload({data:r})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!(0,a.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=(0,o.u)({id:1,jsonrpc:"2.0",method:"test",params:[]});await n()(e,y(g({},m),{body:t}))}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,o.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let r=this.parseError(t),i=r.message||r.toString(),s=(0,a.formatJsonRpcError)(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return(0,a.parseConnectionError)(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}}},80699:function(e,t){var r="undefined"!=typeof self?self:this,i=function(){function e(){this.fetch=!1,this.DOMException=r.DOMException}return e.prototype=r,new e}();(function(e){var t={searchParams:"URLSearchParams"in i,iterable:"Symbol"in i&&"iterator"in Symbol,blob:"FileReader"in i&&"Blob"in i&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in i,arrayBuffer:"ArrayBuffer"in i};if(t.arrayBuffer)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],s=ArrayBuffer.isView||function(e){return e&&r.indexOf(Object.prototype.toString.call(e))>-1};function n(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw TypeError("Invalid character in header field name");return e.toLowerCase()}function o(e){return"string"!=typeof e&&(e=String(e)),e}function a(e){var r={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return t.iterable&&(r[Symbol.iterator]=function(){return r}),r}function Headers(e){this.map={},e instanceof Headers?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function c(e){if(e.bodyUsed)return Promise.reject(TypeError("Already read"));e.bodyUsed=!0}function l(e){return new Promise(function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}})}function h(e){var t=new FileReader,r=l(t);return t.readAsArrayBuffer(e),r}function u(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function d(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e){if("string"==typeof e)this._bodyText=e;else if(t.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(t.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else{var r;t.arrayBuffer&&t.blob&&(r=e)&&DataView.prototype.isPrototypeOf(r)?(this._bodyArrayBuffer=u(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):t.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||s(e))?this._bodyArrayBuffer=u(e):this._bodyText=e=Object.prototype.toString.call(e)}}else 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):t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},t.blob&&(this.blob=function(){var e=c(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(){return this._bodyArrayBuffer?c(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var e,t,r,i=c(this);if(i)return i;if(this._bodyBlob)return e=this._bodyBlob,r=l(t=new FileReader),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=Array(t.length),i=0;i<t.length;i++)r[i]=String.fromCharCode(t[i]);return r.join("")}(this._bodyArrayBuffer));if(!this._bodyFormData)return Promise.resolve(this._bodyText);throw Error("could not read FormData body as text")},t.formData&&(this.formData=function(){return this.text().then(f)}),this.json=function(){return this.text().then(JSON.parse)},this}Headers.prototype.append=function(e,t){e=n(e),t=o(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},Headers.prototype.delete=function(e){delete this.map[n(e)]},Headers.prototype.get=function(e){return e=n(e),this.has(e)?this.map[e]:null},Headers.prototype.has=function(e){return this.map.hasOwnProperty(n(e))},Headers.prototype.set=function(e,t){this.map[n(e)]=o(t)},Headers.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},Headers.prototype.keys=function(){var e=[];return this.forEach(function(t,r){e.push(r)}),a(e)},Headers.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),a(e)},Headers.prototype.entries=function(){var e=[];return this.forEach(function(t,r){e.push([r,t])}),a(e)},t.iterable&&(Headers.prototype[Symbol.iterator]=Headers.prototype.entries);
10var p=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function Request(e,t){var r,i,s=(t=t||{}).body;if(e instanceof Request){if(e.bodyUsed)throw TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new Headers(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,s||null==e._bodyInit||(s=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",(t.headers||!this.headers)&&(this.headers=new Headers(t.headers)),this.method=(i=(r=t.method||this.method||"GET").toUpperCase(),p.indexOf(i)>-1?i:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&s)throw TypeError("Body not allowed for GET or HEAD requests");this._initBody(s)}function f(e){var t=new FormData;return e.trim().split("&").forEach(function(e){if(e){var r=e.split("="),i=r.shift().replace(/\+/g," "),s=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(i),decodeURIComponent(s))}}),t}function Response(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new Headers(t.headers),this.url=t.url||"",this._initBody(e)}Request.prototype.clone=function(){return new Request(this,{body:this._bodyInit})},d.call(Request.prototype),d.call(Response.prototype),Response.prototype.clone=function(){return new Response(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new Headers(this.headers),url:this.url})},Response.error=function(){var e=new Response(null,{status:0,statusText:""});return e.type="error",e};var g=[301,302,303,307,308];Response.redirect=function(e,t){if(-1===g.indexOf(t))throw RangeError("Invalid status code");return new Response(null,{status:t,headers:{location:e}})},e.DOMException=i.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function y(r,i){return new Promise(function(s,n){var o=new Request(r,i);if(o.signal&&o.signal.aborted)return n(new e.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function c(){a.abort()}a.onload=function(){var e,t,r={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new Headers,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(e){var r=e.split(":"),i=r.shift().trim();if(i){var s=r.join(":").trim();t.append(i,s)}}),t)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL"),s(new Response("response"in a?a.response:a.responseText,r))},a.onerror=function(){n(TypeError("Network request failed"))},a.ontimeout=function(){n(TypeError("Network request failed"))},a.onabort=function(){n(new e.DOMException("Aborted","AbortError"))},a.open(o.method,o.url,!0),"include"===o.credentials?a.withCredentials=!0:"omit"===o.credentials&&(a.withCredentials=!1),"responseType"in a&&t.blob&&(a.responseType="blob"),o.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),o.signal&&(o.signal.addEventListener("abort",c),a.onreadystatechange=function(){4===a.readyState&&o.signal.removeEventListener("abort",c)}),a.send(void 0===o._bodyInit?null:o._bodyInit)})}y.polyfill=!0,i.fetch||(i.fetch=y,i.Headers=Headers,i.Request=Request,i.Response=Response),e.Headers=Headers,e.Request=Request,e.Response=Response,e.fetch=y,Object.defineProperty(e,"__esModule",{value:!0})})({}),i.fetch.ponyfill=!0,delete i.fetch.polyfill,(t=i.fetch).default=i.fetch,t.fetch=i.fetch,t.Headers=i.Headers,t.Request=i.Request,t.Response=i.Response,e.exports=t},64534:function(e,t,r){"use strict";r.d(t,{r:function(){return n}});var i=r(17187),s=r(56186);
10class n extends s.IJsonRpcProvider{constructor(e){super(e),this.events=new i.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}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 request(e,t){return this.requestStrict((0,s.formatJsonRpcRequest)(e.method,e.params||[],e.id||(0,s.getBigIntRpcId)().toString()),t)}async requestStrict(e,t){return new Promise(async(r,i)=>{if(!this.connection.connected)try{await this.open()}catch(e){i(e)}this.events.on(`${e.id}`,e=>{(0,s.isJsonRpcError)(e)?i(e.error):r(e.result)});try{await this.connection.send(e,t)}catch(e){i(e)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),(0,s.isJsonRpcResponse)(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&3e3===e.code&&this.events.emit("error",Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),"string"==typeof e&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",e=>this.onPayload(e)),this.connection.on("close",e=>this.onClose(e)),this.connection.on("error",e=>this.events.emit("error",e)),this.connection.on("register_error",e=>this.onClose()),this.hasRegisteredEventListeners=!0)}}},79806:function(e,t,r){"use strict";r.d(t,{CA:function(){return s},JV:function(){return a},O4:function(){return i},dQ:function(){return n},xK:function(){return o}});let i="INTERNAL_ERROR",s="SERVER_ERROR",n=[-32700,-32600,-32601,-32602,-32603],o={PARSE_ERROR:{code:-32700,message:"Parse error"},INVALID_REQUEST:{code:-32600,message:"Invalid Request"},METHOD_NOT_FOUND:{code:-32601,message:"Method not found"},INVALID_PARAMS:{code:-32602,message:"Invalid params"},[i]:{code:-32603,message:"Internal error"},[s]:{code:-32e3,message:"Server error"}},a=s},9698:function(e,t,r){"use strict";var i=r(1468);r.o(i,"IJsonRpcProvider")&&r.d(t,{IJsonRpcProvider:function(){return i.IJsonRpcProvider}}),r.o(i,"formatJsonRpcError")&&r.d(t,{formatJsonRpcError:function(){return i.formatJsonRpcError}}),r.o(i,"formatJsonRpcRequest")&&r.d(t,{formatJsonRpcRequest:function(){return i.formatJsonRpcRequest}}),r.o(i,"formatJsonRpcResult")&&r.d(t,{formatJsonRpcResult:function(){return i.formatJsonRpcResult}}),r.o(i,"getBigIntRpcId")&&r.d(t,{getBigIntRpcId:function(){return i.getBigIntRpcId}}),r.o(i,"isHttpUrl")&&r.d(t,{isHttpUrl:function(){return i.isHttpUrl}}),r.o(i,"isJsonRpcError")&&r.d(t,{isJsonRpcError:function(){return i.isJsonRpcError}}),r.o(i,"isJsonRpcRequest")&&r.d(t,{isJsonRpcRequest:function(){return i.isJsonRpcRequest}}),r.o(i,"isJsonRpcResponse")&&r.d(t,{isJsonRpcResponse:function(){return i.isJsonRpcResponse}}),r.o(i,"isJsonRpcResult")&&r.d(t,{isJsonRpcResult:function(){return i.isJsonRpcResult}}),r.o(i,"isLocalhostUrl")&&r.d(t,{isLocalhostUrl:function(){return i.isLocalhostUrl}}),r.o(i,"isReactNative")&&r.d(t,{isReactNative:function(){return i.isReactNative}}),r.o(i,"isWsUrl")&&r.d(t,{isWsUrl:function(){return i.isWsUrl}}),r.o(i,"payloadId")&&r.d(t,{payloadId:function(){return i.payloadId}})},90110:function(e,t,r){"use strict";r.d(t,{CX:function(){return a},L2:function(){return o},by:function(){return n},i5:function(){return s}});var i=r(79806);function s(e){return i.dQ.includes(e)}function n(e){return Object.keys(i.xK).includes(e)?i.xK[e]:i.xK[i.JV]}function o(e){let t=Object.values(i.xK).find(t=>t.code===e);return t||i.xK[i.JV]}function a(e,t,r){return e.message.includes("getaddrinfo ENOTFOUND")||e.message.includes("connect ECONNREFUSED")?Error(`Unavailable ${r} RPC url at ${t}`):e}},71937:function(e,t,r){"use strict";r.d(t,{CS:function(){return o},RI:function(){return l},o0:function(){return n},sT:function(){return a},tm:function(){return c}});var i=r(90110),s=r(79806);
10function n(e=3){let t=Date.now()*Math.pow(10,e);return t+Math.floor(Math.random()*Math.pow(10,e))}function o(e=6){return BigInt(n(e))}function a(e,t,r){return{id:r||n(),jsonrpc:"2.0",method:e,params:t}}function c(e,t){return{id:e,jsonrpc:"2.0",result:t}}function l(e,t,r){var n;return{id:e,jsonrpc:"2.0",error:void 0===(n=t)?(0,i.by)(s.O4):("string"==typeof n&&(n=Object.assign(Object.assign({},(0,i.by)(s.CA)),{message:n})),void 0!==r&&(n.data=r),(0,i.i5)(n.code)&&(n=(0,i.L2)(n.code)),n)}}},56186:function(e,t,r){"use strict";r.d(t,{IJsonRpcProvider:function(){return o.x0},formatJsonRpcError:function(){return n.RI},formatJsonRpcRequest:function(){return n.sT},formatJsonRpcResult:function(){return n.tm},getBigIntRpcId:function(){return n.CS},isHttpUrl:function(){return a.jK},isJsonRpcError:function(){return c.jg},isJsonRpcRequest:function(){return c.DW},isJsonRpcResponse:function(){return c.u},isJsonRpcResult:function(){return c.k4},isLocalhostUrl:function(){return a.JF},isWsUrl:function(){return a.UZ},parseConnectionError:function(){return i.CX},payloadId:function(){return n.o0}}),r(79806);var i=r(90110),s=r(9698);r.o(s,"IJsonRpcProvider")&&r.d(t,{IJsonRpcProvider:function(){return s.IJsonRpcProvider}}),r.o(s,"formatJsonRpcError")&&r.d(t,{formatJsonRpcError:function(){return s.formatJsonRpcError}}),r.o(s,"formatJsonRpcRequest")&&r.d(t,{formatJsonRpcRequest:function(){return s.formatJsonRpcRequest}}),r.o(s,"formatJsonRpcResult")&&r.d(t,{formatJsonRpcResult:function(){return s.formatJsonRpcResult}}),r.o(s,"getBigIntRpcId")&&r.d(t,{getBigIntRpcId:function(){return s.getBigIntRpcId}}),r.o(s,"isHttpUrl")&&r.d(t,{isHttpUrl:function(){return s.isHttpUrl}}),r.o(s,"isJsonRpcError")&&r.d(t,{isJsonRpcError:function(){return s.isJsonRpcError}}),r.o(s,"isJsonRpcRequest")&&r.d(t,{isJsonRpcRequest:function(){return s.isJsonRpcRequest}}),r.o(s,"isJsonRpcResponse")&&r.d(t,{isJsonRpcResponse:function(){return s.isJsonRpcResponse}}),r.o(s,"isJsonRpcResult")&&r.d(t,{isJsonRpcResult:function(){return s.isJsonRpcResult}}),r.o(s,"isLocalhostUrl")&&r.d(t,{isLocalhostUrl:function(){return s.isLocalhostUrl}}),r.o(s,"isReactNative")&&r.d(t,{isReactNative:function(){return s.isReactNative}}),r.o(s,"isWsUrl")&&r.d(t,{isWsUrl:function(){return s.isWsUrl}}),r.o(s,"payloadId")&&r.d(t,{payloadId:function(){return s.payloadId}});var n=r(71937),o=r(81994),a=r(46119),c=r(84733)},81994:function(e,t,r){"use strict";r.d(t,{x0:function(){return n}});class i{}class s extends i{constructor(){super()}}class n extends s{constructor(e){super()}}},46119:function(e,t,r){"use strict";function i(e,t){let r=function(e){let t=e.match(RegExp(/^\w+:/,"gi"));if(t&&t.length)return t[0]}(e);return void 0!==r&&new RegExp(t).test(r)}function s(e){return i(e,"^https?:")}function n(e){return i(e,"^wss?:")}function o(e){return RegExp("wss?://localhost(:d{2,5})?").test(e)}r.d(t,{JF:function(){return o},UZ:function(){return n},jK:function(){return s}})},84733:function(e,t,r){"use strict";function i(e){return"object"==typeof e&&"id"in e&&"jsonrpc"in e&&"2.0"===e.jsonrpc}function s(e){return i(e)&&"method"in e}function n(e){return i(e)&&(o(e)||a(e))}function o(e){return"result"in e}function a(e){return"error"in e}r.d(t,{DW:function(){return s},jg:function(){return a},k4:function(){return o},u:function(){return n}})},28939:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var i=r(17187),s=r(85094),n=r(56186);let o=()=>"u">typeof WebSocket||"u">typeof r.g&&"u">typeof r.g.WebSocket||"u">typeof window&&"u">typeof window.WebSocket||"u">typeof self&&"u">typeof self.WebSocket,a=e=>e.split("?")[0],c="u">typeof WebSocket?WebSocket:"u">typeof r.g&&"u">typeof r.g.WebSocket?r.g.WebSocket:"u">typeof window&&"u">typeof window.WebSocket?window.WebSocket:"u">typeof self&&"u">typeof self.WebSocket?self.WebSocket:r(57026);class l{constructor(e){if(this.url=e,this.events=new i.EventEmitter,this.registering=!1,!(0,n.isWsUrl)(e))throw Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return"u">typeof this.socket}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(){return new Promise((e,t)=>
10{if(typeof this.socket>"u"){t(Error("Connection already closed"));return}this.socket.onclose=t=>{this.onClose(t),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send((0,s.u)(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!(0,n.isWsUrl)(e))throw Error(`Provided URL is not compatible with WebSocket 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.socket>"u")return t(Error("WebSocket connection is missing or invalid"));e(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,r)=>{let i=(0,n.isReactNative)()?void 0:{rejectUnauthorized:!(0,n.isLocalhostUrl)(e)},s=new c(e,[],i);o()?s.onerror=e=>{r(this.emitError(e.error))}:s.on("error",e=>{r(this.emitError(e))}),s.onopen=()=>{this.onOpen(s),t(s)}})}onOpen(e){e.onmessage=e=>this.onPayload(e),e.onclose=e=>this.onClose(e),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;let t="string"==typeof e.data?(0,s.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){let r=this.parseError(t),i=r.message||r.toString(),s=(0,n.formatJsonRpcError)(e,i);this.events.emit("payload",s)}parseError(e,t=this.url){return(0,n.parseConnectionError)(e,a(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}emitError(e){let t=this.parseError(Error(e?.message||`WebSocket connection failed for host: ${a(this.url)}`));return this.events.emit("register_error",t),t}}},55801:function(e,t,r){"use strict";r.d(t,{Z:function(){return O}});let i=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,s=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,n=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function o(e,t){if("__proto__"===e||"constructor"===e&&t&&"object"==typeof t&&"prototype"in t){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`);return}return t}function a(e,t={}){if("string"!=typeof e)return e;let r=e.trim();if('"'===e[0]&&'"'===e.at(-1)&&!e.includes("\\"))return r.slice(1,-1);if(r.length<=9){let e=r.toLowerCase();if("true"===e)return!0;if("false"===e)return!1;if("undefined"===e)return;if("null"===e)return null;if("nan"===e)return Number.NaN;if("infinity"===e)return Number.POSITIVE_INFINITY;if("-infinity"===e)return Number.NEGATIVE_INFINITY}if(!n.test(e)){if(t.strict)throw SyntaxError("[destr] Invalid JSON");return e}try{if(i.test(e)||s.test(e)){if(t.strict)throw Error("[destr] Possible prototype pollution");return JSON.parse(e,o)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}var c=r(48764).Buffer;function l(e,...t){try{var r;return(r=e(...t))&&"function"==typeof r.then?r:Promise.resolve(r)}catch(e){return Promise.reject(e)}}function h(e){if(function(e){let t=typeof e;return null===e||"object"!==t&&"function"!==t}(e))return String(e);if(function(e){let t=Object.getPrototypeOf(e);return!t||t.isPrototypeOf(Object)}(e)||Array.isArray(e))return JSON.stringify(e);if("function"==typeof e.toJSON)return h(e.toJSON());throw Error("[unstorage] Cannot stringify value!")}let u="base64:";function d(e){return e?e.split("?")[0].replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,""):""}function p(e){return(e=d(e))?e+":":""}let f=()=>{let e=new Map;return{name:"memory",options:{},hasItem:t=>e.has(t),getItem:t=>e.get(t)??null,getItemRaw:t=>e.get(t)??null,setItem(t,r){e.set(t,r)},setItemRaw(t,r){e.set(t,r)},removeItem(t){e.delete(t)},getKeys:()=>Array.from(e.keys()),clear(){e.clear()},dispose(){e.clear()}}};function g(e,t,r){return e.watch?e.watch((e,i)=>t(e,r+i)):()=>{}}
10async function y(e){"function"==typeof e.dispose&&await l(e.dispose)}var m=r(24678),b=r(85094),w=(e={})=>{let t;let r=e.base&&e.base.length>0?`${e.base}:`:"",i=e=>r+e;return e.dbName&&e.storeName&&(t=(0,m.MT)(e.dbName,e.storeName)),{name:"idb-keyval",options:e,hasItem:async e=>!(typeof await (0,m.U2)(i(e),t)>"u"),getItem:async e=>await (0,m.U2)(i(e),t)??null,setItem:(e,r)=>(0,m.t8)(i(e),r,t),removeItem:e=>(0,m.IV)(i(e),t),getKeys:()=>(0,m.XP)(t),clear:()=>(0,m.ZH)(t)}};class v{constructor(){this.indexedDb=function(e={}){let t={mounts:{"":e.driver||f()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},r=e=>{for(let r of t.mountpoints)if(e.startsWith(r))return{base:r,relativeKey:e.slice(r.length),driver:t.mounts[r]};return{base:"",relativeKey:e,driver:t.mounts[""]}},i=(e,r)=>t.mountpoints.filter(t=>t.startsWith(e)||r&&e.startsWith(t)).map(r=>({relativeBase:e.length>r.length?e.slice(r.length):void 0,mountpoint:r,driver:t.mounts[r]})),s=(e,r)=>{if(t.watching)for(let i of(r=d(r),t.watchListeners))i(e,r)},n=async()=>{if(!t.watching)for(let e in t.watching=!0,t.mounts)t.unwatch[e]=await g(t.mounts[e],s,e)},o=async()=>{if(t.watching){for(let e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},m=(e,t,i)=>{let s=new Map,n=e=>{let t=s.get(e.base);return t||(t={driver:e.driver,base:e.base,items:[]},s.set(e.base,t)),t};for(let i of e){let e="string"==typeof i,s=d(e?i:i.key),o=e?void 0:i.value,a=e||!i.options?t:{...t,...i.options},c=r(s);n(c).items.push({key:s,value:o,relativeKey:c.relativeKey,options:a})}return Promise.all([...s.values()].map(e=>i(e))).then(e=>e.flat())},b={hasItem(e,t={}){e=d(e);let{relativeKey:i,driver:s}=r(e);return l(s.hasItem,i,t)},getItem(e,t={}){e=d(e);let{relativeKey:i,driver:s}=r(e);return l(s.getItem,i,t).then(e=>a(e))},getItems:(e,t)=>m(e,t,e=>e.driver.getItems?l(e.driver.getItems,e.items.map(e=>({key:e.relativeKey,options:e.options})),t).then(t=>t.map(t=>({key:function(...e){return d(e.join(":"))}(e.base,t.key),value:a(t.value)}))):Promise.all(e.items.map(t=>l(e.driver.getItem,t.relativeKey,t.options).then(e=>({key:t.key,value:a(e)}))))),getItemRaw(e,t={}){e=d(e);let{relativeKey:i,driver:s}=r(e);return s.getItemRaw?l(s.getItemRaw,i,t):l(s.getItem,i,t).then(e=>"string"==typeof e&&e.startsWith(u)?c.from(e.slice(u.length),"base64"):e)},async setItem(e,t,i={}){if(void 0===t)return b.removeItem(e);e=d(e);let{relativeKey:n,driver:o}=r(e);o.setItem&&(await l(o.setItem,n,h(t),i),o.watch||s("update",e))},async setItems(e,t){await m(e,t,async e=>{e.driver.setItems&&await l(e.driver.setItems,e.items.map(e=>({key:e.relativeKey,value:h(e.value),options:e.options})),t),e.driver.setItem&&await Promise.all(e.items.map(t=>l(e.driver.setItem,t.relativeKey,h(t.value),t.options)))})},async setItemRaw(e,t,i={}){if(void 0===t)return b.removeItem(e,i);e=d(e);let{relativeKey:n,driver:o}=r(e);if(o.setItemRaw)await l(o.setItemRaw,n,t,i);else{if(!o.setItem)return;await l(o.setItem,n,function(e){if("string"==typeof e)return e;let t=c.from(e).toString("base64");return u+t}(t),i)}o.watch||s("update",e)},async removeItem(e,t={}){"boolean"==typeof t&&(t={removeMeta:t}),e=d(e);let{relativeKey:i,driver:n}=r(e);n.removeItem&&(await l(n.removeItem,i,t),(t.removeMeta||t.removeMata)&&await l(n.removeItem,i+"$",t),n.watch||s("remove",e))},async getMeta(e,t={}){"boolean"==typeof t&&(t={nativeOnly:t}),e=d(e);let{relativeKey:i,driver:s}=r(e),n=Object.create(null);if(s.getMeta&&Object.assign(n,await l(s.getMeta,i,t)),!t.nativeOnly){let e=await l(s.getItem,i+"$",t).then(e=>a(e));e&&"object"==typeof e&&("string"==typeof e.atime&&(e.atime=new Date(e.atime)),"string"==typeof e.mtime&&(e.mtime=new Date(e.mtime)),Object.assign(n,e))}return n},setMeta(e,t,r={}){return this.setItem(e+"$",t,r)},removeMeta(e,t={}){return this.removeItem(e+"$",t)},async getKeys(e,t={}){e=p(e);let r=i(e,!0),s=[],n=[];for(let e of r){let r=await l(e.driver.getKeys,e.relativeBase,t),i=r.map(t=>e.mountpoint+d(t)).filter(e=>!s.some(t=>e.startsWith(t)));n.push(...i),s=[e.mountpoint,...s.filter(t=>!t.startsWith(e.mountpoint))]}return e?n.filter(t=>t.startsWith(e)&&!t.endsWith("$")):n.filter(e=>!e.endsWith("$"))},async clear(e,t={}){e=p(e),await Promise.all(i(e,!1).map(async e=>{if(e.driver.clear)return l(e.driver.clear,e.relativeBase,t);if(e.driver.removeItem){let r=await e.driver.getKeys(e.relativeBase||"",t);return Promise.all(r.map(r=>e.driver.removeItem(r,t)))}}))},async dispose(){await Promise.all(Object.values(t.mounts).map(e=>y(e)))},watch:async e=>(await n(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter(t=>t!==e),0===t.watchListeners.length&&await o()}),async unwatch(){t.watchListeners=[],await o()},mount(e,r){if((e=p(e))&&t.mounts[e])throw Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort((e,t)=>
10t.length-e.length)),t.mounts[e]=r,t.watching&&Promise.resolve(g(r,s,e)).then(r=>{t.unwatch[e]=r}).catch(console.error),b},async unmount(e,r=!0){(e=p(e))&&t.mounts[e]&&(t.watching&&e in t.unwatch&&(t.unwatch[e](),delete t.unwatch[e]),r&&await y(t.mounts[e]),t.mountpoints=t.mountpoints.filter(t=>t!==e),delete t.mounts[e])},getMount(e=""){e=d(e)+":";let t=r(e);return{driver:t.driver,base:t.base}},getMounts(e="",t={}){e=d(e);let r=i(e,t.parents);return r.map(e=>({driver:e.driver,base:e.mountpoint}))}};return b}({driver:w({dbName:"WALLET_CONNECT_V2_INDEXED_DB",storeName:"keyvaluestorage"})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){let t=await this.indexedDb.getItem(e);if(null!==t)return t}async setItem(e,t){await this.indexedDb.setItem(e,(0,b.u)(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var E="u">typeof globalThis?globalThis:"u">typeof window?window:"u">typeof r.g?r.g:"u">typeof self?self:{},I={exports:{}};function _(e){var t;return[e[0],(0,b.D)(null!=(t=e[1])?t:"")]}!function(){function e(){}e.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},e.prototype.setItem=function(e,t){this[e]=String(t)},e.prototype.removeItem=function(e){delete this[e]},e.prototype.clear=function(){let e=this;Object.keys(e).forEach(function(t){e[t]=void 0,delete e[t]})},e.prototype.key=function(e){return e=e||0,Object.keys(this)[e]},e.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),"u">typeof E&&E.localStorage?I.exports=E.localStorage:"u">typeof window&&window.localStorage?I.exports=window.localStorage:I.exports=new e}();class D{constructor(){this.localStorage=I.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(_)}async getItem(e){let t=this.localStorage.getItem(e);if(null!==t)return(0,b.D)(t)}async setItem(e,t){this.localStorage.setItem(e,(0,b.u)(t))}async removeItem(e){this.localStorage.removeItem(e)}}let P=async(e,t,r)=>{let i="wc_storage_version",s=await t.getItem(i);if(s&&s>=1){r(t);return}let n=await e.getKeys();if(!n.length){r(t);return}let o=[];for(;n.length;){let r=n.shift();if(!r)continue;let i=r.toLowerCase();if(i.includes("wc@")||i.includes("walletconnect")||i.includes("wc_")||i.includes("wallet_connect")){let i=await e.getItem(r);await t.setItem(r,i),o.push(r)}}await t.setItem(i,1),r(t),S(e,o)},S=async(e,t)=>{t.length&&t.forEach(async t=>{await e.removeItem(t)})};class O{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};let e=new D;this.storage=e;try{let t=new v;P(e,t,this.setInitialized)}catch{this.initialized=!0}}async getKeys(){return await this.initialize(),this.storage.getKeys()}async getEntries(){return await this.initialize(),this.storage.getEntries()}async getItem(e){return await this.initialize(),this.storage.getItem(e)}async setItem(e,t){return await this.initialize(),this.storage.setItem(e,t)}async removeItem(e){return await this.initialize(),this.storage.removeItem(e)}async initialize(){this.initialized||await new Promise(e=>{let t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}}},12044:function(e,t,r){"use strict";r.d(t,{Ep:function(){return D},Fd:function(){return _},Rt:function(){return P},gw:function(){return s.a},jI:function(){return I}});var i=r(36559),s=r.n(i),n=r(85094);let o={level:"info"},a="custom_context";class c{constructor(e){this.nodeValue=e,this.sizeInBytes=new TextEncoder().encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}}class l{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){let t=new c(e);if(t.size>this.maxSizeInBytes)throw Error(`[LinkedList] Value too big to insert into list: ${e} with size ${t.size}`);for(;this.size+t.size>this.maxSizeInBytes;)this.shift();this.head?this.tail&&(this.tail.next=t):this.head=t,this.tail=t,this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;let e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){let e=[],t=this.head;for(;null!==t;)e.push(t.value),t=t.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};let t=e.value;return e=e.next,{done:!1,value:t}}}}}class h{constructor(e,t=1024e3){this.level=e??"error",this.levelValue=i.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new l(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===i.levels.values.error?console.error(e):t===i.levels.values.warn?console.warn(e):t===i.levels.values.debug?console.debug(e):t===i.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append((0,n.u)({timestamp:new Date().toISOString(),log:e}));let t="string"==typeof e?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new l(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){let t=this.getLogArray();return t.push((0,n.u)({extraMetadata:e})),new Blob(t,{type:"application/json"})}}class u{constructor(e,t=1024e3){this.baseChunkLogger=new h(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}downloadLogsBlobInBrowser(e){let t=URL.createObjectURL(this.logsToBlob(e)),r=document.createElement("a");r.href=t,r.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t)}}class d{constructor(e,t=1024e3){this.baseChunkLogger=new h(e,t)}write(e){this.baseChunkLogger.appendToLogs(e)}getLogs(){return this.baseChunkLogger.getLogs()}clearLogs(){this.baseChunkLogger.clearLogs()}getLogArray(){return this.baseChunkLogger.getLogArray()}logsToBlob(e){return this.baseChunkLogger.logsToBlob(e)}}var p=Object.defineProperty,f=Object.defineProperties,g=Object.getOwnPropertyDescriptors,y=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,w=(e,t,r)=>t in e?p(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,v=(e,t)=>
10{for(var r in t||(t={}))m.call(t,r)&&w(e,r,t[r]);if(y)for(var r of y(t))b.call(t,r)&&w(e,r,t[r]);return e},E=(e,t)=>f(e,g(t));function I(e){return E(v({},e),{level:e?.level||o.level})}function _(e,t=a){return typeof e.bindings>"u"?function(e,t=a){return e[t]||""}(e,t):e.bindings().context||""}function D(e,t,r=a){let i=function(e,t,r=a){let i=_(e,r);return i.trim()?`${i}/${t}`:t}(e,t,r),s=e.child({context:i});return function(e,t,r=a){return e[r]=t,e}(s,i,r)}function P(e){return"u">typeof e.loggerOverride&&"string"!=typeof e.loggerOverride?{logger:e.loggerOverride,chunkLoggerController:null}:"u">typeof window?function(e){var t,r;let i=new u(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:s()(E(v({},e.opts),{level:"trace",browser:E(v({},null==(r=e.opts)?void 0:r.browser),{write:e=>i.write(e)})})),chunkLoggerController:i}}(e):function(e){var t;let r=new d(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:s()(E(v({},e.opts),{level:"trace"}),r),chunkLoggerController:r}}(e)}},37968:function(e,t,r){"use strict";r.d(t,{iO:function(){return i}});let i={waku:{publish:"waku_publish",batchPublish:"waku_batchPublish",subscribe:"waku_subscribe",batchSubscribe:"waku_batchSubscribe",subscription:"waku_subscription",unsubscribe:"waku_unsubscribe",batchUnsubscribe:"waku_batchUnsubscribe",batchFetchMessages:"waku_batchFetchMessages"},irn:{publish:"irn_publish",batchPublish:"irn_batchPublish",subscribe:"irn_subscribe",batchSubscribe:"irn_batchSubscribe",subscription:"irn_subscription",unsubscribe:"irn_unsubscribe",batchUnsubscribe:"irn_batchUnsubscribe",batchFetchMessages:"irn_batchFetchMessages"},iridium:{publish:"iridium_publish",batchPublish:"iridium_batchPublish",subscribe:"iridium_subscribe",batchSubscribe:"iridium_batchSubscribe",subscription:"iridium_subscription",unsubscribe:"iridium_unsubscribe",batchUnsubscribe:"iridium_batchUnsubscribe",batchFetchMessages:"iridium_batchFetchMessages"}}},49392:function(e,t,r){"use strict";r.d(t,{Au:function(){return tV},bG:function(){return tF},vf:function(){return tK},xp:function(){return tH}});var i=r(66736),s=r(85094);function n(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function o(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}let a="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,c=e=>new DataView(e.buffer,e.byteOffset,e.byteLength);/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */function l(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),n(e),e}class h{clone(){return this._cloneInto()}}function u(e=32){if(a&&"function"==typeof a.getRandomValues)return a.getRandomValues(new Uint8Array(e));if(a&&"function"==typeof a.randomBytes)return a.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}
10class d extends h{constructor(e,t,r,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=c(this.buffer)}update(e){o(this);let{view:t,buffer:r,blockLen:i}=this;e=l(e);let s=e.length;for(let n=0;n<s;){let o=Math.min(i-this.pos,s-n);if(o===i){let t=c(e);for(;i<=s-n;n+=i)this.process(t,n);continue}r.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){o(this),function(e,t){n(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}(e,this),this.finished=!0;let{buffer:t,view:r,blockLen:i,isLE:s}=this,{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>i-a&&(this.process(r,0),a=0);for(let e=a;e<i;e++)t[e]=0;(function(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);let s=BigInt(32),n=BigInt(4294967295),o=Number(r>>s&n),a=Number(r&n),c=i?4:0,l=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+l,a,i)})(r,i-8,BigInt(8*this.length),s),this.process(r,0);let l=c(e),h=this.outputLen;if(h%4)throw Error("_sha2: outputLen should be aligned to 32bit");let u=h/4,d=this.get();if(u>d.length)throw Error("_sha2: outputLen bigger than state");for(let e=0;e<u;e++)l.setUint32(4*e,d[e],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:r,length:i,finished:s,destroyed:n,pos:o}=this;return e.length=i,e.pos=o,e.finished=s,e.destroyed=n,i%t&&e.buffer.set(r),e}}let p=BigInt(4294967296-1),f=BigInt(32);function g(e,t=!1){return t?{h:Number(e&p),l:Number(e>>f&p)}:{h:0|Number(e>>f&p),l:0|Number(e&p)}}let y={fromBig:g,split:function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let s=0;s<e.length;s++){let{h:n,l:o}=g(e[s],t);[r[s],i[s]]=[n,o]}return[r,i]},toBig:(e,t)=>BigInt(e>>>0)<<f|BigInt(t>>>0),shrSH:(e,t,r)=>e>>>r,shrSL:(e,t,r)=>e<<32-r|t>>>r,rotrSH:(e,t,r)=>e>>>r|t<<32-r,rotrSL:(e,t,r)=>e<<32-r|t>>>r,rotrBH:(e,t,r)=>e<<64-r|t>>>r-32,rotrBL:(e,t,r)=>e>>>r-32|t<<64-r,rotr32H:(e,t)=>t,rotr32L:(e,t)=>e,rotlSH:(e,t,r)=>e<<r|t>>>32-r,rotlSL:(e,t,r)=>t<<r|e>>>32-r,rotlBH:(e,t,r)=>t<<r-32|e>>>64-r,rotlBL:(e,t,r)=>e<<r-32|t>>>64-r,add:function(e,t,r,i){let s=(t>>>0)+(i>>>0);return{h:e+r+(s/4294967296|0)|0,l:0|s}},add3L:(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),add3H:(e,t,r,i)=>t+r+i+(e/4294967296|0)|0,add4L:(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),add4H:(e,t,r,i,s)=>t+r+i+s+(e/4294967296|0)|0,add5H:(e,t,r,i,s,n)=>t+r+i+s+n+(e/4294967296|0)|0,add5L:(e,t,r,i,s)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(s>>>0)},[m,b]=y.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e3585
105771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(e=>BigInt(e))),w=new Uint32Array(80),v=new Uint32Array(80);class E extends d{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:t,Bh:r,Bl:i,Ch:s,Cl:n,Dh:o,Dl:a,Eh:c,El:l,Fh:h,Fl:u,Gh:d,Gl:p,Hh:f,Hl:g}=this;return[e,t,r,i,s,n,o,a,c,l,h,u,d,p,f,g]}set(e,t,r,i,s,n,o,a,c,l,h,u,d,p,f,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|i,this.Ch=0|s,this.Cl=0|n,this.Dh=0|o,this.Dl=0|a,this.Eh=0|c,this.El=0|l,this.Fh=0|h,this.Fl=0|u,this.Gh=0|d,this.Gl=0|p,this.Hh=0|f,this.Hl=0|g}process(e,t){for(let r=0;r<16;r++,t+=4)w[r]=e.getUint32(t),v[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){let t=0|w[e-15],r=0|v[e-15],i=y.rotrSH(t,r,1)^y.rotrSH(t,r,8)^y.shrSH(t,r,7),s=y.rotrSL(t,r,1)^y.rotrSL(t,r,8)^y.shrSL(t,r,7),n=0|w[e-2],o=0|v[e-2],a=y.rotrSH(n,o,19)^y.rotrBH(n,o,61)^y.shrSH(n,o,6),c=y.rotrSL(n,o,19)^y.rotrBL(n,o,61)^y.shrSL(n,o,6),l=y.add4L(s,c,v[e-7],v[e-16]),h=y.add4H(l,i,a,w[e-7],w[e-16]);w[e]=0|h,v[e]=0|l}let{Ah:r,Al:i,Bh:s,Bl:n,Ch:o,Cl:a,Dh:c,Dl:l,Eh:h,El:u,Fh:d,Fl:p,Gh:f,Gl:g,Hh:E,Hl:I}=this;for(let e=0;e<80;e++){let t=y.rotrSH(h,u,14)^y.rotrSH(h,u,18)^y.rotrBH(h,u,41),_=y.rotrSL(h,u,14)^y.rotrSL(h,u,18)^y.rotrBL(h,u,41),D=h&d^~h&f,P=u&p^~u&g,S=y.add5L(I,_,P,b[e],v[e]),O=y.add5H(S,E,t,D,m[e],w[e]),x=0|S,A=y.rotrSH(r,i,28)^y.rotrBH(r,i,34)^y.rotrBH(r,i,39),C=y.rotrSL(r,i,28)^y.rotrBL(r,i,34)^y.rotrBL(r,i,39),R=r&s^r&o^s&o,N=i&n^i&a^n&a;E=0|f,I=0|g,f=0|d,g=0|p,d=0|h,p=0|u,({h:h,l:u}=y.add(0|c,0|l,0|O,0|x)),c=0|o,l=0|a,o=0|s,a=0|n,s=0|r,n=0|i;let T=y.add3L(x,C,N);r=y.add3H(T,O,A,R),i=0|T}({h:r,l:i}=y.add(0|this.Ah,0|this.Al,0|r,0|i)),({h:s,l:n}=y.add(0|this.Bh,0|this.Bl,0|s,0|n)),({h:o,l:a}=y.add(0|this.Ch,0|this.Cl,0|o,0|a)),({h:c,l:l}=y.add(0|this.Dh,0|this.Dl,0|c,0|l)),({h:h,l:u}=y.add(0|this.Eh,0|this.El,0|h,0|u)),({h:d,l:p}=y.add(0|this.Fh,0|this.Fl,0|d,0|p)),({h:f,l:g}=y.add(0|this.Gh,0|this.Gl,0|f,0|g)),({h:E,l:I}=y.add(0|this.Hh,0|this.Hl,0|E,0|I)),this.set(r,i,s,n,o,a,c,l,h,u,d,p,f,g,E,I)}roundClean(){w.fill(0),v.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}let I=function(e){let t=t=>e().update(l(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}(()=>new E),_=BigInt(0),D=BigInt(1),P=BigInt(2);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function S(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function O(e){if(!S(e))throw Error("Uint8Array expected")}function x(e,t){if("boolean"!=typeof t)throw Error(e+" boolean expected, got "+t)}let A=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function C(e){O(e);let t="";for(let r=0;r<e.length;r++)t+=A[e[r]];return t}function R(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);return""===e?_:BigInt("0x"+e)}let N={_0:48,_9:57,A:65,F:70,a:97,f:102};function T(e){return e>=N._0&&e<=N._9?e-N._0:e>=N.A&&e<=N.F?e-(N.A-10):e>=N.a&&e<=N.f?e-(N.a-10):void 0}function j(e){if("string"!=typeof e)throw Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw Error("hex string expected, got unpadded hex of length "+t);let i=new Uint8Array(r);for(let t=0,s=0;t<r;t++,s+=2){let r=T(e.charCodeAt(s)),n=T(e.charCodeAt(s+1));if(void 0===r||void 0===n){let t=e[s]+e[s+1];throw Error('hex string expected, got non-hex character "'+t+'" at index '+s)}i[t]=16*r+n}return i}function U(e){return O(e),R(C(Uint8Array.from(e).reverse()))}function L(e,t){return j(e.toString(16).padStart(2*t,"0"))}function k(e,t){return L(e,t).reverse()}function q(e,t,r){let i;if("string"==typeof t)try{i=j(t)}catch(t){throw Error(e+" must be hex string or Uint8Array, cause: "+t)}else if(S(t))i=Uint8Array.from(t);else throw Error(e+" must be hex string or Uint8Array");let s=i.length;if("number"==typeof r&&s!==r)throw Error(e+" of length "+r+" expected, got "+s);return i}function B(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];O(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}let $=e=>"bigint"==typeof e&&_<=e;function M(e,t,r,i){if(!($(t)&&$(r)&&$(i))||!(r<=t)||!(t<i))throw Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}let z=e=>(P<<BigInt(e-1))-D,F={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||S(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function H(e,t,r={}){let i=(t,r,i)=>{let s=F[r];if("function"!=typeof s)throw Error("invalid validator function");let n=e[t];if(!(i&&void 0===n)&&!s(n,e))throw Error("param "+String(t)+" is invali
10d. Expected "+r+", got "+n)};for(let[e,r]of Object.entries(t))i(e,r,!1);for(let[e,t]of Object.entries(r))i(e,t,!0);return e}function V(e){let t=new WeakMap;return(r,...i)=>{let s=t.get(r);if(void 0!==s)return s;let n=e(r,...i);return t.set(r,n),n}}let K=BigInt(0),J=BigInt(1),W=BigInt(2),G=BigInt(3),Y=BigInt(4),Z=BigInt(5),Q=BigInt(8);function X(e,t){let r=e%t;return r>=K?r:t+r}function ee(e,t,r){let i=e;for(;t-- >K;)i*=i,i%=r;return i}function et(e,t){if(e===K)throw Error("invert: expected non-zero number");if(t<=K)throw Error("invert: expected positive modulus, got "+t);let r=X(e,t),i=t,s=K,n=J;for(;r!==K;){let e=i/r,t=i%r,o=s-n*e;i=r,r=t,s=n,n=o}if(i!==J)throw Error("invert: does not exist");return X(s,t)}let er=(e,t)=>(X(e,t)&J)===J,ei=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function es(e,t){let r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function en(e,t,r=!1,i={}){let s;if(e<=K)throw Error("invalid field: expected ORDER > 0, got "+e);let{nBitLength:n,nByteLength:o}=es(e,t);if(o>2048)throw Error("invalid field: expected ORDER of <= 2048 bytes");let a=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:o,MASK:z(n),ZERO:K,ONE:J,create:t=>X(t,e),isValid:t=>{if("bigint"!=typeof t)throw Error("invalid field element: expected bigint, got "+typeof t);return K<=t&&t<e},is0:e=>e===K,isOdd:e=>(e&J)===J,neg:t=>X(-t,e),eql:(e,t)=>e===t,sqr:t=>X(t*t,e),add:(t,r)=>X(t+r,e),sub:(t,r)=>X(t-r,e),mul:(t,r)=>X(t*r,e),pow:(e,t)=>(function(e,t,r){if(r<K)throw Error("invalid exponent, negatives unsupported");if(r===K)return e.ONE;if(r===J)return t;let i=e.ONE,s=t;for(;r>K;)r&J&&(i=e.mul(i,s)),s=e.sqr(s),r>>=J;return i})(a,e,t),div:(t,r)=>X(t*et(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>et(t,e),sqrt:i.sqrt||(t=>(s||(s=function(e){if(e%Y===G){let t=(e+J)/Y;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}if(e%Q===Z){let t=(e-Z)/Q;return function(e,r){let i=e.mul(r,W),s=e.pow(i,t),n=e.mul(r,s),o=e.mul(e.mul(n,W),s),a=e.mul(n,e.sub(o,e.ONE));if(!e.eql(e.sqr(a),r))throw Error("Cannot find square root");return a}}return function(e){let t,r,i;let s=(e-J)/W;for(t=e-J,r=0;t%W===K;t/=W,r++);for(i=W;i<e&&function(e,t,r){if(t<K)throw Error("invalid exponent, negatives unsupported");if(r<=K)throw Error("invalid modulus");if(r===J)return K;let i=J;for(;t>K;)t&J&&(i=i*e%r),e=e*e%r,t>>=J;return i}(i,s,e)!==e-J;i++)if(i>1e3)throw Error("Cannot find square root: likely non-prime P");if(1===r){let t=(e+J)/Y;return function(e,r){let i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw Error("Cannot find square root");return i}}let n=(t+J)/W;return function(e,o){if(e.pow(o,s)===e.neg(e.ONE))throw Error("Cannot find square root");let a=r,c=e.pow(e.mul(e.ONE,i),t),l=e.pow(o,n),h=e.pow(o,t);for(;!e.eql(h,e.ONE);){if(e.eql(h,e.ZERO))return e.ZERO;let t=1;for(let r=e.sqr(h);t<a&&!e.eql(r,e.ONE);t++)r=e.sqr(r);let r=e.pow(c,J<<BigInt(a-t-1));c=e.sqr(r),l=e.mul(l,r),h=e.mul(h,c),a=t}return l}}(e)}(e)),s(a,t))),invertBatch:e=>(function(e,t){let r=Array(t.length),i=t.reduce((t,i,s)=>e.is0(i)?t:(r[s]=t,e.mul(t,i)),e.ONE),s=e.inv(i);return t.reduceRight((t,i,s)=>e.is0(i)?t:(r[s]=e.mul(t,r[s]),e.mul(t,i)),s),r})(a,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?k(e,o):L(e,o),fromBytes:e=>{if(e.length!==o)throw Error("Field.fromBytes: expected "+o+" bytes, got "+e.length);return r?U(e):R(C(e))}});return Object.freeze(a)}let eo=BigInt(0),ea=BigInt(1);function ec(e,t){let r=t.negate();return e?r:t}function el(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw Error("invalid window size, expected [1.."+t+"], got W="+e)}function eh(e,t){el(e,t);let r=Math.ceil(t/e)+1,i=2**(e-1);return{windows:r,windowSize:i}}let eu=new WeakMap,ed=new WeakMap;function ep(e){return ed.get(e)||1}let ef=BigInt(0),eg=BigInt(1),ey=BigInt(2),em=BigInt(8),eb={zip215:!0};BigInt(0),BigInt(1);let ew=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),ev=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);let eE=BigInt(1),eI=BigInt(2);BigInt(3);let e_=BigInt(5),eD=BigInt(8),eP=en(ew,void 0,!0),eS={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:eP,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:eD,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:I,randomBytes:u,adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[3
101]|=64,e},uvRatio:function(e,t){let r=X(t*t*t,ew),i=X(r*r*t,ew),s=function(e){let t=BigInt(10),r=BigInt(20),i=BigInt(40),s=BigInt(80),n=e*e%ew*e%ew,o=ee(n,eI,ew)*n%ew,a=ee(o,eE,ew)*e%ew,c=ee(a,e_,ew)*a%ew,l=ee(c,t,ew)*c%ew,h=ee(l,r,ew)*l%ew,u=ee(h,i,ew)*h%ew,d=ee(u,s,ew)*u%ew,p=ee(d,s,ew)*u%ew,f=ee(p,t,ew)*c%ew;return{pow_p_5_8:ee(f,eI,ew)*e%ew,b2:n}}(e*i).pow_p_5_8,n=X(e*r*s,ew),o=X(t*n*n,ew),a=n,c=X(n*ev,ew),l=o===e,h=o===X(-e,ew),u=o===X(-e*ev,ew);return l&&(n=a),(h||u)&&(n=c),er(n,ew)&&(n=X(-n,ew)),{isValid:l||h,value:n}}},eO=function(e){var t;let r=function(e){let t=(function(e){let t=ei.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"});H(e,t)}(e.Fp),H(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...es(e.n,e.nBitLength),...e,p:e.Fp.ORDER}));return H(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:i,n:s,prehash:n,hash:o,randomBytes:a,nByteLength:c,h:l}=r,h=ey<<BigInt(8*c)-eg,u=i.create,d=en(r.n,r.nBitLength),p=r.uvRatio||((e,t)=>{try{return{isValid:!0,value:i.sqrt(e*i.inv(t))}}catch{return{isValid:!1,value:ef}}}),f=r.adjustScalarBytes||(e=>e),g=r.domain||((e,t,r)=>{if(x("phflag",r),t.length||r)throw Error("Contexts/pre-hash are not supported");return e});function y(e,t){M("coordinate "+e,t,ef,h)}function m(e){if(!(e instanceof v))throw Error("ExtendedPoint expected")}let b=V((e,t)=>{let{ex:r,ey:s,ez:n}=e,o=e.is0();null==t&&(t=o?em:i.inv(n));let a=u(r*t),c=u(s*t),l=u(n*t);if(o)return{x:ef,y:eg};if(l!==eg)throw Error("invZ was invalid");return{x:a,y:c}}),w=V(e=>{let{a:t,d:i}=r;if(e.is0())throw Error("bad point: ZERO");let{ex:s,ey:n,ez:o,et:a}=e,c=u(s*s),l=u(n*n),h=u(o*o),d=u(h*h),p=u(c*t),f=u(h*u(p+l)),g=u(d+u(i*u(c*l)));if(f!==g)throw Error("bad point: equation left != right (1)");let y=u(s*n),m=u(o*a);if(y!==m)throw Error("bad point: equation left != right (2)");return!0});
10class v{constructor(e,t,r,i){this.ex=e,this.ey=t,this.ez=r,this.et=i,y("x",e),y("y",t),y("z",r),y("t",i),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof v)throw Error("extended point not allowed");let{x:t,y:r}=e||{};return y("x",t),y("y",r),new v(t,r,eg,u(t*r))}static normalizeZ(e){let t=i.invertBatch(e.map(e=>e.ez));return e.map((e,r)=>e.toAffine(t[r])).map(v.fromAffine)}static msm(e,t){return function(e,t,r,i){if(function(e,t){if(!Array.isArray(e))throw Error("array expected");e.forEach((e,r)=>{if(!(e instanceof t))throw Error("invalid point at index "+r)})}(r,e),function(e,t){if(!Array.isArray(e))throw Error("array of scalars expected");e.forEach((e,r)=>{if(!t.isValid(e))throw Error("invalid scalar at index "+r)})}(i,t),r.length!==i.length)throw Error("arrays of points and scalars must have equal length");let s=e.ZERO,n=function(e){let t;for(t=0;e>_;e>>=D,t+=1);return t}(BigInt(r.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=Array(a+1).fill(s),l=Math.floor((t.BITS-1)/o)*o,h=s;for(let e=l;e>=0;e-=o){c.fill(s);for(let t=0;t<i.length;t++){let s=i[t],n=Number(s>>BigInt(e)&BigInt(a));c[n]=c[n].add(r[t])}let t=s;for(let e=c.length-1,r=s;e>0;e--)r=r.add(c[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e<o;e++)h=h.double()}return h}(v,d,e,t)}_setWindowSize(e){P.setWindowSize(this,e)}assertValidity(){w(this)}equals(e){m(e);let{ex:t,ey:r,ez:i}=this,{ex:s,ey:n,ez:o}=e,a=u(t*o),c=u(s*i),l=u(r*o),h=u(n*i);return a===c&&l===h}is0(){return this.equals(v.ZERO)}negate(){return new v(u(-this.ex),this.ey,this.ez,u(-this.et))}double(){let{a:e}=r,{ex:t,ey:i,ez:s}=this,n=u(t*t),o=u(i*i),a=u(ey*u(s*s)),c=u(e*n),l=t+i,h=u(u(l*l)-n-o),d=c+o,p=d-a,f=c-o,g=u(h*p),y=u(d*f),m=u(h*f),b=u(p*d);return new v(g,y,b,m)}add(e){m(e);let{a:t,d:i}=r,{ex:s,ey:n,ez:o,et:a}=this,{ex:c,ey:l,ez:h,et:d}=e;if(t===BigInt(-1)){let e=u((n-s)*(l+c)),t=u((n+s)*(l-c)),r=u(t-e);if(r===ef)return this.double();let i=u(o*ey*d),p=u(a*ey*h),f=p+i,g=t+e,y=p-i,m=u(f*r),b=u(g*y),w=u(f*y),E=u(r*g);return new v(m,b,E,w)}let p=u(s*c),f=u(n*l),g=u(a*i*d),y=u(o*h),b=u((s+n)*(c+l)-p-f),w=y-g,E=y+g,I=u(f-t*p),_=u(b*w),D=u(E*I),P=u(b*I),S=u(w*E);return new v(_,D,S,P)}subtract(e){return this.add(e.negate())}wNAF(e){return P.wNAFCached(this,e,v.normalizeZ)}multiply(e){M("scalar",e,eg,s);let{p:t,f:r}=this.wNAF(e);return v.normalizeZ([t,r])[0]}multiplyUnsafe(e,t=v.ZERO){return M("scalar",e,ef,s),e===ef?I:this.is0()||e===eg?this:P.wNAFCachedUnsafe(this,e,v.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(l).is0()}isTorsionFree(){return P.unsafeLadder(this,s).is0()}toAffine(e){return b(this,e)}clearCofactor(){let{h:e}=r;return e===eg?this:this.multiplyUnsafe(e)}static fromHex(e,t=!1){let{d:s,a:n}=r,o=i.BYTES;e=q("pointHex",e,o),x("zip215",t);let a=e.slice(),c=e[o-1];a[o-1]=-129&c;let l=U(a),d=t?h:i.ORDER;M("pointHex.y",l,ef,d);let f=u(l*l),g=u(f-eg),y=u(s*f-n),{isValid:m,value:b}=p(g,y);if(!m)throw Error("Point.fromHex: invalid y coordinate");let w=(b&eg)===eg,E=(128&c)!=0;if(!t&&b===ef&&E)throw Error("Point.fromHex: x=0 and x_0=1");return E!==w&&(b=u(-b)),v.fromAffine({x:b,y:l})}static fromPrivateKey(e){return S(e).point}toRawBytes(){let{x:e,y:t}=this.toAffine(),r=k(t,i.BYTES);return r[r.length-1]|=e&eg?128:0,r}toHex(){return C(this.toRawBytes())}}v.BASE=new v(r.Gx,r.Gy,eg,u(r.Gx*r.Gy)),v.ZERO=new v(ef,eg,eg,ef);let{BASE:E,ZERO:I}=v,P=(t=8*c,{constTimeNegate:ec,hasPrecomputes:e=>1!==ep(e),unsafeLadder(e,t,r=v.ZERO){let i=e;for(;t>eo;)t&ea&&(r=r.add(i)),i=i.double(),t>>=ea;return r},precomputeWindow(e,r){let{windows:i,windowSize:s}=eh(r,t),n=[],o=e,a=o;for(let e=0;e<i;e++){a=o,n.push(a);for(let e=1;e<s;e++)a=a.add(o),n.push(a);o=a.double()}return n},wNAF(e,r,i){let{windows:s,windowSize:n}=eh(e,t),o=v.ZERO,a=v.BASE,c=BigInt(2**e-1),l=2**e,h=BigInt(e);for(let e=0;e<s;e++){let t=e*n,s=Number(i&c);i>>=h,s>n&&(s-=l,i+=ea);let u=t+Math.abs(s)-1,d=e%2!=0,p=s<0;0===s?a=a.add(ec(d,r[t])):o=o.add(ec(p,r[u]))}return{p:o,f:a}},wNAFUnsafe(e,r,i,s=v.ZERO){let{windows:n,windowSize:o}=eh(e,t),a=BigInt(2**e-1),c=2**e,l=BigInt(e);for(let e=0;e<n;e++){let t=e*o;if(i===eo)break;let n=Number(i&a);if(i>>=l,n>o&&(n-=c,i+=ea),0===n)continue;let h=r[t+Math.abs(n)-1];n<0&&(h=h.negate()),s=s.add(h)}return s},getPrecomputes(e,t,r){let i=eu.get(t);
10return i||(i=this.precomputeWindow(t,e),1!==e&&eu.set(t,r(i))),i},wNAFCached(e,t,r){let i=ep(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)},wNAFCachedUnsafe(e,t,r,i){let s=ep(e);return 1===s?this.unsafeLadder(e,t,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,r),t,i)},setWindowSize(e,r){el(r,t),ed.set(e,r),eu.delete(e)}});function S(e){let t=i.BYTES;e=q("private key",e,t);let r=q("hashed private key",o(e),2*t),n=f(r.slice(0,t)),a=r.slice(t,2*t),c=X(U(n),s),l=E.multiply(c),h=l.toRawBytes();return{head:n,prefix:a,scalar:c,point:l,pointBytes:h}}function O(e=new Uint8Array,...t){let r=B(...t);return X(U(o(g(r,q("context",e),!!n))),s)}return E._setWindowSize(8),{CURVE:r,getPublicKey:function(e){return S(e).pointBytes},sign:function(e,t,r={}){e=q("message",e),n&&(e=n(e));let{prefix:o,scalar:a,pointBytes:c}=S(t),l=O(r.context,o,e),h=E.multiply(l).toRawBytes(),u=O(r.context,h,c,e),d=X(l+u*a,s);M("signature.s",d,ef,s);let p=B(h,k(d,i.BYTES));return q("result",p,2*i.BYTES)},verify:function(e,t,r,s=eb){let o,a,c;let{context:l,zip215:h}=s,u=i.BYTES;e=q("signature",e,2*u),t=q("message",t),r=q("publicKey",r,u),void 0!==h&&x("zip215",h),n&&(t=n(t));let d=U(e.slice(u,2*u));try{o=v.fromHex(r,h),a=v.fromHex(e.slice(0,u),h),c=E.multiplyUnsafe(d)}catch{return!1}if(!h&&o.isSmallOrder())return!1;let p=O(l,a.toRawBytes(),o.toRawBytes(),t);return a.add(o.multiplyUnsafe(p)).subtract(c).clearCofactor().equals(v.ZERO)},ExtendedPoint:v,utils:{getExtendedPublicKey:S,randomPrivateKey:()=>a(i.BYTES),precompute:(e=8,t=v.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)}}}(eS),ex="base64url",eA="utf8",eC="utf8",eR="base58btc";function eN(e){return null!=globalThis.Buffer?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function eT(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?eN(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function ej(e,t){t||(t=e.reduce((e,t)=>e+t.length,0));let r=eT(t),i=0;for(let t of e)r.set(t,i),i+=t.length;return eN(r)}var eU=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),o=n.charCodeAt(0);if(255!==r[o])throw TypeError(n+" is ambiguous");r[o]=s}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var i=0,s=0;e[t]===c;)i++,t++;for(var n=(e.length-t)*l+1>>>0,o=new Uint8Array(n);e[t];){var h=r[e.charCodeAt(t)];if(255===h)return;for(var u=0,d=n-1;(0!==h||u<s)&&-1!==d;d--,u++)h+=a*o[d]>>>0,o[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw Error("Non-zero carry");s=u,t++}if(" "!==e[t]){for(var p=n-s;p!==n&&0===o[p];)p++;for(var f=new Uint8Array(i+(n-p)),g=i;p!==n;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,s=0,n=t.length;s!==n&&0===t[s];)s++,r++;for(var o=(n-s)*h+1>>>0,l=new Uint8Array(o);s!==n;){for(var u=t[s],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*l[p]>>>0,l[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw Error("Non-zero carry");i=d,s++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw Error(`Non-${t} character`)}}};let eL=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")},ek=e=>new TextEncoder().encode(e),eq=e=>new TextDecoder().decode(e);class eB{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class e${constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name}
10 decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return ez(this,e)}}class eM{constructor(e){this.decoders=e}or(e){return ez(this,e)}decode(e){let t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let ez=(e,t)=>new eM({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class eF{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new eB(e,t,r),this.decoder=new e$(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let eH=({name:e,prefix:t,encode:r,decode:i})=>new eF(e,t,r,i),eV=({prefix:e,name:t,alphabet:r})=>{let{encode:i,decode:s}=eU(r,t);return eH({prefix:e,name:t,encode:i,decode:e=>eL(s(e))})},eK=(e,t,r,i)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let o=new Uint8Array(n*r/8|0),a=0,c=0,l=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${i} character`);c=c<<r|n,(a+=r)>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw SyntaxError("Unexpected end of data");return o},eJ=(e,t,r)=>{let i="="===t[t.length-1],s=(1<<r)-1,n="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,n+=t[s&a>>o];if(o&&(n+=t[s&a<<r-o]),i)for(;n.length*r&7;)n+="=";return n},eW=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>eH({prefix:t,name:e,encode:e=>eJ(e,i,r),decode:t=>eK(t,i,r,e)}),eG=eH({prefix:"\x00",name:"identity",encode:e=>eq(e),decode:e=>ek(e)});var eY=Object.freeze({__proto__:null,identity:eG});let eZ=eW({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var eQ=Object.freeze({__proto__:null,base2:eZ});let eX=eW({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var e0=Object.freeze({__proto__:null,base8:eX});let e1=eV({prefix:"9",name:"base10",alphabet:"0123456789"});var e2=Object.freeze({__proto__:null,base10:e1});let e8=eW({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),e3=eW({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var e5=Object.freeze({__proto__:null,base16:e8,base16upper:e3});let e6=eW({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),e4=eW({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),e9=eW({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),e7=eW({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),te=eW({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),tt=eW({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),tr=eW({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ti=eW({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ts=eW({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var tn=Object.freeze({__proto__:null,base32:e6,base32upper:e4,base32pad:e9,base32padupper:e7,base32hex:te,base32hexupper:tt,base32hexpad:tr,base32hexpadupper:ti,base32z:ts});let to=eV({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ta=eV({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var tc=Object.freeze({__proto__:null,base36:to,base36upper:ta}
10);let tl=eV({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),th=eV({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var tu=Object.freeze({__proto__:null,base58btc:tl,base58flickr:th});let td=eW({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),tp=eW({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),tf=eW({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),tg=eW({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var ty=Object.freeze({__proto__:null,base64:td,base64pad:tp,base64url:tf,base64urlpad:tg});let tm=Array.from("\uD83D\uDE80\uD83E\uDE90â\uD83D\uDEF0\uD83C\uDF0C\uD83C\uDF11\uD83C\uDF12\uD83C\uDF13\uD83C\uDF14\uD83C\uDF15\uD83C\uDF16\uD83C\uDF17\uD83C\uDF18\uD83C\uDF0D\uD83C\uDF0F\uD83C\uDF0E\uD83D\uDC09â\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02â¤\uD83D\uDE0D\uD83E\uDD23\uD83D\uDE0A\uD83D\uDE4F\uD83D\uDC95\uD83D\uDE2D\uD83D\uDE18\uD83D\uDC4D\uD83D\uDE05\uD83D\uDC4F\uD83D\uDE01\uD83D\uDD25\uD83E\uDD70\uD83D\uDC94\uD83D\uDC96\uD83D\uDC99\uD83D\uDE22\uD83E\uDD14\uD83D\uDE06\uD83D\uDE44\uD83D\uDCAA\uD83D\uDE09âº\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9Eââ¨\uD83E\uDD37\uD83D\uDE31\uD83D\uDE0C\uD83C\uDF38\uD83D\uDE4C\uD83D\uDE0B\uD83D\uDC97\uD83D\uDC9A\uD83D\uDE0F\uD83D\uDC9B\uD83D\uDE42\uD83D\uDC93\uD83E\uDD29\uD83D\uDE04\uD83D\uDE00\uD83D\uDDA4\uD83D\uDE03\uD83D\uDCAF\uD83D\uDE48\uD83D\uDC47\uD83C\uDFB6\uD83D\uDE12\uD83E\uDD2Dâ£\uD83D\uDE1C\uD83D\uDC8B\uD83D\uDC40\uD83D\uDE2A\uD83D\uDE11\uD83D\uDCA5\uD83D\uDE4B\uD83D\uDE1E\uD83D\uDE29\uD83D\uDE21\uD83E\uDD2A\uD83D\uDC4A\uD83E\uDD73\uD83D\uDE25\uD83E\uDD24\uD83D\uDC49\uD83D\uDC83\uD83D\uDE33â\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13ââ
\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6â\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90â¹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20â\uD83D\uDE15\uD83C\uDF3A\uD83C\uDF82\uD83C\uDF3B\uD83D\uDE10\uD83D\uDD95\uD83D\uDC9D\uD83D\uDE4A\uD83D\uDE39\uD83D\uDDE3\uD83D\uDCAB\uD83D\uDC80\uD83D\uDC51\uD83C\uDFB5\uD83E\uDD1E\uD83D\uDE1B\uD83D\uDD34\uD83D\uDE24\uD83C\uDF3C\uD83D\uDE2Bâ½\uD83E\uDD19â\uD83C\uDFC6\uD83E\uDD2B\uD83D\uDC48\uD83D\uDE2E\uD83D\uDE46\uD83C\uDF7B\uD83C\uDF43\uD83D\uDC36\uD83D\uDC81\uD83D\uDE32\uD83C\uDF3F\uD83E\uDDE1\uD83C\uDF81â¡\uD83C\uDF1E\uD83C\uDF88ââ\uD83D\uDC4B\uD83D\uDE30\uD83E\uDD28\uD83D\uDE36\uD83E\uDD1D\uD83D\uDEB6\uD83D\uDCB0\uD83C\uDF53\uD83D\uDCA2\uD83E\uDD1F\uD83D\uDE41\uD83D\uDEA8\uD83D\uDCA8\uD83E\uDD2Câ\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74â¶â¡â\uD83D\uDC8E\uD83D\uDCB8â¬\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7Aâ \uD83D\uDE45\uD83D\uDE1F\uD83D\uDE35\uD83D\uDC4E\uD83E\uDD32\uD83E\uDD20\uD83E\uDD27\uD83D\uDCCC\uD83D\uDD35\uD83D\uDC85\uD83E\uDDD0\uD83D\uDC3E\uD83C\uDF52\uD83D\uDE17\uD83E\uDD11\uD83C\uDF0A\uD83E\uDD2F\uD83D\uDC37â\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51â\uD83C\uDF34\uD83D\uDCA3\uD83D\uDC38\uD83D\uDC8C\uD83D\uDCCD\uD83E\uDD40\uD83E\uDD22\uD83D\uDC45\uD83D\uDCA1\uD83D\uDCA9\uD83D\uDC50\uD83D\uDCF8\uD83D\uDC7B\uD83E\uDD10\uD83E\uDD2E\uD83C\uDFBC\uD83E\uDD75\uD83D\uDEA9\uD83C\uDF4E\uD83C\uDF4A\uD83D\uDC7C\uD83D\uDC8D\uD83D\uDCE3\uD83E\uDD42"),tb=tm.reduce((e,t,r)=>(e[r]=t,e),[]),tw=tm.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]),tv=eH({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>e+=tb[t],"")},decode:function(e){let t=[];for(let r of e){let e=tw[r.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}});var tE=Object.freeze({__proto__:null,base256emoji:tv}),tI={encode:function e(t,r,i){r=r||[],i=i||0;for(var s=i;t>=2147483648;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-s+1,r},decode:function e(t,r){var i,s=0,r=r||0,n=0,o=r,a=t.length;do{if(o>=a)throw e.bytes=0,RangeError("Could not decode varint");i=t[o++],s+=n<28?(127&i)<<n:(127&i)*Math.pow(2,n),n+=7}while(i>=128);return e.bytes=o-r,s},encodingLength:function(e){return e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10}};let t_=(e,t,r=0)=>(tI.encode(e,t,r),t),tD=e=>tI.encodingLength(e),tP=(e,t)=>{let r=t.byteLength,i=tD(e),s=i+tD(r),n=new Uint8Array(s+r);return t_(e,n,0),t_(r,n,i),n.set(t,s),new tS(e,r,t,n)};
10class tS{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}let tO=({name:e,code:t,encode:r})=>new tx(e,t,r);class tx{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?tP(this.code,t):t.then(e=>tP(this.code,e))}throw Error("Unknown type, must be binary type")}}let tA=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),tC=tO({name:"sha2-256",code:18,encode:tA("SHA-256")}),tR=tO({name:"sha2-512",code:19,encode:tA("SHA-512")});var tN=Object.freeze({__proto__:null,sha256:tC,sha512:tR}),tT=Object.freeze({__proto__:null,identity:{code:0,name:"identity",encode:eL,digest:e=>tP(0,eL(e))}});new TextEncoder,new TextDecoder;let tj={...eY,...eQ,...e0,...e2,...e5,...tn,...tc,...tu,...ty,...tE};function tU(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}({...tN,...tT});let tL=tU("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),tk=tU("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=eT(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),tq={utf8:tL,"utf-8":tL,hex:tj.base16,latin1:tk,ascii:tk,binary:tk,...tj};function tB(e,t="utf8"){let r=tq[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function t$(e,t="utf8"){let r=tq[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?eN(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function tM(e){return(0,s.D)(tB(t$(e,ex),eA))}function tz(e){return tB(t$((0,s.u)(e),eA),ex)}function tF(e){let t=t$("K36",eR),r="z"+tB(ej([t,e]),eR);return["did","key",r].join(":")}function tH(e){let t=e.split("."),r=tM(t[0]),i=tM(t[1]),s=t$(t[2],ex),n=t$(t.slice(0,2).join("."),eC);return{header:r,payload:i,signature:s,data:n}}function tV(e=u(32)){let t=eO.getPublicKey(e);return{secretKey:ej([e,t]),publicKey:t}}async function tK(e,t,r,s,n=(0,i.fromMiliseconds)(Date.now())){var o,a;let c={alg:"EdDSA",typ:"JWT"},l=tF(s.publicKey),h={iss:l,sub:e,aud:t,iat:n,exp:n+r},u=t$([tz((o={header:c,payload:h}).header),tz(o.payload)].join("."),eC),d=eO.sign(u,s.secretKey.slice(0,32));return[tz((a={header:c,payload:h,signature:d}).header),tz(a.payload),tB(a.signature,ex)].join(".")}},85094:function(e,t,r){"use strict";r.d(t,{D:function(){return n},u:function(){return o}});let i=e=>JSON.stringify(e,(e,t)=>"bigint"==typeof t?t.toString()+"n":t),s=e=>{let t=e.replace(/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,'$1"$2n"$3');return JSON.parse(t,(e,t)=>{let r="string"==typeof t&&t.match(/^\d+n$/);return r?BigInt(t.substring(0,t.length-1)):t})};function n(e){if("string"!=typeof e)throw Error(`Cannot safe json parse value of type ${typeof e}`);try{return s(e)}catch(t){return e}}function o(e){return"string"==typeof e?e:i(e)||""}},36900:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(70655);i.__exportStar(r(46869),t),i.__exportStar(r(88033),t)},46869:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_THOUSAND=t.ONE_HUNDRED=void 0,t.ONE_HUNDRED=100,t.ONE_THOUSAND=1e3},88033:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_YEAR=t.FOUR_WEEKS=t.THREE_WEEKS=t.TWO_WEEKS=t.ONE_WEEK=t.THIRTY_DAYS=t.SEVEN_DAYS=t.FIVE_DAYS=t.THREE_DAYS=t.ONE_DAY=t.TWENTY_FOUR_HOURS=t.TWELVE_HOURS=t.SIX_HOURS=t.THREE_HOURS=t.ONE_HOUR=t.SIXTY_MINUTES=t.THIRTY_MINUTES=t.TEN_MINUTES=t.FIVE_MINUTES=t.ONE_MINUTE=t.SIXTY_SECONDS=t.THIRTY_SECONDS=t.TEN_SECONDS=t.FIVE_SECONDS=t.ONE_SECOND=void 0,t.ONE_SECOND=1,t.FIVE_SECONDS=5,t.TEN_SECONDS=10,t.THIRTY_SECONDS=30,t.SIXTY_SECONDS=60,t.ONE_MINUTE=t.SIXTY_SECONDS,t.FIVE_MINUTES=5*t.ONE_MINUTE,t.TEN_MINUTES=10*t.ONE_MINUTE,t.THIRTY_MINUTES=30*t.ONE_MINUTE,t.SIXTY_MINUTES=60*t.ONE_MINUTE,t.ONE_HOUR=t.SIXTY_MINUTES,t.THREE_HOURS=3*t.ONE_HOUR,t.SIX_HOURS=6*t.ONE_HOUR,t.TWELVE_HOURS=12*t.ONE_HOUR,t.TWENTY_FOUR_HOURS=24*t.ONE_HOUR,t.ONE_DAY=t.TWENTY_FOUR_HOURS,t.THREE_DAYS=3*t.ONE_DAY,t.FIVE_DAYS=5*t.ONE_DAY,t.SEVEN_DAYS=7*t.ONE_DAY,t.THIRTY_DAYS=30*t.ONE_DAY,t.ONE_WEEK=t.SEVEN_DAYS,t.TWO_WEEKS=2*t.ONE_WEEK,t.THREE_WEEKS=3*t.ONE_WEEK,t.FOUR_W
10EEKS=4*t.ONE_WEEK,t.ONE_YEAR=365*t.ONE_DAY},66736:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(70655);i.__exportStar(r(44273),t),i.__exportStar(r(47001),t),i.__exportStar(r(52939),t),i.__exportStar(r(36900),t)},52939:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(70655);i.__exportStar(r(88766),t)},88766:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IWatch=void 0;class r{}t.IWatch=r},83207:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fromMiliseconds=t.toMiliseconds=void 0;let i=r(36900);t.toMiliseconds=function(e){return e*i.ONE_THOUSAND},t.fromMiliseconds=function(e){return Math.floor(e/i.ONE_THOUSAND)}},83873:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.delay=void 0,t.delay=function(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}},44273:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let i=r(70655);i.__exportStar(r(83873),t),i.__exportStar(r(83207),t)},47001:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Watch=void 0;class r{constructor(){this.timestamps=new Map}start(e){if(this.timestamps.has(e))throw Error(`Watch already started for label: ${e}`);this.timestamps.set(e,{started:Date.now()})}stop(e){let t=this.get(e);if(void 0!==t.elapsed)throw Error(`Watch already stopped for label: ${e}`);let r=Date.now()-t.started;this.timestamps.set(e,{started:t.started,elapsed:r})}get(e){let t=this.timestamps.get(e);if(void 0===t)throw Error(`No timestamp found for label: ${e}`);return t}elapsed(e){let t=this.get(e),r=t.elapsed||Date.now()-t.started;return r}}t.Watch=r,t.default=r},62873:function(e,t){"use strict";function r(e){let t;return"undefined"!=typeof window&&void 0!==window[e]&&(t=window[e]),t}function i(e){let t=r(e);if(!t)throw Error(`${e} is not defined in Window`);return t}Object.defineProperty(t,"__esModule",{value:!0}),t.getLocalStorage=t.getLocalStorageOrThrow=t.getCrypto=t.getCryptoOrThrow=t.getLocation=t.getLocationOrThrow=t.getNavigator=t.getNavigatorOrThrow=t.getDocument=t.getDocumentOrThrow=t.getFromWindowOrThrow=t.getFromWindow=void 0,t.getFromWindow=r,t.getFromWindowOrThrow=i,t.getDocumentOrThrow=function(){return i("document")},t.getDocument=function(){return r("document")},t.getNavigatorOrThrow=function(){return i("navigator")},t.getNavigator=function(){return r("navigator")},t.getLocationOrThrow=function(){return i("location")},t.getLocation=function(){return r("location")},t.getCryptoOrThrow=function(){return i("crypto")},t.getCrypto=function(){return r("crypto")},t.getLocalStorageOrThrow=function(){return i("localStorage")},t.getLocalStorage=function(){return r("localStorage")}},65755:function(e,t,r){"use strict";t.D=void 0;let i=r(62873);t.D=function(){let e,t,r;try{e=i.getDocumentOrThrow(),t=i.getLocationOrThrow()}catch(e){return null}function s(...t){let r=e.getElementsByTagName("meta");for(let e=0;e<r.length;e++){let i=r[e],s=["itemprop","property","name"].map(e=>i.getAttribute(e)).filter(e=>!!e&&t.includes(e));if(s.length&&s){let e=i.getAttribute("content");if(e)return e}}return""}let n=((r=s("name","og:site_name","og:title","twitter:title"))||(r=e.title),r),o=function(){let e=s("description","og:description","twitter:description","keywords");return e}(),a=t.origin,c=function(){let r=e.getElementsByTagName("link"),i=[];for(let e=0;e<r.length;e++){let s=r[e],n=s.getAttribute("rel");if(n&&n.toLowerCase().indexOf("icon")>-1){let e=s.getAttribute("href");if(e){if(-1===e.toLowerCase().indexOf("https:")&&-1===e.toLowerCase().indexOf("http:")&&0!==e.indexOf("//")){let r=t.protocol+"//"+t.host;if(0===e.indexOf("/"))r+=e;else{let i=t.pathname.split("/");i.pop();let s=i.join("/");r+=s+"/"+e}i.push(r)}else if(0===e.indexOf("//")){let r=t.protocol+e;i.push(r)}else i.push(e)}}}return i}();return{description:o,url:a,icons:c,name:n}}},85346:function(e){"use strict";function t(e){try{return JSON.stringify(e)}catch(e){return'"[Circular]"'}}e.exports=function(e,r,i){var s=i&&i.stringify||t;if("object"==typeof e&&null!==e){var n=r.length+1;if(1===n)return e;var o=Array(n);o[0]=s(e);for(var a=1;a<n;a++)o[a]=s(r[a]);return o.join(" ")}if("string"!=typeof e)return e;var c=r.length;if(0===c)return e;for(var l="",h=0,u=-1,d=e&&e.length||0,p=0;p<d;){if(37===e.charCodeAt(p)&&p+1<d){switch(u=u>-1?u:0,e.charCodeAt(p+1)){case 100:case 102:if(h>=c||null==r[h])break;u<p&&(l+=e.slice(u,p)),l+=Number(r[h]),u=p+2,p++;break;case 105:if(h>=c||null==r[h])break;u<p&&(l+=e.slice(u,p)),l+=Math.floor(Number(r[h])),u=p+2,p++;break;case 79:case 111:case 106:if(h>=c||void 0===r[h])break;u<p&&(l+=e.slice(u,p));var f=typeof r[h];if("string"===f){l+="'"+r[h]+"'",u=p+2,p++;break}if("function"===f){l+=r[h].name||"<anonymous>",u=p+2,p++;break}l+=s(r[h]),u=p+2,p++;break;case 115:if(h>=c)break;u<p&&(l+=e.slice(u,p)),l+=String(r[h]),u=p+2,p++;break;case 37:u<p&&(l+=e.slice(u,p)),l+="%",u=p+2,p++,h--}++h}++p}return -1===u?e:(u<d&&(l+=e.slice(u)),l)}},70655:function(e,t,r){"use strict";r.r(t),r.d(t,{__assign:function(){return n},__asyncDelegator:function(){return v},__asyncGenerator:function(){return w},__asyncValues:function(){return E},__await:function(){return b},__awaiter:function(){return h},__classPrivateFieldGet:function(){return P},__classPrivateFieldSet:function(){return S},__createBinding:function(){return d},__decorate:function(){return a},__exportStar:function(){return p},__extends:function(){return s},__generator:function(){return u},__importDefault:function(){return D},__importStar:function(){return _}
vendor: 6,126 bytes, lines 10-23
10,__makeTemplateObject:function(){return I},__metadata:function(){return l},__param:function(){return c},__read:function(){return g},__rest:function(){return o},__spread:function(){return y},__spreadArrays:function(){return m},__values:function(){return f}});/*! ***************************************************************************** 11Copyright (c) Microsoft Corporation. 12 13Permission to use, copy, modify, and/or distribute this software for any 14purpose with or without fee is hereby granted. 15 16THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 17REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 18AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 19INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 20LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 21OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 22PERFORMANCE OF THIS SOFTWARE. 23***************************************************************************** */var i=function(e,t){return(i=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function s(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var n=function(){return(n=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)};function o(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&0>t.indexOf(i)&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var s=0,i=Object.getOwnPropertySymbols(e);s<i.length;s++)0>t.indexOf(i[s])&&Object.prototype.propertyIsEnumerable.call(e,i[s])&&(r[i[s]]=e[i[s]]);return r}function a(e,t,r,i){var s,n=arguments.length,o=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(o=(n<3?s(o):n>3?s(t,r,o):s(t,r))||o);return n>3&&o&&Object.defineProperty(t,r,o),o}function c(e,t){return function(r,i){t(r,i,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function h(e,t,r,i){return new(r||(r=Promise))(function(s,n){function o(e){try{c(i.next(e))}catch(e){n(e)}}function a(e){try{c(i.throw(e))}catch(e){n(e)}}function c(e){var t;e.done?s(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(o,a)}c((i=i.apply(e,t||[])).next())})}function u(e,t){var r,i,s,n,o={label:0,sent:function(){if(1&s[0])throw s[1];return s[1]},trys:[],ops:[]};return n={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function a(n){return function(a){return function(n){if(r)throw TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(s=2&n[0]?i.return:n[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,n[1])).done)return s;switch(i=0,s&&(n=[2&n[0],s.value]),n[0]){case 0:case 1:s=n;break;case 4:return o.label++,{value:n[1],done:!1};case 5:o.label++,i=n[1],n=[0];continue;case 7:n=o.ops.pop(),o.trys.pop();continue;default:if(!(s=(s=o.trys).length>0&&s[s.length-1])&&(6===n[0]||2===n[0])){o=0;continue}if(3===n[0]&&(!s||n[1]>s[0]&&n[1]<s[3])){o.label=n[1];break}if(6===n[0]&&o.label<s[1]){o.label=s[1],s=n;break}if(s&&o.label<s[2]){o.label=s[2],o.ops.push(n);break}s[2]&&o.ops.pop(),o.trys.pop();continue}n=t.call(e,o)}catch(e){n=[6,e],i=0}finally{r=s=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,a])}}}function d(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}function p(e,t){for(var r in e)"default"===r||t.hasOwnProperty(r)||(t[r]=e[r])}function f(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function g(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,s,n=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(e){s={error:e}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return o}function y(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(g(arguments[t]));return e}function m(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var i=Array(e),s=0,t=0;t<r;t++)for(var n=arguments[t],o=0,a=n.length;o<a;o++,s++)i[s]=n[o];return i}function b(e){return this instanceof b?(this.v=e,this):new b(e)}function w(e,t,r){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var i,s=r.apply(e,t||[]),n=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(e){s[e]&&(i[e]=function(t){return new Promise(function(r,i){n.push([e,t,r,i])>1||a(e,t)})})}function a(e,t){try{var r;(r=s[e](t)).value instanceof b?Promise.resolve(r.value.v).then(c,l):h(n[0][2],r)}catch(e){h(n[0][3],e)}}function c(e){a("next",e)}function l(e){a("throw",e)}function h(e,t){e(t),n.shift(),n.length&&a(n[0][0],n[0][1])}}function v(e){var t,r;return t={},i("next"),i("throw",function(e){throw e}),i("return"),t[Symbol.iterator]=function(){return this},t;function i(i,s){t[i]=e[i]?function(t){return(r=!r)?{value:b(e[i](t)),done:"return"===i}:s?s(t):t}:s}}function E(e){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=f(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=e[r]&&function(t){return new Promise(function(i,s){!function(e,t,r,i){Promise.resolve(i).then(function(t){e({value:t,done:r})},t)}(i,s,(t=e[r](t)).done,t.value)})}}}function I(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
23function _(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function D(e){return e&&e.__esModule?e:{default:e}}function P(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}function S(e,t,r){if(!t.has(e))throw TypeError("attempted to set private field on non-instance");return t.set(e,r),r}},57026:function(e){"use strict";e.exports=function(){throw Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}},36559:function(e,t,r){"use strict";let i=r(85346);e.exports=n;let s=function(){function e(e){return void 0!==e&&e}try{if("undefined"!=typeof globalThis)return globalThis;return Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{};function n(e){var t;(e=e||{}).browser=e.browser||{};let r=e.browser.transmit;if(r&&"function"!=typeof r.send)throw Error("pino: transmit option must have a send function");let i=e.browser.write||s;e.browser.write&&(e.browser.asObject=!0);let h=e.serializers||{},u=function(e,t){if(Array.isArray(e)){let t=e.filter(function(e){return"!stdSerializers.err"!==e});return t}return!0===e&&Object.keys(t)}(e.browser.serialize,h),g=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(g=!1),"function"==typeof i&&(i.error=i.fatal=i.warn=i.info=i.debug=i.trace=i),!1===e.enabled&&(e.level="silent");let y=e.level||"info",m=Object.create(i);m.log||(m.log=d),Object.defineProperty(m,"levelVal",{get:function(){return"silent"===this.level?1/0:this.levels.values[this.level]}}),Object.defineProperty(m,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,o(b,m,"error","log"),o(b,m,"fatal","error"),o(b,m,"warn","error"),o(b,m,"info","log"),o(b,m,"debug","log"),o(b,m,"trace","log")}});let b={transmit:r,serialize:u,asObject:e.browser.asObject,levels:["error","fatal","warn","info","debug","trace"],timestamp:"function"==typeof(t=e).timestamp?t.timestamp:!1===t.timestamp?p:f};return m.levels=n.levels,m.level=y,m.setMaxListeners=m.getMaxListeners=m.emit=m.addListener=m.on=m.prependListener=m.once=m.prependOnceListener=m.removeListener=m.removeAllListeners=m.listeners=m.listenerCount=m.eventNames=m.write=m.flush=d,m.serializers=h,m._serialize=u,m._stdErrSerialize=g,m.child=function(t,i){if(!t)throw Error("missing bindings for child Pino");i=i||{},u&&t.serializers&&(i.serializers=t.serializers);let s=i.serializers;if(u&&s){var n=Object.assign({},h,s),o=!0===e.browser.serialize?Object.keys(n):u;delete t.serializers,a([t],o,n,this._stdErrSerialize)}function d(e){this._childLevel=(0|e._childLevel)+1,this.error=c(e,t,"error"),this.fatal=c(e,t,"fatal"),this.warn=c(e,t,"warn"),this.info=c(e,t,"info"),this.debug=c(e,t,"debug"),this.trace=c(e,t,"trace"),n&&(this.serializers=n,this._serialize=o),r&&(this._logEvent=l([].concat(e._logEvent.bindings,t)))}return d.prototype=this,new d(this)},r&&(m._logEvent=l()),m}function o(e,t,r,o){let c=Object.getPrototypeOf(t);t[r]=t.levelVal>t.levels.values[r]?d:c[r]?c[r]:s[r]||s[o]||d,function(e,t,r){if(e.transmit||t[r]!==d){var o;t[r]=(o=t[r],function(){let c=e.timestamp(),h=Array(arguments.length),u=Object.getPrototypeOf&&Object.getPrototypeOf(this)===s?s:this;for(var d=0;d<h.length;d++)h[d]=arguments[d];if(e.serialize&&!e.asObject&&a(h,this._serialize,this.serializers,this._stdErrSerialize),e.asObject?o.call(u,function(e,t,r,s){e._serialize&&a(r,e._serialize,e.serializers,e._stdErrSerialize);let o=r.slice(),c=o[0],l={};s&&(l.time=s),l.level=n.levels.values[t];let h=(0|e._childLevel)+1;if(h<1&&(h=1),null!==c&&"object"==typeof c){for(;h--&&"object"==typeof o[0];)Object.assign(l,o.shift());c=o.length?i(o.shift(),o):void 0}else"string"==typeof c&&(c=i(o.shift(),o));return void 0!==c&&(l.msg=c),l}(this,r,h,c)):o.apply(u,h),e.transmit){let i=e.transmit.level||t.level,s=n.levels.values[i],o=n.levels.values[r];if(o<s)return;(function(e,t,r){let i=t.send,s=t.ts,n=t.methodLevel,o=t.methodValue,c=t.val,h=e._logEvent.bindings;
23a(r,e._serialize||Object.keys(e.serializers),e.serializers,void 0===e._stdErrSerialize||e._stdErrSerialize),e._logEvent.ts=s,e._logEvent.messages=r.filter(function(e){return -1===h.indexOf(e)}),e._logEvent.level.label=n,e._logEvent.level.value=o,i(n,e._logEvent,c),e._logEvent=l(h)})(this,{ts:c,methodLevel:r,methodValue:o,transmitLevel:i,transmitValue:n.levels.values[e.transmit.level||t.level],send:e.transmit.send,val:t.levelVal},h)}})}}(e,t,r)}function a(e,t,r,i){for(let s in e)if(i&&e[s]instanceof Error)e[s]=n.stdSerializers.err(e[s]);else if("object"==typeof e[s]&&!Array.isArray(e[s]))for(let i in e[s])t&&t.indexOf(i)>-1&&i in r&&(e[s][i]=r[i](e[s][i]))}function c(e,t,r){return function(){let i=Array(1+arguments.length);i[0]=t;for(var s=1;s<i.length;s++)i[s]=arguments[s-1];return e[r].apply(this,i)}}function l(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function h(){return{}}function u(e){return e}function d(){}function p(){return!1}function f(){return Date.now()}n.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},n.stdSerializers={mapHttpRequest:h,mapHttpResponse:h,wrapRequestSerializer:u,wrapResponseSerializer:u,wrapErrorSerializer:u,req:h,res:h,err:function(e){let t={type:e.constructor.name,msg:e.message,stack:e.stack};for(let r in e)void 0===t[r]&&(t[r]=e[r]);return t}},n.stdTimeFunctions=Object.assign({},{nullTime:p,epochTime:f,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}})},12518:function(e,t,r){"use strict";function i(e){if(!Number.isSafeInteger(e)||e<0)throw Error("positive integer expected, got "+e)}function s(e,...t){if(!(e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name))throw Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw Error("Uint8Array expected of length "+t+", got length="+e.length)}function n(e){if("function"!=typeof e||"function"!=typeof e.create)throw Error("Hash should be wrapped by utils.wrapConstructor");i(e.outputLen),i(e.blockLen)}function o(e,t=!0){if(e.destroyed)throw Error("Hash instance has been destroyed");if(t&&e.finished)throw Error("Hash#digest() has already been called")}function a(e,t){s(e);let r=t.outputLen;if(e.length<r)throw Error("digestInto() expects output buffer of length at least "+r)}r.d(t,{$h:function(){return o},eB:function(){return a},gk:function(){return s},k8:function(){return i},z3:function(){return n}})},91220:function(e,t,r){"use strict";r.d(t,{kb:function(){return d},l1:function(){return l},eV:function(){return u},GL:function(){return o},iA:function(){return c},O6:function(){return f},np:function(){return a},O0:function(){return h},Jq:function(){return n},hE:function(){return p}});let i="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;var s=r(12518);function n(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function o(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function a(e,t){return e<<32-t|e>>>t}let c=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function l(e){for(let r=0;r<e.length;r++){var t;e[r]=(t=e[r])<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}}function h(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}(e)),(0,s.gk)(e),e}function u(...e){let t=0;for(let r=0;r<e.length;r++){let i=e[r];(0,s.gk)(i),t+=i.length}let r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){let s=e[t];r.set(s,i),i+=s.length}return r}class d{clone(){return this._cloneInto()}}function p(e){let t=t=>e().update(h(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function f(e=32){if(i&&"function"==typeof i.getRandomValues)return i.getRandomValues(new Uint8Array(e));if(i&&"function"==typeof i.randomBytes)return i.randomBytes(e);throw Error("crypto.getRandomValues must be defined")}},39578:function(e,t,r){"use strict";r.d(t,{Z:function(){return i}});var i=function(e){if(e.length>=255)throw TypeError("Alphabet too long");let t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let r=0;r<e.length;r++){let i=e.charAt(r),s=i.charCodeAt(0);if(255!==t[s])throw TypeError(i+" is ambiguous");t[s]=r}let r=e.length,i=e.charAt(0),s=Math.log(r)/Math.log(256),n=Math.log(256)/Math.log(r);function o(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;let n=0,o=0,a=0;for(;e[n]===i;)o++,n++;let c=(e.length-n)*s+1>>>0,l=new Uint8Array(c);for(;n<e.length;){let i=e.charCodeAt(n);if(i>255)return;let s=t[i];if(255===s)return;let o=0;for(let e=c-1;(0!==s||o<a)&&-1!==e;e--,o++)s+=r*l[e]>>>0,l[e]=s%256>>>0,s=s/256>>>0;if(0!==s)throw Error("Non-zero carry");a=o,n++}let h=c-a;for(;h!==c&&0===l[h];)h++;let u=new Uint8Array(o+(c-h)),d=o;for(;h!==c;)u[d++]=l[h++];return u}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";let s=0,o=0,a=0,c=t.length;for(;
23a!==c&&0===t[a];)a++,s++;let l=(c-a)*n+1>>>0,h=new Uint8Array(l);for(;a!==c;){let e=t[a],i=0;for(let t=l-1;(0!==e||i<o)&&-1!==t;t--,i++)e+=256*h[t]>>>0,h[t]=e%r>>>0,e=e/r>>>0;if(0!==e)throw Error("Non-zero carry");o=i,a++}let u=l-o;for(;u!==l&&0===h[u];)u++;let d=i.repeat(s);for(;u<l;++u)d+=e.charAt(h[u]);return d},decodeUnsafe:o,decode:function(e){let t=o(e);if(t)return t;throw Error("Non-base"+r+" character")}}}("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},24678:function(e,t,r){"use strict";let i;function s(e){return new Promise((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)})}function n(e,t){let r=indexedDB.open(e);r.onupgradeneeded=()=>r.result.createObjectStore(t);let i=s(r);return(e,r)=>i.then(i=>r(i.transaction(t,e).objectStore(t)))}function o(){return i||(i=n("keyval-store","keyval")),i}function a(e,t=o()){return t("readonly",t=>s(t.get(e)))}function c(e,t,r=o()){return r("readwrite",r=>(r.put(t,e),s(r.transaction)))}function l(e,t=o()){return t("readwrite",t=>(t.delete(e),s(t.transaction)))}function h(e=o()){return e("readwrite",e=>(e.clear(),s(e.transaction)))}function u(e=o()){return e("readonly",e=>{var t;if(e.getAllKeys)return s(e.getAllKeys());let r=[];return(t=e=>r.push(e.key),e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},s(e.transaction)).then(()=>r)})}r.d(t,{IV:function(){return l},MT:function(){return n},U2:function(){return a},XP:function(){return u},ZH:function(){return h},t8:function(){return c}})},69391:function(e,t,r){"use strict";r.d(t,{zo:function(){return b},mL:function(){return eW},BB:function(){return eG}});var i={};r.r(i),r.d(i,{identity:function(){return j}});var s={};r.r(s),r.d(s,{base2:function(){return U}});var n={};r.r(n),r.d(n,{base8:function(){return L}});var o={};r.r(o),r.d(o,{base10:function(){return k}});var a={};r.r(a),r.d(a,{base16:function(){return q},base16upper:function(){return B}});var c={};r.r(c),r.d(c,{base32:function(){return $},base32hex:function(){return H},base32hexpad:function(){return K},base32hexpadupper:function(){return J},base32hexupper:function(){return V},base32pad:function(){return z},base32padupper:function(){return F},base32upper:function(){return M},base32z:function(){return W}});var l={};r.r(l),r.d(l,{base36:function(){return G},base36upper:function(){return Y}});var h={};r.r(h),r.d(h,{base58btc:function(){return Z},base58flickr:function(){return Q}});var u={};r.r(u),r.d(u,{base64:function(){return X},base64pad:function(){return ee},base64url:function(){return et},base64urlpad:function(){return er}});var d={};r.r(d),r.d(d,{base256emoji:function(){return eo}});var p={};r.r(p),r.d(p,{sha256:function(){return eb},sha512:function(){return ew}});var f={};r.r(f),r.d(f,{identity:function(){return ev}});var g={};r.r(g),r.d(g,{code:function(){return eI},decode:function(){return eD},encode:function(){return e_},name:function(){return eE}});var y={};function m(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function b(e,t){t||(t=e.reduce((e,t)=>e+t.length,0));let r=m(t),i=0;for(let t of e)r.set(t,i),i+=t.length;return r}r.r(y),r.d(y,{code:function(){return ex},decode:function(){return eC},encode:function(){return eA},name:function(){return eO}});var w=function(e,t){if(e.length>=255)throw TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var s=0;s<e.length;s++){var n=e.charAt(s),o=n.charCodeAt(0);if(255!==r[o])throw TypeError(n+" is ambiguous");r[o]=s}var a=e.length,c=e.charAt(0),l=Math.log(a)/Math.log(256),h=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[0]){for(var i=0,s=0;e[t]===c;)i++,t++;for(var n=(e.length-t)*l+1>>>0,o=new Uint8Array(n);e[t];){var h=r[e.charCodeAt(t)];if(255===h)return;for(var u=0,d=n-1;(0!==h||u<s)&&-1!==d;d--,u++)h+=a*o[d]>>>0,o[d]=h%256>>>0,h=h/256>>>0;if(0!==h)throw Error("Non-zero carry");s=u,t++}if(" "!==e[t]){for(var p=n-s;p!==n&&0===o[p];)p++;for(var f=new Uint8Array(i+(n-p)),g=i;p!==n;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,s=0,n=t.length;s!==n&&0===t[s];)s++,r++;for(var o=(n-s)*h+1>>>0,l=new Uint8Array(o);s!==n;){for(var u=t[s],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*l[p]>>>0,l[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw Error("Non-zero carry");i=d,s++}for(var f=o-i;f!==o&&0===l[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(l[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw Error(`Non-${t} character`)}}};new Uint8Array(0);let v=(e,t)=>
23{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},E=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw Error("Unknown type, must be binary type")},I=e=>new TextEncoder().encode(e),_=e=>new TextDecoder().decode(e);class D{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class P{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return O(this,e)}}class S{constructor(e){this.decoders=e}or(e){return O(this,e)}decode(e){let t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}let O=(e,t)=>new S({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});
23class x{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new D(e,t,r),this.decoder=new P(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}let A=({name:e,prefix:t,encode:r,decode:i})=>new x(e,t,r,i),C=({prefix:e,name:t,alphabet:r})=>{let{encode:i,decode:s}=w(r,t);return A({prefix:e,name:t,encode:i,decode:e=>E(s(e))})},R=(e,t,r,i)=>{let s={};for(let e=0;e<t.length;++e)s[t[e]]=e;let n=e.length;for(;"="===e[n-1];)--n;let o=new Uint8Array(n*r/8|0),a=0,c=0,l=0;for(let t=0;t<n;++t){let n=s[e[t]];if(void 0===n)throw SyntaxError(`Non-${i} character`);c=c<<r|n,(a+=r)>=8&&(a-=8,o[l++]=255&c>>a)}if(a>=r||255&c<<8-a)throw SyntaxError("Unexpected end of data");return o},N=(e,t,r)=>{let i="="===t[t.length-1],s=(1<<r)-1,n="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,n+=t[s&a>>o];if(o&&(n+=t[s&a<<r-o]),i)for(;n.length*r&7;)n+="=";return n},T=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>A({prefix:t,name:e,encode:e=>N(e,i,r),decode:t=>R(t,i,r,e)}),j=A({prefix:"\x00",name:"identity",encode:e=>_(e),decode:e=>I(e)}),U=T({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),L=T({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),k=C({prefix:"9",name:"base10",alphabet:"0123456789"}),q=T({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),B=T({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),$=T({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),M=T({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),z=T({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),F=T({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),H=T({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),V=T({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),K=T({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),J=T({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),W=T({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),G=C({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Y=C({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),Z=C({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Q=C({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),X=T({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ee=T({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),et=T({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),er=T({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),ei=Array.from("\uD83D\uDE80\uD83E\uDE90â\uD83D\uDEF0\uD83C\uDF0C\uD83C\uDF11\uD83C\uDF12\uD83C\uDF13\uD83C\uDF14\uD83C\uDF15\uD83C\uDF16\uD83C\uDF17\uD83C\uDF18\uD83C\uDF0D\uD83C\uDF0F\uD83C\uDF0E\uD83D\uDC09â\uD83D\uDCBB\uD83D\uDDA5\uD83D\uDCBE\uD83D\uDCBF\uD83D\uDE02â¤\uD83D\uDE0D\uD83E\uDD23\uD83D\uDE0A\uD83D\uDE4F\uD83D\uDC95\uD83D\uDE2D\uD83D\uDE18\uD83D\uDC4D\uD83D\uDE05\uD83D\uDC4F\uD83D\uDE01\uD83D\uDD25\uD83E\uDD70\uD83D\uDC94\uD83D\uDC96\uD83D\uDC99\uD83D\uDE22\uD83E\uDD14\uD83D\uDE06\uD83D\uDE44\uD83D\uDCAA\uD83D\uDE09âº\uD83D\uDC4C\uD83E\uDD17\uD83D\uDC9C\uD83D\uDE14\uD83D\uDE0E\uD83D\uDE07\uD83C\uDF39\uD83E\uDD26\uD83C\uDF89\uD83D\uDC9Eââ¨\uD83E\uDD37\uD83D\uDE31\uD83D\uDE0C\uD83C\uDF38\uD83D\uDE4C\uD83D\uDE0B\uD83D\uDC97\uD83D\uDC9A\uD83D\uDE0F\uD83D\uDC9B\uD83D\uDE42\uD83D\uDC93\uD83E\uDD29\uD83D\uDE04\uD83D\uDE00\uD83D\uDDA4\uD83D\uDE03\uD83D\uDCAF\uD83D\uDE48\uD83D\uDC47\uD83C\uDFB6\uD83D\uDE12\uD83E\uDD2Dâ£\uD83D\uDE1C\uD83D\uDC8B\uD83D\uDC40\uD83D\uDE2A\uD83D\uDE11\uD83D\uDCA5\uD83D\uDE4B\uD83D\uDE1E\uD83D\uDE29\uD83D\uDE21\uD83E\uDD2A\uD83D\uDC4A\uD83E\uDD73\uD83D\uDE25\uD83E\uDD24\uD83D\uDC49\uD83D\uDC83\uD83D\uDE33â\uD83D\uDE1A\uD83D\uDE1D\uD83D\uDE34\uD83C\uDF1F\uD83D\uDE2C\uD83D\uDE43\uD83C\uDF40\uD83C\uDF37\uD83D\uDE3B\uD83D\uDE13ââ
\uD83E\uDD7A\uD83C\uDF08\uD83D\uDE08\uD83E\uDD18\uD83D\uDCA6â\uD83D\uDE23\uD83C\uDFC3\uD83D\uDC90â¹\uD83C\uDF8A\uD83D\uDC98\uD83D\uDE20â\uD83D\uDE15\uD83C\uDF3A\uD83C\uDF82\uD83C\uDF3B\uD83D\uDE10\uD83D\uDD95\uD83D\uDC9D\uD83D\uDE4A\uD83D\uDE39\uD83D\uDDE3\uD83D\uDCAB\uD83D\uDC80\uD83D\uDC51\uD83C\uDFB5\uD83E\uDD1E\uD83D\uDE1B\uD83D\uDD34\uD83D\uDE24\uD83C\uDF3C\uD83D\uDE2Bâ½\uD83E\uDD19â\uD83C\uDFC6\uD83E\uDD2B\uD83D\uDC48\uD83D\uDE2E\uD83D\uDE46\uD83C\uDF7B\uD83C\uDF43\uD83D\uDC36\uD83D\uDC81\uD83D\uDE32\uD83C\uDF3F\uD83E\uDDE1\uD83C\uDF81â¡\uD83C\uDF1E\uD83C\uDF88ââ\uD83D\uDC4B\uD83D\uDE30\uD83E\uDD28\uD83D\uDE36\uD83E\uDD1D\uD83D\uDEB6\uD83D\uDCB0\uD83C\uDF53\uD83D\uDCA2\uD83E\uDD1F\uD83D\uDE41\uD83D\uDEA8\uD83D\uDCA8\uD83E\uDD2Câ\uD83C\uDF80\uD83C\uDF7A\uD83E\uDD13\uD83D\uDE19\uD83D\uDC9F\uD83C\uDF31\uD83D\uDE16\uD83D\uDC76\uD83E\uDD74â¶â¡â\uD83D\uDC8E\uD83D\uDCB8â¬\uD83D\uDE28\uD83C\uDF1A\uD83E\uDD8B\uD83D\uDE37\uD83D\uDD7Aâ \uD83D\uDE45\uD83D\uDE1F\uD83D\uDE35\uD83D\uDC4E\uD83E\uDD32\uD83E\uDD20\uD83E\uDD27\uD83D\uDCCC\uD83D\uDD35\uD83D\uDC85\uD83E\uDDD0\uD83D\uDC3E\uD83C\uDF52\uD83D\uDE17\uD83E\uDD11\uD83C\uDF0A\uD83E\uDD2F\uD83D\uDC37â\uD83D\uDCA7\uD83D\uDE2F\uD83D\uDC86\uD83D\uDC46\uD83C\uDFA4\uD83D\uDE47\uD83C\uDF51â\uD83C\uDF34\uD83D\uDCA3\uD83D\uDC38\uD83D\uDC8C\uD83D\uDCCD\uD83E\uDD40\uD83E\uDD22\uD83D\uDC45\uD83D\uDCA1\uD83D\uDCA9\uD83D\uDC50\uD83D\uDCF8\uD83D\uDC7B\uD83E\uDD10\uD83E\uDD2E\uD83C\uDFBC\uD83E\uDD75\uD83D\uDEA9\uD83C\uDF4E\uD83C\uDF4A\uD83D\uDC7C\uD83D\uDC8D\uD83D\uDCE3\uD83E\uDD42"),es=ei.reduce((e,t,r)=>(e[r]=t,e),[]),en=ei.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]),eo=A({prefix:"\uD83D\uDE80",name:"base256emoji",encode:function(e){return e.reduce((e,t)=>
23e+=es[t],"")},decode:function(e){let t=[];for(let r of e){let e=en[r.codePointAt(0)];if(void 0===e)throw Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}});var ea={encode:function e(t,r,i){r=r||[];for(var s=i=i||0;t>=2147483648;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-s+1,r},decode:function e(t,r){var i,s=0,r=r||0,n=0,o=r,a=t.length;do{if(o>=a)throw e.bytes=0,RangeError("Could not decode varint");i=t[o++],s+=n<28?(127&i)<<n:(127&i)*Math.pow(2,n),n+=7}while(i>=128);return e.bytes=o-r,s},encodingLength:function(e){return e<128?1:e<16384?2:e<2097152?3:e<268435456?4:e<34359738368?5:e<4398046511104?6:e<562949953421312?7:e<72057594037927940?8:e<0x7fffffffffffffff?9:10}};let ec=(e,t=0)=>{let r=ea.decode(e,t);return[r,ea.decode.bytes]},el=(e,t,r=0)=>(ea.encode(e,t,r),t),eh=e=>ea.encodingLength(e),eu=(e,t)=>{let r=t.byteLength,i=eh(e),s=i+eh(r),n=new Uint8Array(s+r);return el(e,n,0),el(r,n,i),n.set(t,s),new ef(e,r,t,n)},ed=e=>{let t=E(e),[r,i]=ec(t),[s,n]=ec(t.subarray(i)),o=t.subarray(i+n);if(o.byteLength!==s)throw Error("Incorrect length");return new ef(r,s,o,t)},ep=(e,t)=>e===t||e.code===t.code&&e.size===t.size&&v(e.bytes,t.bytes);
23class ef{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}let eg=({name:e,code:t,encode:r})=>new ey(e,t,r);class ey{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?eu(this.code,t):t.then(e=>eu(this.code,e))}throw Error("Unknown type, must be binary type")}}let em=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),eb=eg({name:"sha2-256",code:18,encode:em("SHA-256")}),ew=eg({name:"sha2-512",code:19,encode:em("SHA-512")}),ev={code:0,name:"identity",encode:E,digest:e=>eu(0,E(e))},eE="raw",eI=85,e_=e=>E(e),eD=e=>E(e),eP=new TextEncoder,eS=new TextDecoder,eO="json",ex=512,eA=e=>eP.encode(JSON.stringify(e)),eC=e=>JSON.parse(eS.decode(e));class eR{constructor(e,t,r,i){this.code=t,this.version=e,this.multihash=r,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:e$,byteLength:e$,code:eB,version:eB,multihash:eB,bytes:eB,_baseCache:e$,asCID:e$})}toV0(){if(0===this.version)return this;{let{code:e,multihash:t}=this;if(e!==eU)throw Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==eL)throw Error("Cannot convert non sha2-256 multihash CID to CIDv0");return eR.createV0(t)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,r=eu(e,t);return eR.createV1(this.code,r)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(e){return e&&this.code===e.code&&this.version===e.version&&ep(this.multihash,e.multihash)}toString(e){let{bytes:t,version:r,_baseCache:i}=this;return 0===r?eT(t,i,e||Z.encoder):ej(t,i,e||$.encoder)}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(e){return eM(/^0\.0/,ez),!!(e&&(e[eq]||e.asCID===e))}get toBaseEncodedString(){throw Error("Deprecated, use .toString()")}get codec(){throw Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw Error('"multibaseName" property is deprecated')}get prefix(){throw Error('"prefix" property is deprecated')}static asCID(e){if(e instanceof eR)return e;if(null!=e&&e.asCID===e){let{version:t,code:r,multihash:i,bytes:s}=e;return new eR(t,r,i,s||ek(t,r,i.bytes))}if(null==e||!0!==e[eq])return null;{let{version:t,multihash:r,code:i}=e,s=ed(r);return eR.create(t,i,s)}}static create(e,t,r){if("number"!=typeof t)throw Error("String codecs are no longer supported");switch(e){case 0:if(t===eU)return new eR(e,t,r,r.bytes);throw Error(`Version 0 CID must use dag-pb (code: ${eU}) block encoding`);case 1:{let i=ek(e,t,r.bytes);return new eR(e,t,r,i)}default:throw Error("Invalid version")}}static createV0(e){return eR.create(0,eU,e)}static createV1(e,t){return eR.create(1,e,t)}static decode(e){let[t,r]=eR.decodeFirst(e);if(r.length)throw Error("Incorrect length");return t}static decodeFirst(e){let t=eR.inspectBytes(e),r=t.size-t.multihashSize,i=E(e.subarray(r,r+t.multihashSize));if(i.byteLength!==t.multihashSize)throw Error("Incorrect length");let s=i.subarray(t.multihashSize-t.digestSize),n=new ef(t.multihashCode,t.digestSize,s,i),o=0===t.version?eR.createV0(n):eR.createV1(t.codec,n);return[o,e.subarray(t.size)]}static inspectBytes(e){let t=0,r=()=>{let[r,i]=ec(e.subarray(t));return t+=i,r},i=r(),s=eU;if(18===i?(i=0,t=0):1===i&&(s=r()),0!==i&&1!==i)throw RangeError(`Invalid CID version ${i}`);let n=t,o=r(),a=r(),c=t+a;return{version:i,codec:s,multihashCode:o,digestSize:a,multihashSize:c-n,size:c}}static parse(e,t){let[r,i]=eN(e,t),s=eR.decode(i);return s._baseCache.set(r,e),s}}let eN=(e,t)=>{switch(e[0]){case"Q":return[Z.prefix,(t||Z).decode(`${Z.prefix}${e}`)];case Z.prefix:return[Z.prefix,(t||Z).decode(e)];case $.prefix:return[$.prefix,(t||$).decode(e)];default:if(null==t)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}},eT=(e,t,r)=>{let{prefix:i}=r;if(i!==Z.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let s=t.get(i);if(null!=s)return s;{let s=r.encode(e).slice(1);return t.set(i,s),s}},ej=(e,t,r)=>{let{prefix:i}=r,s=t.get(i);if(null!=s)return s;{let s=r.encode(e);return t.set(i,s),s}},eU=112,eL=18,ek=(e,t,r)=>{let i=eh(e),s=i+eh(t),n=new Uint8Array(s+r.byteLength);return el(e,n,0),el(t,n,i),n.set(r,s),n}
23,eq=Symbol.for("@ipld/js-cid/CID"),eB={writable:!1,configurable:!1,enumerable:!0},e$={writable:!1,enumerable:!1,configurable:!1},eM=(e,t)=>{if(e.test("0.0.0-dev"))console.warn(t);else throw Error(t)},ez=`CID.isCID(v) is deprecated and will be removed in the next major release. 24Following code pattern: 25 26if (CID.isCID(value)) { 27 doSomethingWithCID(value) 28} 29 30Is replaced with: 31 32const cid = CID.asCID(value) 33if (cid) { 34 // Make sure to use cid instead of value 35 doSomethingWithCID(cid) 36} 37`,eF={...i,...s,...n,...o,...a,...c,...l,...h,...u,...d};function eH(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}({...p,...f});let eV=eH("utf8","u",e=>{let t=new TextDecoder("utf8");return"u"+t.decode(e)},e=>{let t=new TextEncoder;return t.encode(e.substring(1))}),eK=eH("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=m(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),eJ={utf8:eV,"utf-8":eV,hex:eF.base16,latin1:eK,ascii:eK,binary:eK,...eF};function eW(e,t="utf8"){let r=eJ[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e,"utf8"):r.decoder.decode(`${r.prefix}${e}`)}function eG(e,t="utf8"){let r=eJ[t];if(!r)throw Error(`Unsupported encoding "${t}"`);return("utf8"===t||"utf-8"===t)&&null!=globalThis.Buffer&&null!=globalThis.Buffer.from?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}}}]);
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.