1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/secp256k1-CuDYT-hq.js","assets/index-DUmKJXH-.js","assets/index-BIrZtQ8N.css","assets/events-DQ172AOg.js","assets/index-nibyPLVP.js","assets/core-DqgIVBms.js"])))=>i.map(i=>d[i]); 2import{n as vo,r as Xu,_ as el,m as bt}from"./index-DUmKJXH-.js";import{r as Cd}from"./events-DQ172AOg.js";import{c as Td,a as Rd,k as Nd,d as jd,s as Bd,g as Zo}from"./index-nibyPLVP.js";var Ye=Cd();const Eo=vo(Ye);var Qo=function(r,e,t){if(t||arguments.length===2)for(var i=0,s=e.length,n;i<s;i++)(n||!(i in e))&&(n||(n=Array.prototype.slice.call(e,0,i)),n[i]=e[i]);return r.concat(n||Array.prototype.slice.call(e))},Ud=(function(){function r(e,t,i){this.name=e,this.version=t,this.os=i,this.type="browser"}return r})(),Fd=(function(){function r(e){this.version=e,this.type="node",this.name="node",this.os=process.platform}return r})(),qd=(function(){function r(e,t,i,s){this.name=e,this.version=t,this.os=i,this.bot=s,this.type="bot-device"}return r})(),Ld=(function(){function r(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null}return r})(),kd=(function(){function r(){this.type="react-native",this.name="react-native",this.version=null,this.os=null}return r})(),Md=/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/,zd=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,Xo=3,Hd=[["aol",/AOLShield\/([0-9\._]+)/],["edge",/Edge\/([0-9\._]+)/],["edge-ios",/EdgiOS\/([0-9\._]+)/],["yandexbrowser",/YaBrowser\/([0-9\._]+)/],["kakaotalk",/KAKAOTALK\s([0-9\.]+)/],["samsung",/SamsungBrowser\/([0-9\.]+)/],["silk",/\bSilk\/([0-9._-]+)\b/],["miui",/MiuiBrowser\/([0-9\.]+)$/],["beaker",/BeakerBrowser\/([0-9\.]+)/],["edge-chromium",/EdgA?\/([0-9\.]+)/],["chromium-webview",/(?!Chrom.*OPR)wv\).*Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["chrome",/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/],["phantomjs",/PhantomJS\/([0-9\.]+)(:?\s|$)/],["crios",/CriOS\/([0-9\.]+)(:?\s|$)/],["firefox",/Firefox\/([0-9\.]+)(?:\s|$)/],["fxios",/FxiOS\/([0-9\.]+)/],["opera-mini",/Opera Mini.*Version\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)(?:\s|$)/],["opera",/OPR\/([0-9\.]+)(:?\s|$)/],["pie",/^Microsoft Pocket Internet Explorer\/(\d+\.\d+)$/],["pie",/^Mozilla\/\d\.\d+\s\(compatible;\s(?:MSP?IE|MSInternet Explorer) (\d+\.\d+);.*Windows CE.*\)$/],["netfront",/^Mozilla\/\d\.\d+.*NetFront\/(\d.\d)/],["ie",/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/],["ie",/MSIE\s([0-9\.]+);.*Trident\/[4-7].0/],["ie",/MSIE\s(7\.0)/],["bb10",/BB10;\sTouch.*Version\/([0-9\.]+)/],["android",/Android\s([0-9\.]+)/],["ios",/Version\/([0-9\._]+).*Mobile.*Safari.*/],["safari",/Version\/([0-9\._]+).*Safari/],["facebook",/FB[AS]V\/([0-9\.]+)/],["instagram",/Instagram\s([0-9\.]+)/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Mobile/],["ios-webview",/AppleWebKit\/([0-9\.]+).*Gecko\)$/],["curl",/^curl\/([0-9\.]+)$/],["searchbot",Md]],ea=[["iOS",/iP(hone|od|ad)/],["Android OS",/Android/],["BlackBerry OS",/BlackBerry|BB10/],["Windows Mobile",/IEMobile/],["Amazon OS",/Kindle/],["Windows 3.11",/Win16/],["Windows 95",/(Windows 95)|(Win95)|(Windows_95)/],["Windows 98",/(Windows 98)|(Win98)/],["Windows 2000",/(Windows NT 5.0)|(Windows 2000)/],["Windows XP",/(Windows NT 5.1)|(Windows XP)/],["Windows Server 2003",/(Windows NT 5.2)/],["Windows Vista",/(Windows NT 6.0)/],["Windows 7",/(Windows NT 6.1)/],["Windows 8",/(Windows NT 6.2)/],["Windows 8.1",/(Windows NT 6.3)/],["Windows 10",/(Windows NT 10.0)/],["Windows ME",/Windows ME/],["Windows CE",/Windows CE|WinCE|Microsoft Pocket Internet Explorer/],["Open BSD",/OpenBSD/],["Sun OS",/SunOS/],["Chrome OS",/CrOS/],["Linux",/(Linux)|(X11)/],["Mac OS",/(Mac_PowerPC)|(Macintosh)/],["QNX",/QNX/],["BeOS",/BeOS/],["OS/2",/OS\/2/]];function Vd(r){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"?new kd:typeof navigator<"u"?Wd(navigator.userAgent):Yd()}function Kd(r){return r!==""&&Hd.reduce(function(e,t){var i=t[0],s=t[1];if(e)return e;var n=s.exec(r);return!!n&&[i,n]},!1)}function Wd(r){var e=Kd(r);if(!e)return null;var t=e[0],i=e[1];if(t==="searchbot")return new Ld;var s=i[1]&&i[1].split(".").join("_").split("_").slice(0,3);s?s.length<Xo&&(s=Qo(Qo([],s,!0),Jd(Xo-s.length),!0)):s=[];var n=s.join("."),o=Gd(r),a=zd.exec(r);return a&&a[1]?new qd(t,n,o,a[1]):new Ud(t,n,o)}function Gd(r){for(var e=0,t=ea.length;e<t;e++){var i=ea[e],s=i[0],n=i[1],o=n.exec(r);if(o)return s}return null}function Yd(){var r=typeof process<"u"&&process.version;return r?new Fd(process.version.slice(1)):null}function Jd(r){for(var e=[],t=0;t<r;t++)e.push("0");return e}var ks={};
vendor: 5,953 bytes, line 2
2var xn=function(r,e){return xn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var s in i)i.hasOwnProperty(s)&&(t[s]=i[s])},xn(r,e)};function Zd(r,e){xn(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Cn=function(){return Cn=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++){t=arguments[i];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},Cn.apply(this,arguments)};function Qd(r,e){var t={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&e.indexOf(i)<0&&(t[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(r);s<i.length;s++)e.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(r,i[s])&&(t[i[s]]=r[i[s]]);return t}function Xd(r,e,t,i){var s=arguments.length,n=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(n=(s<3?o(n):s>3?o(e,t,n):o(e,t))||n);return s>3&&n&&Object.defineProperty(e,t,n),n}function ep(r,e){return function(t,i){e(t,i,r)}}function tp(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function rp(r,e,t,i){function s(n){return n instanceof t?n:new t(function(o){o(n)})}return new(t||(t=Promise))(function(n,o){function a(l){try{u(i.next(l))}catch(h){o(h)}}function c(l){try{u(i.throw(l))}catch(h){o(h)}}function u(l){l.done?n(l.value):s(l.value).then(a,c)}u((i=i.apply(r,e||[])).next())})}function ip(r,e){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,s,n,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(l){return c([u,l])}}function c(u){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,s&&(n=u[0]&2?s.return:u[0]?s.throw||((n=s.return)&&n.call(s),0):s.next)&&!(n=n.call(s,u[1])).done)return n;switch(s=0,n&&(u=[u[0]&2,n.value]),u[0]){case 0:case 1:n=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,s=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(n=t.trys,!(n=n.length>0&&n[n.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!n||u[1]>n[0]&&u[1]<n[3])){t.label=u[1];break}if(u[0]===6&&t.label<n[1]){t.label=n[1],n=u;break}if(n&&t.label<n[2]){t.label=n[2],t.ops.push(u);break}n[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(r,t)}catch(l){u=[6,l],s=0}finally{i=n=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function sp(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}function np(r,e){for(var t in r)t!=="default"&&!e.hasOwnProperty(t)&&(e[t]=r[t])}function Tn(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function tl(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),s,n=[],o;try{for(;(e===void 0||e-- >0)&&!(s=i.next()).done;)n.push(s.value)}catch(a){o={error:a}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return n}function op(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(tl(arguments[e]));return r}function ap(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var i=Array(r),s=0,e=0;e<t;e++)for(var n=arguments[e],o=0,a=n.length;o<a;o++,s++)i[s]=n[o];return i}function vi(r){return this instanceof vi?(this.v=r,this):new vi(r)}function cp(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),s,n=[];return s={},o("next"),o("throw"),o("return"),s[Symbol.asyncIterator]=function(){return this},s;function o(d){i[d]&&(s[d]=function(f){return new Promise(function(p,g){n.push([d,f,p,g])>1||a(d,f)})})}function a(d,f){try{c(i[d](f))}catch(p){h(n[0][3],p)}}function c(d){d.value instanceof vi?Promise.resolve(d.value.v).then(u,l):h(n[0][2],d)}function u(d){a("next",d)}function l(d){a("throw",d)}function h(d,f){d(f),n.shift(),n.length&&a(n[0][0],n[0][1])}}function up(r){var e,t;return e={},i("next"),i("throw",function(s){throw s}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(s,n){e[s]=r[s]?function(o){return(t=!t)?{value:vi(r[s](o)),done:s==="return"}:n?n(o):o}:n}}function lp(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof Tn=="function"?Tn(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=r[n]&&function(o){return new Promise(function(a,c){o=r[n](o),s(a,c,o.done,o.value)})}}function s(n,o,a,c){Promise.resolve(c).then(function(u){n({value:u,done:a})},o)}}function hp(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function dp(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)Object.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e.default=r,e}function pp(r){return r&&r.__esModule?r:{default:r}}function fp(r,e){if(!e.has(r))throw new TypeError("attempted to get private field on non-instance");return e.get(r)}function gp(r,e,t){if(!e.has(r))throw new TypeError("attempted to set private field on non-instance");return e.set(r,t),t}const yp=Object.freeze(Object.defineProperty({__proto__:null,get __assign(){return Cn},__asyncDelegator:up,__asyncGenerator:cp,__asyncValues:lp,__await:vi,__awaiter:rp,__classPrivateFieldGet:fp,__classPrivateFieldSet:gp,__createBinding:sp,__decorate:Xd,__exportStar:np,__extends:Zd,__generator:ip,__importDefault:pp,__importStar:dp,__makeTemplateOb
2ject:hp,__metadata:tp,__param:ep,__read:tl,__rest:Qd,__spread:op,__spreadArrays:ap,__values:Tn},Symbol.toStringTag,{value:"Module"})),Es=Xu(yp);var Ms={},ti={},ta;function mp(){if(ta)return ti;ta=1,Object.defineProperty(ti,"__esModule",{value:!0}),ti.delay=void 0;function r(e){return new Promise(t=>{setTimeout(()=>{t(!0)},e)})}return ti.delay=r,ti}var Gt={},zs={},Yt={},ra;function wp(){return ra||(ra=1,Object.defineProperty(Yt,"__esModule",{value:!0}),Yt.ONE_THOUSAND=Yt.ONE_HUNDRED=void 0,Yt.ONE_HUNDRED=100,Yt.ONE_THOUSAND=1e3),Yt}var Hs={},ia;function bp(){return ia||(ia=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.ONE_YEAR=r.FOUR_WEEKS=r.THREE_WEEKS=r.TWO_WEEKS=r.ONE_WEEK=r.THIRTY_DAYS=r.SEVEN_DAYS=r.FIVE_DAYS=r.THREE_DAYS=r.ONE_DAY=r.TWENTY_FOUR_HOURS=r.TWELVE_HOURS=r.SIX_HOURS=r.THREE_HOURS=r.ONE_HOUR=r.SIXTY_MINUTES=r.THIRTY_MINUTES=r.TEN_MINUTES=r.FIVE_MINUTES=r.ONE_MINUTE=r.SIXTY_SECONDS=r.THIRTY_SECONDS=r.TEN_SECONDS=r.FIVE_SECONDS=r.ONE_SECOND=void 0,r.ONE_SECOND=1,r.FIVE_SECONDS=5,r.TEN_SECONDS=10,r.THIRTY_SECONDS=30,r.SIXTY_SECONDS=60,r.ONE_MINUTE=r.SIXTY_SECONDS,r.FIVE_MINUTES=r.ONE_MINUTE*5,r.TEN_MINUTES=r.ONE_MINUTE*10,r.THIRTY_MINUTES=r.ONE_MINUTE*30,r.SIXTY_MINUTES=r.ONE_MINUTE*60,r.ONE_HOUR=r.SIXTY_MINUTES,r.THREE_HOURS=r.ONE_HOUR*3,r.SIX_HOURS=r.ONE_HOUR*6,r.TWELVE_HOURS=r.ONE_HOUR*12,r.TWENTY_FOUR_HOURS=r.ONE_HOUR*24,r.ONE_DAY=r.TWENTY_FOUR_HOURS,r.THREE_DAYS=r.ONE_DAY*3,r.FIVE_DAYS=r.ONE_DAY*5,r.SEVEN_DAYS=r.ONE_DAY*7,r.THIRTY_DAYS=r.ONE_DAY*30,r.ONE_WEEK=r.SEVEN_DAYS,r.TWO_WEEKS=r.ONE_WEEK*2,r.THREE_WEEKS=r.ONE_WEEK*3,r.FOUR_WEEKS=r.ONE_WEEK*4,r.ONE_YEAR=r.ONE_DAY*365})(Hs)),Hs}var sa;function rl(){return sa||(sa=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Es;e.__exportStar(wp(),r),e.__exportStar(bp(),r)})(zs)),zs}var na;function vp(){if(na)return Gt;na=1,Object.defineProperty(Gt,"__esModule",{value:!0}),Gt.fromMiliseconds=Gt.toMiliseconds=void 0;const r=rl();
2function e(i){return i*r.ONE_THOUSAND}Gt.toMiliseconds=e;function t(i){return Math.floor(i/r.ONE_THOUSAND)}return Gt.fromMiliseconds=t,Gt}var oa;function Ep(){return oa||(oa=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Es;e.__exportStar(mp(),r),e.__exportStar(vp(),r)})(Ms)),Ms}var mr={},aa;function _p(){if(aa)return mr;aa=1,Object.defineProperty(mr,"__esModule",{value:!0}),mr.Watch=void 0;class r{constructor(){this.timestamps=new Map}start(t){if(this.timestamps.has(t))throw new Error(`Watch already started for label: ${t}`);this.timestamps.set(t,{started:Date.now()})}stop(t){const i=this.get(t);if(typeof i.elapsed<"u")throw new Error(`Watch already stopped for label: ${t}`);const s=Date.now()-i.started;this.timestamps.set(t,{started:i.started,elapsed:s})}get(t){const i=this.timestamps.get(t);if(typeof i>"u")throw new Error(`No timestamp found for label: ${t}`);return i}elapsed(t){const i=this.get(t);return i.elapsed||Date.now()-i.started}}return mr.Watch=r,mr.default=r,mr}var Vs={},ri={},ca;function Ip(){if(ca)return ri;ca=1,Object.defineProperty(ri,"__esModule",{value:!0}),ri.IWatch=void 0;class r{}return ri.IWatch=r,ri}var ua;function Dp(){return ua||(ua=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0}),Es.__exportStar(Ip(),r)})(Vs)),Vs}var la;function Sp(){return la||(la=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=Es;e.__exportStar(Ep(),r),e.__exportStar(_p(),r),e.__exportStar(Dp(),r),e.__exportStar(rl(),r)})(ks)),ks}var U=Sp(),re={},ha;function il(){if(ha)return re;ha=1,Object.defineProperty(re,"__esModule",{value:!0}),re.getLocalStorage=re.getLocalStorageOrThrow=re.getCrypto=re.getCryptoOrThrow=re.getLocation=re.getLocationOrThrow=re.getNavigator=re.getNavigatorOrThrow=re.getDocument=re.getDocumentOrThrow=re.getFromWindowOrThrow=re.getFromWindow=void 0;function r(d){let f;return typeof window<"u"&&typeof window[d]<"u"&&(f=window[d]),f}re.getFromWindow=r;function e(d){const f=r(d);if(!f)throw new Error(`${d} is not defined in Window`);return f}re.getFromWindowOrThrow=e;function t(){return e("document")}re.getDocumentOrThrow=t;function i(){return r("document")}re.getDocument=i;function s(){return e("navigator")}re.getNavigatorOrThrow=s;function n(){return r("navigator")}re.getNavigator=n;function o(){return e("location")}re.getLocationOrThrow=o;function a(){return r("location")}re.getLocation=a;function c(){return e("crypto")}re.getCryptoOrThrow=c;function u(){return r("crypto")}re.getCrypto=u;function l(){return e("localStorage")}re.getLocalStorageOrThrow=l;function h(){return r("localStorage")}return re.getLocalStorage=h,re}var jt=il(),ii={},da;function Op(){if(da)return ii;da=1,Object.defineProperty(ii,"__esModule",{value:!0}),ii.getWindowMetadata=void 0;const r=il();function e(){let t,i;try{t=r.getDocumentOrThrow(),i=r.getLocationOrThrow()}catch{return null}function s(){const f=t.getElementsByTagName("link"),p=[];for(let g=0;g<f.length;g++){const w=f[g],_=w.getAttribute("rel");if(_&&_.toLowerCase().indexOf("icon")>-1){const b=w.getAttribute("href");if(b)if(b.toLowerCase().indexOf("https:")===-1&&b.toLowerCase().indexOf("http:")===-1&&b.indexOf("//")!==0){let E=i.protocol+"//"+i.host;if(b.indexOf("/")===0)E+=b;else{const A=i.pathname.split("/");A.pop();const T=A.join("/");E+=T+"/"+b}p.push(E)}else if(b.indexOf("//")===0){const E=i.protocol+b;p.push(E)}else p.push(b)}}return p}function n(...f){const p=t.getElementsByTagName("meta");for(let g=0;g<p.length;g++){const w=p[g],_=["itemprop","property","name"].map(b=>w.getAttribute(b)).filter(b=>b?f.includes(b):!1);if(_.length&&_){const b=w.getAttribute("content");if(b)return b}}return""}function o(){let f=n("name","og:site_name","og:title","twitter:title");return f||(f=t.title),f}function a(){return n("description","og:description","twitter:description","keywords")}const c=o(),u=a(),l=i.origin,h=s();return{description:u,url:l,icons:h,name:c}}return ii.getWindowMetadata=e,ii}var Pp=Op();function Ei(r,{strict:e=!0}={}){return!r||typeof r!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(r):r.startsWith("0x")}function pa(r){return Ei(r,{strict:!1})?Math.ceil((r.length-2)/2):r.length}const sl="2.23.2";let Ks={getDocsUrl:({docsBaseUrl:r,docsPath:e="",docsSlug:t})=>e?`${r??"https://viem.sh"}${e}${t?`#${t}`:""}`:void 0,version:`viem@${sl}`};
2class ar extends Error{constructor(e,t={}){const i=t.cause instanceof ar?t.cause.details:t.cause?.message?t.cause.message:t.details,s=t.cause instanceof ar&&t.cause.docsPath||t.docsPath,n=Ks.getDocsUrl?.({...t,docsPath:s}),o=[e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...n?[`Docs: ${n}`]:[],...i?[`Details: ${i}`]:[],...Ks.version?[`Version: ${Ks.version}`]:[]].join(` 3`);super(o,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=i,this.docsPath=s,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=sl}walk(e){return nl(this,e)}}function nl(r,e){return e?.(r)?r:r&&typeof r=="object"&&"cause"in r&&r.cause!==void 0?nl(r.cause,e):e?null:r}class ol extends ar{constructor({size:e,targetSize:t,type:i}){super(`${i.charAt(0).toUpperCase()}${i.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}}function Gr(r,{dir:e,size:t=32}={}){return typeof r=="string"?$p(r,{dir:e,size:t}):Ap(r,{dir:e,size:t})}function $p(r,{dir:e,size:t=32}={}){if(t===null)return r;const i=r.replace("0x","");if(i.length>t*2)throw new ol({size:Math.ceil(i.length/2),targetSize:t,type:"hex"});return`0x${i[e==="right"?"padEnd":"padStart"](t*2,"0")}`}function Ap(r,{dir:e,size:t=32}={}){if(t===null)return r;if(r.length>t)throw new ol({size:r.length,targetSize:t,type:"bytes"});const i=new Uint8Array(t);for(let s=0;s<t;s++){const n=e==="right";i[n?s:t-s-1]=r[n?s:r.length-s-1]}return i}class xp extends ar{constructor({max:e,min:t,signed:i,size:s,value:n}){super(`Number "${n}" is not in safe ${s?`${s*8}-bit ${i?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}}class Cp extends ar{constructor({givenSize:e,maxSize:t}){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function Yr(r,{size:e}){if(pa(r)>e)throw new Cp({givenSize:pa(r),maxSize:e})}function Rn(r,e={}){const{signed:t}=e;e.size&&Yr(r,{size:e.size});const i=BigInt(r);if(!t)return i;const s=(r.length-2)/2,n=(1n<<BigInt(s)*8n-1n)-1n;return i<=n?i:i-BigInt(`0x${"f".padStart(s*2,"f")}`)-1n}function Tp(r,e={}){return Number(Rn(r,e))}const Rp=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function Nn(r,e={}){return typeof r=="number"||typeof r=="bigint"?cl(r,e):typeof r=="string"?Bp(r,e):typeof r=="boolean"?Np(r,e):al(r,e)}function Np(r,e={}){const t=`0x${Number(r)}`;return typeof e.size=="number"?(Yr(t,{size:e.size}),Gr(t,{size:e.size})):t}function al(r,e={}){let t="";for(let s=0;s<r.length;s++)t+=Rp[r[s]];const i=`0x${t}`;return typeof e.size=="number"?(Yr(i,{size:e.size}),Gr(i,{dir:"right",size:e.size})):i}function cl(r,e={}){const{signed:t,size:i}=e,s=BigInt(r);let n;i?t?n=(1n<<BigInt(i)*8n-1n)-1n:n=2n**(BigInt(i)*8n)-1n:typeof r=="number"&&(n=BigInt(Number.MAX_SAFE_INTEGER));const o=typeof n=="bigint"&&t?-n-1n:0;if(n&&s>n||s<o){const c=typeof r=="bigint"?"n":"";throw new xp({max:n?`${n}${c}`:void 0,min:`${o}${c}`,signed:t,size:i,value:`${r}${c}`})}const a=`0x${(t&&s<0?(1n<<BigInt(i*8))+BigInt(s):s).toString(16)}`;return i?Gr(a,{size:i}):a}const jp=new TextEncoder;function Bp(r,e={}){const t=jp.encode(r);return al(t,e)}const Up=new TextEncoder;function Fp(r,e={}){return typeof r=="number"||typeof r=="bigint"?Lp(r,e):typeof r=="boolean"?qp(r,e):Ei(r)?ul(r,e):ll(r,e)}function qp(r,e={}){const t=new Uint8Array(1);return t[0]=Number(r),typeof e.size=="number"?(Yr(t,{size:e.size}),Gr(t,{size:e.size})):t}const Dt={zero:48,nine:57,A:65,F:70,a:97,f:102};function fa(r){if(r>=Dt.zero&&r<=Dt.nine)return r-Dt.zero;if(r>=Dt.A&&r<=Dt.F)return r-(Dt.A-10);if(r>=Dt.a&&r<=Dt.f)return r-(Dt.a-10)}function ul(r,e={}){let t=r;e.size&&(Yr(t,{size:e.size}),t=Gr(t,{dir:"right",size:e.size}));let i=t.slice(2);i.length%2&&(i=`0${i}`);const s=i.length/2,n=new Uint8Array(s);for(let o=0,a=0;o<s;o++){const c=fa(i.charCodeAt(a++)),u=fa(i.charCodeAt(a++));if(c===void 0||u===void 0)throw new ar(`Invalid byte sequence ("${i[a-2]}${i[a-1]}" in "${i}").`);n[o]=c*16+u}return n}function Lp(r,e){const t=cl(r,e);return ul(t)}function ll(r,e={}){const t=Up.encode(r);return typeof e.size=="number"?(Yr(t,{size:e.size}),Gr(t,{dir:"right",size:e.size})):t}function us(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function kp(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function _s(r,...e){if(!kp(r))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(r.length))throw new Error("Uint8Array expected of length "+e+", got length="+r.length)}function wP(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");us(r.outputLen),us(r.blockLen)}function ga(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function Mp(r,e){_s(r);const t=e.outputLen;if(r.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const qi=BigInt(2**32-1),ya=BigInt(32);function zp(r,e=!1){return e?{h:Number(r&qi),l:Number(r>>ya&qi)}:{h:Number(r>>ya&qi)|0,l:Number(r&qi)|0}}function Hp(r,e=!1){let t=new Uint32Array(r.length),i=new Uint32Array(r.length);for(let s=0;s<r.length;s++){const{h:n,l:o}=zp(r[s],e);[t[s],i[s]]=[n,o]}return[t,i]}const Vp=(r,e,t)=>r<<t|e>>
3>32-t,Kp=(r,e,t)=>e<<t|r>>>32-t,Wp=(r,e,t)=>e<<t-32|r>>>64-t,Gp=(r,e,t)=>r<<t-32|e>>>64-t,wr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Yp(r){return new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4))}function bP(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function vP(r,e){return r<<32-e|r>>>e}const ma=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function Jp(r){return r<<24&4278190080|r<<8&16711680|r>>>8&65280|r>>>24&255}function wa(r){for(let e=0;e<r.length;e++)r[e]=Jp(r[e])}function Zp(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function hl(r){return typeof r=="string"&&(r=Zp(r)),_s(r),r}function EP(...r){let e=0;for(let i=0;i<r.length;i++){const s=r[i];_s(s),e+=s.length}const t=new Uint8Array(e);for(let i=0,s=0;i<r.length;i++){const n=r[i];t.set(n,s),s+=n.length}return t}class Qp{clone(){return this._cloneInto()}}function Xp(r){const e=i=>r().update(hl(i)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function _P(r=32){if(wr&&typeof wr.getRandomValues=="function")return wr.getRandomValues(new Uint8Array(r));if(wr&&typeof wr.randomBytes=="function")return wr.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}const dl=[],pl=[],fl=[],ef=BigInt(0),si=BigInt(1),tf=BigInt(2),rf=BigInt(7),sf=BigInt(256),nf=BigInt(113);for(let r=0,e=si,t=1,i=0;r<24;r++){[t,i]=[i,(2*t+3*i)%5],dl.push(2*(5*i+t)),pl.push((r+1)*(r+2)/2%64);let s=ef;for(let n=0;n<7;n++)e=(e<<si^(e>>rf)*nf)%sf,e&tf&&(s^=si<<(si<<BigInt(n))-si);fl.push(s)}const[of,af]=Hp(fl,!0),ba=(r,e,t)=>t>32?Wp(r,e,t):Vp(r,e,t),va=(r,e,t)=>t>32?Gp(r,e,t):Kp(r,e,t);function cf(r,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,u=t[c],l=t[c+1],h=ba(u,l,1)^t[a],d=va(u,l,1)^t[a+1];for(let f=0;f<50;f+=10)r[o+f]^=h,r[o+f+1]^=d}let s=r[2],n=r[3];for(let o=0;o<24;o++){const a=pl[o],c=ba(s,n,a),u=va(s,n,a),l=dl[o];s=r[l],n=r[l+1],r[l]=c,r[l+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=of[i],r[1]^=af[i]}t.fill(0)}class _o extends Qp{constructor(e,t,i,s=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=s,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,us(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Yp(this.state)}keccak(){ma||wa(this.state32),cf(this.state32,this.rounds),ma||wa(this.state32),this.posOut=0,this.pos=0}update(e){ga(this);const{blockLen:t,state:i}=this;e=hl(e);const s=e.length;for(let n=0;n<s;){const o=Math.min(t-this.pos,s-n);for(let a=0;a<o;a++)i[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:s}=this;e[i]^=t,(t&128)!==0&&i===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){ga(this,!1),_s(e),this.finish();const t=this.state,{blockLen:i}=this;for(let s=0,n=e.length;s<n;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,n-s);e.set(t.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return us(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(Mp(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:i,outputLen:s,rounds:n,enableXOF:o}=this;return e||(e=new _o(t,i,s,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=i,e.outputLen=s,e.enableXOF=o,e.destroyed=this.destroyed,e}}const uf=(r,e,t)=>Xp(()=>new _o(e,r,t)),lf=uf(1,136,256/8);function gl(r,e){const t=e||"hex",i=lf(Ei(r,{strict:!1})?Fp(r):r);return t==="bytes"?i:Nn(i)}class hf extends Map{constructor(e){super(),Object.defineProperty(this,"maxSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.maxSize=e}get(e){const t=super.get(e);return super.has(e)&&t!==void 0&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const i=this.keys().next().value;i&&this.delete(i)}return this}}const Ws=new hf(8192);function df(r,e){if(Ws.has(`${r}.${e}`))return Ws.get(`${r}.${e}`);const t=r.substring(2).toLowerCase(),i=gl(ll(t),"bytes"),s=t.split("");for(let o=0;o<40;o+=2)i[o>>1]>>4>=8&&s[o]&&(s[o]=s[o].toUpperCase()),(i[o>>1]&15)>=8&&s[o+1]&&(s[o+1]=s[o+1].toUpperCase());const n=`0x${s.join("")}`;return Ws.set(`${r}.${e}`,n),n}function pf(r){const e=gl(`0x${r.substring(4)}`).substring(26);return df(`0x${e}`)}async function ff({hash:r,signature:e}){const t=Ei(r)?r:Nn(r),{secp256k1:i}=await el(async()=>{const{secp256k1:o}=await import("./secp256k1-CuDYT-hq.js");return{secp256k1:o}},__vite__mapDeps([0,1,2,3,4]));return`0x${(()=>{if(typeof e=="object"&&"r"in e&&"s"in e){const{r:u,s:l,v:h,yParity:d}=e,f=Number(d??h),p=Ea(f);return new i.Signature(Rn(u),Rn(l)).addRecoveryBit(p)}const o=Ei(e)?e:Nn(e),a=Tp(`0x${o.slice(130)}`),c=Ea(a);return i.Signature.fromCompact(o.substring(2,130)).addRecoveryBit(c)})().recoverPublicKey(t.substring(2)).toHex(!1)}`}function Ea(r){if(r===0||r===1)return r;if(r===27)return 0;if(r===28)return 1;throw new Error("Invalid yParityOrV value")}async function gf({hash:r,signature:e}){return pf(await ff({hash:r,signature:e}))}function yf(r){if(r.length>=255)throw new TypeError("Alphabet too long");const e=new Uint8Array(256);for(let u=0;u<e.length;u++)e[u]=255;for(let u=0;u<r.length;u++){const l=r.charAt(u),h=l.charCodeAt(0);if(e[h]!==255)throw new TypeError(l+" is ambiguous");e[h]=u}const t=r.length,i=r.charAt(0),s=Math.log(t)/Math.log(256),n=Math.log(256)/Math.log(t);function o(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(u.length===0)return"";let l=0,h=0,d=0;const f=u.length;for(;d!==f&&u[d]===0;)d++,l++;const p=(f-d)*n+1>>>0,g=new Uint8Array(p);for(;d!==f;){let b=u[d],E=0;for(let A=p-1;(b!==0||E<h)&&A!==-1;A--,E++)b+=256*g[A]>>>
vendor: 6,755 bytes, line 3
30,g[A]=b%t>>>0,b=b/t>>>0;if(b!==0)throw new Error("Non-zero carry");h=E,d++}let w=p-h;for(;w!==p&&g[w]===0;)w++;let _=i.repeat(l);for(;w<p;++w)_+=r.charAt(g[w]);return _}function a(u){if(typeof u!="string")throw new TypeError("Expected String");if(u.length===0)return new Uint8Array;let l=0,h=0,d=0;for(;u[l]===i;)h++,l++;const f=(u.length-l)*s+1>>>0,p=new Uint8Array(f);for(;l<u.length;){const b=u.charCodeAt(l);if(b>255)return;let E=e[b];if(E===255)return;let A=0;for(let T=f-1;(E!==0||A<d)&&T!==-1;T--,A++)E+=t*p[T]>>>0,p[T]=E%256>>>0,E=E/256>>>0;if(E!==0)throw new Error("Non-zero carry");d=A,l++}let g=f-d;for(;g!==f&&p[g]===0;)g++;const w=new Uint8Array(h+(f-g));let _=h;for(;g!==f;)w[_++]=p[g++];return w}function c(u){const l=a(u);if(l)return l;throw new Error("Non-base"+t+" character")}return{encode:o,decodeUnsafe:a,decode:c}}var mf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";const wf=yf(mf),bf=r=>JSON.stringify(r,(e,t)=>typeof t=="bigint"?t.toString()+"n":t),vf=r=>{const e=/([\[:])?(\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,t=r.replace(e,'$1"$2n"$3');return JSON.parse(t,(i,s)=>typeof s=="string"&&s.match(/^\d+n$/)?BigInt(s.substring(0,s.length-1)):s)};function cr(r){if(typeof r!="string")throw new Error(`Cannot safe json parse value of type ${typeof r}`);try{return vf(r)}catch{return r}}function Bt(r){return typeof r=="string"?r:bf(r)||""}function Ef(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function yl(r,...e){if(!Ef(r))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(r.length))throw new Error("Uint8Array expected of length "+e+", got length="+r.length)}function _a(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function _f(r,e){yl(r);const t=e.outputLen;if(r.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const br=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;const Gs=r=>new DataView(r.buffer,r.byteOffset,r.byteLength);function If(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function ml(r){return typeof r=="string"&&(r=If(r)),yl(r),r}let Df=class{clone(){return this._cloneInto()}};function Sf(r){const e=i=>r().update(ml(i)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function wl(r=32){if(br&&typeof br.getRandomValues=="function")return br.getRandomValues(new Uint8Array(r));if(br&&typeof br.randomBytes=="function")return br.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function Of(r,e,t,i){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,i);const s=BigInt(32),n=BigInt(4294967295),o=Number(t>>s&n),a=Number(t&n),c=i?4:0,u=i?0:4;r.setUint32(e+c,o,i),r.setUint32(e+u,a,i)}let Pf=class extends Df{constructor(e,t,i,s){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Gs(this.buffer)}update(e){_a(this);const{view:t,buffer:i,blockLen:s}=this;e=ml(e);const n=e.length;for(let o=0;o<n;){const a=Math.min(s-this.pos,n-o);if(a===s){const c=Gs(e);for(;s<=n-o;o+=s)this.process(c,o);continue}i.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){_a(this),_f(e,this),this.finished=!0;const{buffer:t,view:i,blockLen:s,isLE:n}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(i,0),o=0);for(let h=o;h<s;h++)t[h]=0;Of(i,s-8,BigInt(this.length*8),n),this.process(i,0);const a=Gs(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<u;h++)a.setUint32(4*h,l[h],n)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:i,length:s,finished:n,destroyed:o,pos:a}=this;return e.length=s,e.pos=a,e.finished=n,e.destroyed=o,s%t&&e.buffer.set(i),e}};const Li=BigInt(2**32-1),jn=BigInt(32);function bl(r,e=!1){return e?{h:Number(r&Li),l:Number(r>>jn&Li)}:{h:Number(r>>jn&Li)|0,l:Number(r&Li)|0}}function $f(r,e=!1){let t=new Uint32Array(r.length),i=new Uint32Array(r.length);for(let s=0;s<r.length;s++){const{h:n,l:o}=bl(r[s],e);[t[s],i[s]]=[n,o]}return[t,i]}const Af=(r,e)=>BigInt(r>>>0)<<jn|BigInt(e>>>0),xf=(r,e,t)=>r>>>t,Cf=(r,e,t)=>r<<32-t|e>>>t,Tf=(r,e,t)=>r>>>t|e<<32-t,Rf=(r,e,t)=>r<<32-t|e>>>t,Nf=(r,e,t)=>r<<64-t|e>>>t-32,jf=(r,e,t)=>r>>>t-32|e<<64-t,Bf=(r,e)=>e,Uf=(r,e)=>r,Ff=(r,e,t)=>r<<t|e>>>32-t,qf=(r,e,t)=>e<<t|r>>>32-t,Lf=(r,e,t)=>e<<t-32|r>>>64-t,kf=(r,e,t)=>r<<t-32|e>>>64-t;function Mf(r,e,t,i){const s=(e>>>0)+(i>>>0);return{h:r+t+(s/2**32|0)|0,l:s|0}}const zf=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),Hf=(r,e,t,i)=>e+t+i+(r/2**32|0)|0,Vf=(r,e,t,i)=>(r>>>0)+(e>>>0)+(t>>>0)+(i>>>0),Kf=(r,e,t,i,s)=>e+t+i+s+(r/2**32|0)|0,Wf=(r,e,t,i,s)=>(r>>>0)+(e>>>0)+(t>>>0)+(i>>>0)+(s>>>0),Gf=(r,e,t,i,s,n)=>e+t+i+s+n+(r/2**32|0)|0,K={fromBig:bl,split:$f,toBig:Af,shrSH:xf,shrSL:Cf,rotrSH:Tf,rotrSL:Rf,rotrBH:Nf,rotrBL:jf,rotr32H:Bf,rotr32L:Uf,rotlSH:Ff,rotlSL:qf,rotlBH:Lf,rotlBL:kf,add:Mf,add3L:zf,add3H:Hf,add4L:Vf,add4H:Kf,add5H:Gf,add5L:Wf},[Yf,Jf]=K.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
35771202a","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(r=>BigInt(r))),Ut=new Uint32Array(80),Ft=new Uint32Array(80);let Zf=class extends Pf{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(){const{Ah:e,Al:t,Bh:i,Bl:s,Ch:n,Cl:o,Dh:a,Dl:c,Eh:u,El:l,Fh:h,Fl:d,Gh:f,Gl:p,Hh:g,Hl:w}=this;return[e,t,i,s,n,o,a,c,u,l,h,d,f,p,g,w]}set(e,t,i,s,n,o,a,c,u,l,h,d,f,p,g,w){this.Ah=e|0,this.Al=t|0,this.Bh=i|0,this.Bl=s|0,this.Ch=n|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=h|0,this.Fl=d|0,this.Gh=f|0,this.Gl=p|0,this.Hh=g|0,this.Hl=w|0}process(e,t){for(let E=0;E<16;E++,t+=4)Ut[E]=e.getUint32(t),Ft[E]=e.getUint32(t+=4);for(let E=16;E<80;E++){const A=Ut[E-15]|0,T=Ft[E-15]|0,v=K.rotrSH(A,T,1)^K.rotrSH(A,T,8)^K.shrSH(A,T,7),I=K.rotrSL(A,T,1)^K.rotrSL(A,T,8)^K.shrSL(A,T,7),P=Ut[E-2]|0,S=Ft[E-2]|0,j=K.rotrSH(P,S,19)^K.rotrBH(P,S,61)^K.shrSH(P,S,6),N=K.rotrSL(P,S,19)^K.rotrBL(P,S,61)^K.shrSL(P,S,6),B=K.add4L(I,N,Ft[E-7],Ft[E-16]),M=K.add4H(B,v,j,Ut[E-7],Ut[E-16]);Ut[E]=M|0,Ft[E]=B|0}let{Ah:i,Al:s,Bh:n,Bl:o,Ch:a,Cl:c,Dh:u,Dl:l,Eh:h,El:d,Fh:f,Fl:p,Gh:g,Gl:w,Hh:_,Hl:b}=this;for(let E=0;E<80;E++){const A=K.rotrSH(h,d,14)^K.rotrSH(h,d,18)^K.rotrBH(h,d,41),T=K.rotrSL(h,d,14)^K.rotrSL(h,d,18)^K.rotrBL(h,d,41),v=h&f^~h&g,I=d&p^~d&w,P=K.add5L(b,T,I,Jf[E],Ft[E]),S=K.add5H(P,_,A,v,Yf[E],Ut[E]),j=P|0,N=K.rotrSH(i,s,28)^K.rotrBH(i,s,34)^K.rotrBH(i,s,39),B=K.rotrSL(i,s,28)^K.rotrBL(i,s,34)^K.rotrBL(i,s,39),M=i&n^i&a^n&a,$=s&o^s&c^o&c;_=g|0,b=w|0,g=f|0,w=p|0,f=h|0,p=d|0,{h,l:d}=K.add(u|0,l|0,S|0,j|0),u=a|0,l=c|0,a=n|0,c=o|0,n=i|0,o=s|0;const y=K.add3L(j,B,$);i=K.add3H(y,S,N,M),s=y|0}({h:i,l:s}=K.add(this.Ah|0,this.Al|0,i|0,s|0)),{h:n,l:o}=K.add(this.Bh|0,this.Bl|0,n|0,o|0),{h:a,l:c}=K.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=K.add(this.Dh|0,this.Dl|0,u|0,l|0),{h,l:d}=K.add(this.Eh|0,this.El|0,h|0,d|0),{h:f,l:p}=K.add(this.Fh|0,this.Fl|0,f|0,p|0),{h:g,l:w}=K.add(this.Gh|0,this.Gl|0,g|0,w|0),{h:_,l:b}=K.add(this.Hh|0,this.Hl|0,_|0,b|0),this.set(i,s,n,o,a,c,u,l,h,d,f,p,g,w,_,b)}roundClean(){Ut.fill(0),Ft.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)}};const Qf=Sf(()=>new Zf);const Io=BigInt(0),vl=BigInt(1),Xf=BigInt(2);function Do(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function So(r){if(!Do(r))throw new Error("Uint8Array expected")}function Ys(r,e){if(typeof e!="boolean")throw new Error(r+" boolean expected, got "+e)}const eg=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function Oo(r){So(r);let e="";for(let t=0;t<r.length;t++)e+=eg[r[t]];return e}function El(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?Io:BigInt("0x"+r)}const St={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ia(r){if(r>=St._0&&r<=St._9)return r-St._0;if(r>=St.A&&r<=St.F)return r-(St.A-10);if(r>=St.a&&r<=St.f)return r-(St.a-10)}function _l(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);const e=r.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(t);for(let s=0,n=0;s<t;s++,n+=2){const o=Ia(r.charCodeAt(n)),a=Ia(r.charCodeAt(n+1));if(o===void 0||a===void 0){const c=r[n]+r[n+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+n)}i[s]=o*16+a}return i}function tg(r){return El(Oo(r))}function rs(r){return So(r),El(Oo(Uint8Array.from(r).reverse()))}function Il(r,e){return _l(r.toString(16).padStart(e*2,"0"))}function Bn(r,e){return Il(r,e).reverse()}function Ot(r,e,t){let i;if(typeof e=="string")try{i=_l(e)}catch(n){throw new Error(r+" must be hex string or Uint8Array, cause: "+n)}else if(Do(e))i=Uint8Array.from(e);else throw new Error(r+" must be hex string or Uint8Array");const s=i.length;if(typeof t=="number"&&s!==t)throw new Error(r+" of length "+t+" expected, got "+s);return i}function Da(...r){let e=0;for(let i=0;i<r.length;i++){const s=r[i];So(s),e+=s.length}const t=new Uint8Array(e);for(let i=0,s=0;i<r.length;i++){const n=r[i];t.set(n,s),s+=n.length}return t}const Js=r=>typeof r=="bigint"&&Io<=r;function rg(r,e,t){return Js(r)&&Js(e)&&Js(t)&&e<=r&&r<t}function ni(r,e,t,i){if(!rg(e,t,i))throw new Error("expected valid "+r+": "+t+" <= n < "+i+", got "+e)}function ig(r){let e;for(e=0;r>Io;r>>=vl,e+=1);return e}const sg=r=>(Xf<<BigInt(r-1))-vl,ng={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Do(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Po(r,e,t={}){const i=(s,n,o)=>{const a=ng[n];if(typeof a!="function")throw new Error("invalid validator function");const c=r[s];if(!(o&&c===void 0)&&!a(c,r))throw new Error("param "+String(s)+" is invali
3d. Expected "+n+", got "+c)};for(const[s,n]of Object.entries(e))i(s,n,!1);for(const[s,n]of Object.entries(t))i(s,n,!0);return r}function Sa(r){const e=new WeakMap;return(t,...i)=>{const s=e.get(t);if(s!==void 0)return s;const n=r(t,...i);return e.set(t,n),n}}const be=BigInt(0),ce=BigInt(1),er=BigInt(2),og=BigInt(3),Un=BigInt(4),Oa=BigInt(5),Pa=BigInt(8);function pe(r,e){const t=r%e;return t>=be?t:e+t}function ag(r,e,t){if(e<be)throw new Error("invalid exponent, negatives unsupported");if(t<=be)throw new Error("invalid modulus");if(t===ce)return be;let i=ce;for(;e>be;)e&ce&&(i=i*r%t),r=r*r%t,e>>=ce;return i}function dt(r,e,t){let i=r;for(;e-- >be;)i*=i,i%=t;return i}function $a(r,e){if(r===be)throw new Error("invert: expected non-zero number");if(e<=be)throw new Error("invert: expected positive modulus, got "+e);let t=pe(r,e),i=e,s=be,n=ce;for(;t!==be;){const o=i/t,a=i%t,c=s-n*o;i=t,t=a,s=n,n=c}if(i!==ce)throw new Error("invert: does not exist");return pe(s,e)}function cg(r){const e=(r-ce)/er;let t,i,s;for(t=r-ce,i=0;t%er===be;t/=er,i++);for(s=er;s<r&&ag(s,e,r)!==r-ce;s++)if(s>1e3)throw new Error("Cannot find square root: likely non-prime P");if(i===1){const o=(r+ce)/Un;return function(a,c){const u=a.pow(c,o);if(!a.eql(a.sqr(u),c))throw new Error("Cannot find square root");return u}}const n=(t+ce)/er;return function(o,a){if(o.pow(a,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let c=i,u=o.pow(o.mul(o.ONE,s),t),l=o.pow(a,n),h=o.pow(a,t);for(;!o.eql(h,o.ONE);){if(o.eql(h,o.ZERO))return o.ZERO;let d=1;for(let p=o.sqr(h);d<c&&!o.eql(p,o.ONE);d++)p=o.sqr(p);const f=o.pow(u,ce<<BigInt(c-d-1));u=o.sqr(f),l=o.mul(l,f),h=o.mul(h,u),c=d}return l}}function ug(r){if(r%Un===og){const e=(r+ce)/Un;return function(t,i){const s=t.pow(i,e);if(!t.eql(t.sqr(s),i))throw new Error("Cannot find square root");return s}}if(r%Pa===Oa){const e=(r-Oa)/Pa;return function(t,i){const s=t.mul(i,er),n=t.pow(s,e),o=t.mul(i,n),a=t.mul(t.mul(o,er),n),c=t.mul(o,t.sub(a,t.ONE));if(!t.eql(t.sqr(c),i))throw new Error("Cannot find square root");return c}}return cg(r)}const lg=(r,e)=>(pe(r,e)&ce)===ce,hg=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function dg(r){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=hg.reduce((i,s)=>(i[s]="function",i),e);return Po(r,t)}function pg(r,e,t){if(t<be)throw new Error("invalid exponent, negatives unsupported");if(t===be)return r.ONE;if(t===ce)return e;let i=r.ONE,s=e;for(;t>be;)t&ce&&(i=r.mul(i,s)),s=r.sqr(s),t>>=ce;return i}function fg(r,e){const t=new Array(e.length),i=e.reduce((n,o,a)=>r.is0(o)?n:(t[a]=n,r.mul(n,o)),r.ONE),s=r.inv(i);return e.reduceRight((n,o,a)=>r.is0(o)?n:(t[a]=r.mul(n,t[a]),r.mul(n,o)),s),t}function Dl(r,e){const t=e!==void 0?e:r.toString(2).length,i=Math.ceil(t/8);return{nBitLength:t,nByteLength:i}}function Sl(r,e,t=!1,i={}){if(r<=be)throw new Error("invalid field: expected ORDER > 0, got "+r);const{nBitLength:s,nByteLength:n}=Dl(r,e);if(n>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:r,isLE:t,BITS:s,BYTES:n,MASK:sg(s),ZERO:be,ONE:ce,create:c=>pe(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return be<=c&&c<r},is0:c=>c===be,isOdd:c=>(c&ce)===ce,neg:c=>pe(-c,r),eql:(c,u)=>c===u,sqr:c=>pe(c*c,r),add:(c,u)=>pe(c+u,r),sub:(c,u)=>pe(c-u,r),mul:(c,u)=>pe(c*u,r),pow:(c,u)=>pg(a,c,u),div:(c,u)=>pe(c*$a(u,r),r),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>$a(c,r),sqrt:i.sqrt||(c=>(o||(o=ug(r)),o(a,c))),invertBatch:c=>fg(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>t?Bn(c,n):Il(c,n),fromBytes:c=>{if(c.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+c.length);return t?rs(c):tg(c)}});return Object.freeze(a)}const Aa=BigInt(0),ki=BigInt(1);function Zs(r,e){const t=e.negate();return r?t:e}function Ol(r,e){if(!Number.isSafeInteger(r)||r<=0||r>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+r)}function Qs(r,e){Ol(r,e);const t=Math.ceil(e/r)+1,i=2**(r-1);return{windows:t,windowSize:i}}function gg(r,e){if(!Array.isArray(r))throw new Error("array expected");r.forEach((t,i)=>{if(!(t instanceof e))throw new Error("invalid point at index "+i)})}function yg(r,e){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((t,i)=>{if(!e.isValid(t))throw new Error("invalid scalar at index "+i)})}const Xs=new WeakMap,Pl=new WeakMap;function en(r){return Pl.get(r)||1}function mg(r,e){return{constTimeNegate:Zs,hasPrecomputes(t){return en(t)!==1},unsafeLadder(t,i,s=r.ZERO){let n=t;for(;i>Aa;)i&ki&&(s=s.add(n)),n=n.double(),i>>=ki;return s},precomputeWindow(t,i){const{windows:s,windowSize:n}=Qs(i,e),o=[];let a=t,c=a;for(let u=0;u<s;u++){c=a,o.push(c);for(let l=1;l<n;l++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(t,i,s){const{windows:n,windowSize:o}=Qs(t,e);let a=r.ZERO,c=r.BASE;const u=BigInt(2**t-1),l=2**t,h=BigInt(t);for(let d=0;d<n;d++){const f=d*o;let p=Number(s&u);s>>=h,p>o&&(p-=l,s+=ki);
vendor: 15,317 bytes, line 3
3const g=f,w=f+Math.abs(p)-1,_=d%2!==0,b=p<0;p===0?c=c.add(Zs(_,i[g])):a=a.add(Zs(b,i[w]))}return{p:a,f:c}},wNAFUnsafe(t,i,s,n=r.ZERO){const{windows:o,windowSize:a}=Qs(t,e),c=BigInt(2**t-1),u=2**t,l=BigInt(t);for(let h=0;h<o;h++){const d=h*a;if(s===Aa)break;let f=Number(s&c);if(s>>=l,f>a&&(f-=u,s+=ki),f===0)continue;let p=i[d+Math.abs(f)-1];f<0&&(p=p.negate()),n=n.add(p)}return n},getPrecomputes(t,i,s){let n=Xs.get(i);return n||(n=this.precomputeWindow(i,t),t!==1&&Xs.set(i,s(n))),n},wNAFCached(t,i,s){const n=en(t);return this.wNAF(n,this.getPrecomputes(n,t,s),i)},wNAFCachedUnsafe(t,i,s,n){const o=en(t);return o===1?this.unsafeLadder(t,i,n):this.wNAFUnsafe(o,this.getPrecomputes(o,t,s),i,n)},setWindowSize(t,i){Ol(i,e),Pl.set(t,i),Xs.delete(t)}}}function wg(r,e,t,i){if(gg(t,r),yg(i,e),t.length!==i.length)throw new Error("arrays of points and scalars must have equal length");const s=r.ZERO,n=ig(BigInt(t.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=new Array(a+1).fill(s),u=Math.floor((e.BITS-1)/o)*o;let l=s;for(let h=u;h>=0;h-=o){c.fill(s);for(let f=0;f<i.length;f++){const p=i[f],g=Number(p>>BigInt(h)&BigInt(a));c[g]=c[g].add(t[f])}let d=s;for(let f=c.length-1,p=s;f>0;f--)p=p.add(c[f]),d=d.add(p);if(l=l.add(d),h!==0)for(let f=0;f<o;f++)l=l.double()}return l}function bg(r){return dg(r.Fp),Po(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Dl(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}const st=BigInt(0),je=BigInt(1),Mi=BigInt(2),vg=BigInt(8),Eg={zip215:!0};function _g(r){const e=bg(r);return Po(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Ig(r){const e=_g(r),{Fp:t,n:i,prehash:s,hash:n,randomBytes:o,nByteLength:a,h:c}=e,u=Mi<<BigInt(a*8)-je,l=t.create,h=Sl(e.n,e.nBitLength),d=e.uvRatio||((y,m)=>{try{return{isValid:!0,value:t.sqrt(y*t.inv(m))}}catch{return{isValid:!1,value:st}}}),f=e.adjustScalarBytes||(y=>y),p=e.domain||((y,m,D)=>{if(Ys("phflag",D),m.length||D)throw new Error("Contexts/pre-hash are not supported");return y});function g(y,m){ni("coordinate "+y,m,st,u)}function w(y){if(!(y instanceof E))throw new Error("ExtendedPoint expected")}const _=Sa((y,m)=>{const{ex:D,ey:x,ez:O}=y,C=y.is0();m==null&&(m=C?vg:t.inv(O));const q=l(D*m),k=l(x*m),z=l(O*m);if(C)return{x:st,y:je};if(z!==je)throw new Error("invZ was invalid");return{x:q,y:k}}),b=Sa(y=>{const{a:m,d:D}=e;if(y.is0())throw new Error("bad point: ZERO");const{ex:x,ey:O,ez:C,et:q}=y,k=l(x*x),z=l(O*O),L=l(C*C),H=l(L*L),V=l(k*m),ne=l(L*l(V+z)),ee=l(H+l(D*l(k*z)));if(ne!==ee)throw new Error("bad point: equation left != right (1)");const Y=l(x*O),Ae=l(C*q);if(Y!==Ae)throw new Error("bad point: equation left != right (2)");return!0});class E{constructor(m,D,x,O){this.ex=m,this.ey=D,this.ez=x,this.et=O,g("x",m),g("y",D),g("z",x),g("t",O),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(m){if(m instanceof E)throw new Error("extended point not allowed");const{x:D,y:x}=m||{};return g("x",D),g("y",x),new E(D,x,je,l(D*x))}static normalizeZ(m){const D=t.invertBatch(m.map(x=>x.ez));return m.map((x,O)=>x.toAffine(D[O])).map(E.fromAffine)}static msm(m,D){return wg(E,h,m,D)}_setWindowSize(m){v.setWindowSize(this,m)}assertValidity(){b(this)}equals(m){w(m);const{ex:D,ey:x,ez:O}=this,{ex:C,ey:q,ez:k}=m,z=l(D*k),L=l(C*O),H=l(x*k),V=l(q*O);return z===L&&H===V}is0(){return this.equals(E.ZERO)}negate(){return new E(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){const{a:m}=e,{ex:D,ey:x,ez:O}=this,C=l(D*D),q=l(x*x),k=l(Mi*l(O*O)),z=l(m*C),L=D+x,H=l(l(L*L)-C-q),V=z+q,ne=V-k,ee=z-q,Y=l(H*ne),Ae=l(V*ee),Ee=l(H*ee),Ce=l(ne*V);return new E(Y,Ae,Ce,Ee)}add(m){w(m);const{a:D,d:x}=e,{ex:O,ey:C,ez:q,et:k}=this,{ex:z,ey:L,ez:H,et:V}=m;if(D===BigInt(-1)){const Ho=l((C-O)*(L+z)),Vo=l((C+O)*(L-z)),Ls=l(Vo-Ho);if(Ls===st)return this.double();const Ko=l(q*Mi*V),Wo=l(k*Mi*H),Go=Wo+Ko,Yo=Vo+Ho,Jo=Wo-Ko,Pd=l(Go*Ls),$d=l(Yo*Jo),Ad=l(Go*Jo),xd=l(Ls*Yo);return new E(Pd,$d,xd,Ad)}const ne=l(O*z),ee=l(C*L),Y=l(k*x*V),Ae=l(q*H),Ee=l((O+C)*(z+L)-ne-ee),Ce=Ae-Y,Je=Ae+Y,It=l(ee-D*ne),yr=l(Ee*Ce),Dd=l(Je*It),Sd=l(Ee*It),Od=l(Ce*Je);return new E(yr,Dd,Od,Sd)}subtract(m){return this.add(m.negate())}wNAF(m){return v.wNAFCached(this,m,E.normalizeZ)}multiply(m){const D=m;ni("scalar",D,je,i);const{p:x,f:O}=this.wNAF(D);return E.normalizeZ([x,O])[0]}multiplyUnsafe(m,D=E.ZERO){const x=m;return ni("scalar",x,st,i),x===st?T:this.is0()||x===je?this:v.wNAFCachedUnsafe(this,x,E.normalizeZ,D)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return v.unsafeLadder(this,i).is0()}toAffine(m){return _(this,m)}clearCofactor(){const{h:m}=e;return m===je?this:this.multiplyUnsafe(m)}static fromHex(m,D=!1){const{d:x,a:O}=e,C=t.BYTES;m=Ot("pointHex",m,C),Ys("zip215",D);const q=m.slice(),k=m[C-1];q[C-1]=k&-129;const z=rs(q),L=D?u:t.ORDER;ni("pointHex.y",z,st,L);const H=l(z*z),V=l(H-je),ne=l(x*H-O);let{isValid:ee,value:Y}=d(V,ne);if(!ee)throw new Error("Point.fromHex: invalid y coordinate");const Ae=(Y&je)===je,Ee=(k&128)!==0;if(!D&&Y===st&&Ee)throw new Error("Point.fromHex: x=0 and x_0=1");return Ee!==Ae&&(Y=l(-Y)),E.fromAffine({x:Y,y:z})}static fromPrivateKey(m){return S(m).point}toRawBytes(){const{x:m,y:D}=this.toAffine(),x=Bn(D,t.BYTES);return x[x.length-1]|=m&je?128:0,x}toHex(){return Oo(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,je,l(e.Gx*e.Gy)),E.ZERO=new E(st,je,je,st);const{BASE:A,ZERO:T}=E,v=mg(E,a*8);function I(y){return pe(y,i)}function P(y){return I(rs(y))}function S(y){const m=t.BYTES;y=Ot("private key",y,m);const D=Ot("hashed private key",n(y),2*m),x=f(D.slice(0,m)),O=D.slice(m,2*m),C=P(x),q=A.multiply(C),k=q.toRawBytes();return{head:x,prefix:O,scalar:C,point:q,pointBytes:k}}function j(y){return S(y).pointBytes}function N(y=new Uint8Array,...m){const D=Da(...m);return P(n(p(D,Ot("context",y),!!s)))}function B(y,m,D={}){y=Ot("message",y),s&&(y=s(y));const{prefix:x,scalar:O,pointBytes:C}=S(m),q=N(D.context,x,y),k=A.multiply(q).toRawBytes(),z=N(D.context,k,C,y),L=I(q+z*O);ni("signature.s",L,st,i);const H=Da(k,Bn(L,t.BYTES));return Ot("result",H,t.BYTES*2)}const M=Eg;function $(y,m,D,x=M){const{context:O,zip215:C}=x,q=t.BYTES;y=Ot("signature",y,2*q),m=Ot("message",m),D=Ot("publicKey",D,q),C!==void 0&&Ys("zip215",C),s&&(m=s(m));const k=rs(y.slice(q,2*q));let z,L,H;try{z=E.fromHex(D,C),L=E.fromHex(y.slice(0,q),C),H=A.multiplyUnsafe(k)}catch{return!1}if(!C&&z.isSmallOrder())return!1;const V=N(O,L.toRawBytes(),z.toRawBytes(),m);return L.add(z.multiplyUnsafe(V)).subtract(H).clearCofactor().equals(E.ZERO)}return A._setWindowSize(8),{CURVE:e,getPublicKey:j,sign:B,verify:$,ExtendedPoint:E,utils:{getExtendedPublicKey:S,randomPrivateKey:()=>o(t.BYTES),precompute(y=8,m=E.BASE){return m._setWindowSize(y),m.multiply(BigInt(3)),m}}}}BigInt(0),BigInt(1);const $o=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),xa=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);const Dg=BigInt(1),Ca=BigInt(2);BigInt(3);const Sg=BigInt(5),Og=BigInt(8);function Pg(r){const e=BigInt(10),t=BigInt(20),i=BigInt(40),s=BigInt(80),n=$o,o=r*r%n*r%n,a=dt(o,Ca,n)*o%n,c=dt(a,Dg,n)*r%n,u=dt(c,Sg,n)*c%n,l=dt(u,e,n)*u%n,h=dt(l,t,n)*l%n,d=dt(h,i,n)*h%n,f=dt(d,s,n)*d%n,p=dt(f,s,n)*d%n,g=dt(p,e,n)*u%n;return{pow_p_5_8:dt(g,Ca,n)*r%n,b2:o}}function $g(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Ag(r,e){const t=$o,i=pe(e*e*e,t),s=pe(i*i*e,t),n=Pg(r*s).pow_p_5_8;let o=pe(r*i*n,t);const a=pe(e*o*o,t),c=o,u=pe(o*xa,t),l=a===r,h=a===pe(-r,t),d=a===pe(-r*xa,t);return l&&(o=c),(h||d)&&(o=u),lg(o,t)&&(o=pe(-o,t)),{isValid:l||h,value:o}}const xg=Sl($o,void 0,!0),Cg={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:xg,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:Og,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Qf,randomBytes:wl,adjustScalarBytes:$g,uvRatio:Ag},$l=Ig(Cg),Tg="EdDSA",Rg="JWT",ls=".",Is="base64url",Al="utf8",xl="utf8",Ng=":",jg="did",Bg="key",Ta="base58btc",Ug="z",Fg="K36",qg=32;function Ao(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Cl(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?Ao(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Tl(r,e){e||(e=r.reduce((s,n)=>s+n.length,0));const t=Cl(e);let i=0;for(const s of r)t.set(s,i),i+=s.length;return Ao(t)}function Lg(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var s=0;s<r.length;s++){var n=r.charAt(s),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+" is ambiguous");t[o]=s}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function h(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var g=0,w=0,_=0,b=p.length;_!==b&&p[_]===0;)_++,g++;for(var E=(b-_)*l+1>>>0,A=new Uint8Array(E);_!==b;){for(var T=p[_],v=0,I=E-1;(T!==0||v<w)&&I!==-1;I--,v++)T+=256*A[I]>>>0,A[I]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");w=v,_++}for(var P=E-w;P!==E&&A[P]===0;)P++;for(var S=c.repeat(g);P<E;++P)S+=r.charAt(A[P]);return S}function d(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var g=0;if(p[g]!==" "){for(var w=0,_=0;p[g]===c;)w++,g++;for(var b=(p.length-g)*u+1>>>0,E=new Uint8Array(b);p[g];){var A=t[p.charCodeAt(g)];if(A===255)return;for(var T=0,v=b-1;(A!==0||T<_)&&v!==-1;v--,T++)A+=a*E[v]>>>0,E[v]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");_=T,g++}if(p[g]!==" "){for(var I=b-_;I!==b&&E[I]===0;)I++;for(var P=new Uint8Array(w+(b-I)),S=w;I!==b;)P[S++]=E[I++];return P}}}function f(p){var g=d(p);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:d,decode:f}}var kg=Lg,Mg=kg;const Rl=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},zg=r=>new TextEncoder().encode(r),Hg=r=>new TextDecoder().decode(r);let Vg=class{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Kg=class{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Nl(this,e)}},Wg=class{constructor(e){this.decoders=e}or(e){return Nl(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};const Nl=(r,e)=>new Wg({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});let Gg=class{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new Vg(e,t,i),this.decoder=new Kg(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};const Ds=({name:r,prefix:e,encode:t,decode:i})=>new Gg(r,e,t,i),$i=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:s}=Mg(t,e);return Ds({prefix:r,name:e,encode:i,decode:n=>Rl(s(n))})},Yg=(r,e,t,i)=>{const s={};for(let l=0;l<e.length;++l)s[e[l]]=l;let n=r.length;for(;r[n-1]==="=";)--n;const o=new Uint8Array(n*t/8|0);let a=0,c=0,u=0;for(let l=0;l<n;++l){const h=s[r[l]];if(h===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|h,a+=t,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},Jg=(r,e,t)=>{const i=e[e.length-1]==="=",s=(1<<t)-1;let n="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,n+=e[s&a>>o];if(o&&(n+=e[s&a<<t-o]),i)for(;n.length*t&7;)n+="=";return n},Oe=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Ds({prefix:e,name:r,encode(s){return Jg(s,i,t)},decode(s){return Yg(s,i,t,r)}}),Zg=Ds({prefix:"\0",name:"identity",encode:r=>Hg(r),decode:r=>zg(r)});var Qg=Object.freeze({__proto__:null,identity:Zg});const Xg=Oe({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ey=Object.freeze({__proto__:null,base2:Xg});const ty=Oe({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ry=Object.freeze({__proto__:null,base8:ty});const iy=$i({prefix:"9",name:"base10",alphabet:"0123456789"});var sy=Object.freeze({__proto__:null,base10:iy});const ny=Oe({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),oy=Oe({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ay=Object.freeze({__proto__:null,base16:ny,base16upper:oy});const cy=Oe({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),uy=Oe({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ly=Oe({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),hy=Oe({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),dy=Oe({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),py=Oe({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),fy=Oe({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),gy=Oe({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),yy=Oe({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var my=Object.freeze({__proto__:null,base32:cy,base32upper:uy,base32pad:ly,base32padupper:hy,base32hex:dy,base32hexupper:py,base32hexpad:fy,base32hexpadupper:gy,base32z:yy});const wy=$i({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),by=$i({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var vy=Object.freeze({__proto__:null,base36:wy,base36upper:by});const Ey=$i({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),_y=$i({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Iy=Object.freeze({__proto__:null,base58btc:Ey,base58flickr:_y});const Dy=Oe({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
3+/",bitsPerChar:6}),Sy=Oe({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Oy=Oe({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Py=Oe({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var $y=Object.freeze({__proto__:null,base64:Dy,base64pad:Sy,base64url:Oy,base64urlpad:Py});const jl=Array.from("ððªâð°ðððððððððððððâð»ð¥ð¾ð¿ðâ¤ðð¤£ððððððð
ððð¥ð¥°ðððð¢ð¤ðððªðâºðð¤ððððð¹ð¤¦ððââ¨ð¤·ð±ðð¸ððððððððð¤©ððð¤ðð¯ððð¶ðð¤â£ððððªðð¥ððð©ð¡ð¤ªðð¥³ð¥ð¤¤ððð³âððð´ðð¬ððð·ð»ðââ
ð¥ºððð¤ð¦âð£ððâ¹ððð âððºðð»ððððð¹ð£ð«ðððµð¤ðð´ð¤ð¼ð«â½ð¤âðð¤«ðð®ðð»ðð¶ðð²ð¿ð§¡ðâ¡ððââðð°ð¤¨ð¶ð¤ð¶ð°ðð¢ð¤ðð¨ð¨ð¤¬âððºð¤ððð±ðð¶ð¥´â¶â¡âðð¸â¬ð¨ðð¦ð·ðºâ ð
ððµðð¤²ð¤ ð¤§ððµð
ð§ð¾ððð¤ðð¤¯ð·âð§ð¯ððð¤ððâð´ð£ð¸ððð¥ð¤¢ð
ð¡ð©ðð¸ð»ð¤ð¤®ð¼ð¥µð©ððð¼ðð£ð¥"),Ay=jl.reduce((r,e,t)=>(r[t]=e,r),[]),xy=jl.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function Cy(r){return r.reduce((e,t)=>(e+=Ay[t],e),"")}function Ty(r){const e=[];for(const t of r){const i=xy[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const Ry=Ds({prefix:"ð",name:"base256emoji",encode:Cy,decode:Ty});var Ny=Object.freeze({__proto__:null,base256emoji:Ry}),jy=Bl,Ra=128,By=-128,Uy=Math.pow(2,31);function Bl(r,e,t){e=e||[],t=t||0;for(var i=t;r>=Uy;)e[t++]=r&255|Ra,r/=128;for(;r&By;)e[t++]=r&255|Ra,r>>>=7;return e[t]=r|0,Bl.bytes=t-i+1,e}var Fy=Fn,qy=128,Na=127;function Fn(r,i){var t=0,i=i||0,s=0,n=i,o,a=r.length;do{if(n>=a)throw Fn.bytes=0,new RangeError("Could not decode varint");o=r[n++],t+=s<28?(o&Na)<<s:(o&Na)*Math.pow(2,s),s+=7}while(o>=qy);return Fn.bytes=n-i,t}var Ly=Math.pow(2,7),ky=Math.pow(2,14),My=Math.pow(2,21),zy=Math.pow(2,28),Hy=Math.pow(2,35),Vy=Math.pow(2,42),Ky=Math.pow(2,49),Wy=Math.pow(2,56),Gy=Math.pow(2,63),Yy=function(r){return r<Ly?1:r<ky?2:r<My?3:r<zy?4:r<Hy?5:r<Vy?6:r<Ky?7:r<Wy?8:r<Gy?9:10},Jy={encode:jy,decode:Fy,encodingLength:Yy},Ul=Jy;const ja=(r,e,t=0)=>(Ul.encode(r,e,t),e),Ba=r=>Ul.encodingLength(r),qn=(r,e)=>{const t=e.byteLength,i=Ba(r),s=i+Ba(t),n=new Uint8Array(s+t);return ja(r,n,0),ja(t,n,i),n.set(e,s),new Zy(r,t,e,n)};let Zy=class{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}};const Fl=({name:r,code:e,encode:t})=>new Qy(r,e,t);let Qy=class{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?qn(this.code,t):t.then(i=>qn(this.code,i))}else throw Error("Unknown type, must be binary type")}};const ql=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),Xy=Fl({name:"sha2-256",code:18,encode:ql("SHA-256")}),em=Fl({name:"sha2-512",code:19,encode:ql("SHA-512")});var tm=Object.freeze({__proto__:null,sha256:Xy,sha512:em});const Ll=0,rm="identity",kl=Rl,im=r=>qn(Ll,kl(r)),sm={code:Ll,name:rm,encode:kl,digest:im};var nm=Object.freeze({__proto__:null,identity:sm});new TextEncoder,new TextDecoder;const Ua={...Qg,...ey,...ry,...sy,...ay,...my,...vy,...Iy,...$y,...Ny};({...tm,...nm});function Ml(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const Fa=Ml("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>
vendor: 4,455 bytes, line 3
3new TextEncoder().encode(r.substring(1))),tn=Ml("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=Cl(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),zl={utf8:Fa,"utf-8":Fa,hex:Ua.base16,latin1:tn,ascii:tn,binary:tn,...Ua};function Ss(r,e="utf8"){const t=zl[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}function Jr(r,e="utf8"){const t=zl[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ao(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}function qa(r){return cr(Ss(Jr(r,Is),Al))}function hs(r){return Ss(Jr(Bt(r),Al),Is)}function Hl(r){const e=Jr(Fg,Ta),t=Ug+Ss(Tl([e,r]),Ta);return[jg,Bg,t].join(Ng)}function om(r){return Ss(r,Is)}function am(r){return Jr(r,Is)}function cm(r){return Jr([hs(r.header),hs(r.payload)].join(ls),xl)}function um(r){return[hs(r.header),hs(r.payload),om(r.signature)].join(ls)}function Ln(r){const e=r.split(ls),t=qa(e[0]),i=qa(e[1]),s=am(e[2]),n=Jr(e.slice(0,2).join(ls),xl);return{header:t,payload:i,signature:s,data:n}}function La(r=wl(qg)){const e=$l.getPublicKey(r);return{secretKey:Tl([r,e]),publicKey:e}}async function lm(r,e,t,i,s=U.fromMiliseconds(Date.now())){const n={alg:Tg,typ:Rg},o=Hl(i.publicKey),a=s+t,c={iss:o,sub:r,aud:e,iat:s,exp:a},u=cm({header:n,payload:c}),l=$l.sign(u,i.secretKey.slice(0,32));return um({header:n,payload:c,signature:l})}function Vl(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function gi(r,e){e||(e=r.reduce((s,n)=>s+n.length,0));const t=Vl(e);let i=0;for(const s of r)t.set(s,i),i+=s.length;return t}function hm(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var s=0;s<r.length;s++){var n=r.charAt(s),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+" is ambiguous");t[o]=s}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function h(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var g=0,w=0,_=0,b=p.length;_!==b&&p[_]===0;)_++,g++;for(var E=(b-_)*l+1>>>0,A=new Uint8Array(E);_!==b;){for(var T=p[_],v=0,I=E-1;(T!==0||v<w)&&I!==-1;I--,v++)T+=256*A[I]>>>0,A[I]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");w=v,_++}for(var P=E-w;P!==E&&A[P]===0;)P++;for(var S=c.repeat(g);P<E;++P)S+=r.charAt(A[P]);return S}function d(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var g=0;if(p[g]!==" "){for(var w=0,_=0;p[g]===c;)w++,g++;for(var b=(p.length-g)*u+1>>>0,E=new Uint8Array(b);p[g];){var A=t[p.charCodeAt(g)];if(A===255)return;for(var T=0,v=b-1;(A!==0||T<_)&&v!==-1;v--,T++)A+=a*E[v]>>>0,E[v]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");_=T,g++}if(p[g]!==" "){for(var I=b-_;I!==b&&E[I]===0;)I++;for(var P=new Uint8Array(w+(b-I)),S=w;I!==b;)P[S++]=E[I++];return P}}}function f(p){var g=d(p);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:d,decode:f}}var dm=hm,pm=dm;const fm=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},gm=r=>new TextEncoder().encode(r),ym=r=>new TextDecoder().decode(r);class mm{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class wm{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name}
3 decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Kl(this,e)}}class bm{constructor(e){this.decoders=e}or(e){return Kl(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Kl=(r,e)=>new bm({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class vm{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new mm(e,t,i),this.decoder=new wm(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Os=({name:r,prefix:e,encode:t,decode:i})=>new vm(r,e,t,i),Ai=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:s}=pm(t,e);return Os({prefix:r,name:e,encode:i,decode:n=>fm(s(n))})},Em=(r,e,t,i)=>{const s={};for(let l=0;l<e.length;++l)s[e[l]]=l;let n=r.length;for(;r[n-1]==="=";)--n;const o=new Uint8Array(n*t/8|0);let a=0,c=0,u=0;for(let l=0;l<n;++l){const h=s[r[l]];if(h===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|h,a+=t,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},_m=(r,e,t)=>{const i=e[e.length-1]==="=",s=(1<<t)-1;let n="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,n+=e[s&a>>o];if(o&&(n+=e[s&a<<t-o]),i)for(;n.length*t&7;)n+="=";return n},Pe=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Os({prefix:e,name:r,encode(s){return _m(s,i,t)},decode(s){return Em(s,i,t,r)}}),Im=Os({prefix:"\0",name:"identity",encode:r=>ym(r),decode:r=>gm(r)}),Dm=Object.freeze(Object.defineProperty({__proto__:null,identity:Im},Symbol.toStringTag,{value:"Module"})),Sm=Pe({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),Om=Object.freeze(Object.defineProperty({__proto__:null,base2:Sm},Symbol.toStringTag,{value:"Module"})),Pm=Pe({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),$m=Object.freeze(Object.defineProperty({__proto__:null,base8:Pm},Symbol.toStringTag,{value:"Module"})),Am=Ai({prefix:"9",name:"base10",alphabet:"0123456789"}),xm=Object.freeze(Object.defineProperty({__proto__:null,base10:Am},Symbol.toStringTag,{value:"Module"})),Cm=Pe({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Tm=Pe({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),Rm=Object.freeze(Object.defineProperty({__proto__:null,base16:Cm,base16upper:Tm},Symbol.toStringTag,{value:"Module"})),Nm=Pe({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),jm=Pe({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Bm=Pe({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Um=Pe({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Fm=Pe({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),qm=Pe({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Lm=Pe({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),km=Pe({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Mm=Pe({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),zm=Object.freeze(Object.defineProperty({__proto__:null,base32:Nm,base32hex:Fm,base32hexpad:Lm,base32hexpadupper:km,base32hexupper:qm,base32pad:Bm,base32padupper:Um,base32upper:jm,base32z:Mm},Symbol.toStringTag,{value:"Module"})),Hm=Ai({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Vm=Ai({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),Km=Object.freeze(Object.defineProperty({__proto__:null,base36:Hm,base36upper:Vm},Symbol.toStringTag,{value:"Module"})),Wm=Ai({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Gm=Ai({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),Ym=Object.freeze(Object.defineProperty({__proto__:null,base58btc:Wm,base58flickr:Gm},Symbol.toStringTag,{value:"Module"})),Jm=Pe({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
3+/",bitsPerChar:6}),Zm=Pe({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Qm=Pe({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Xm=Pe({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),ew=Object.freeze(Object.defineProperty({__proto__:null,base64:Jm,base64pad:Zm,base64url:Qm,base64urlpad:Xm},Symbol.toStringTag,{value:"Module"})),Wl=Array.from("ððªâð°ðððððððððððððâð»ð¥ð¾ð¿ðâ¤ðð¤£ððððððð
ððð¥ð¥°ðððð¢ð¤ðððªðâºðð¤ððððð¹ð¤¦ððââ¨ð¤·ð±ðð¸ððððððððð¤©ððð¤ðð¯ððð¶ðð¤â£ððððªðð¥ððð©ð¡ð¤ªðð¥³ð¥ð¤¤ððð³âððð´ðð¬ððð·ð»ðââ
ð¥ºððð¤ð¦âð£ððâ¹ððð âððºðð»ððððð¹ð£ð«ðððµð¤ðð´ð¤ð¼ð«â½ð¤âðð¤«ðð®ðð»ðð¶ðð²ð¿ð§¡ðâ¡ððââðð°ð¤¨ð¶ð¤ð¶ð°ðð¢ð¤ðð¨ð¨ð¤¬âððºð¤ððð±ðð¶ð¥´â¶â¡âðð¸â¬ð¨ðð¦ð·ðºâ ð
ððµðð¤²ð¤ ð¤§ððµð
ð§ð¾ððð¤ðð¤¯ð·âð§ð¯ððð¤ððâð´ð£ð¸ððð¥ð¤¢ð
ð¡ð©ðð¸ð»ð¤ð¤®ð¼ð¥µð©ððð¼ðð£ð¥"),tw=Wl.reduce((r,e,t)=>(r[t]=e,r),[]),rw=Wl.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function iw(r){return r.reduce((e,t)=>(e+=tw[t],e),"")}function sw(r){const e=[];for(const t of r){const i=rw[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const nw=Os({prefix:"ð",name:"base256emoji",encode:iw,decode:sw}),ow=Object.freeze(Object.defineProperty({__proto__:null,base256emoji:nw},Symbol.toStringTag,{value:"Module"}));new TextEncoder;new TextDecoder;const ka={...Dm,...Om,...$m,...xm,...Rm,...zm,...Km,...Ym,...ew,...ow};function Gl(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const Ma=Gl("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>
vendor: 13,995 bytes, lines 3-4
3new TextEncoder().encode(r.substring(1))),rn=Gl("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=Vl(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),Yl={utf8:Ma,"utf-8":Ma,hex:ka.base16,latin1:rn,ascii:rn,binary:rn,...ka};function tt(r,e="utf8"){const t=Yl[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r,"utf8"):t.decoder.decode(`${t.prefix}${r}`)}function Le(r,e="utf8"){const t=Yl[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):t.encoder.encode(r).substring(1)}const aw={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"}};var cw={};const uw=":";function Lr(r){const[e,t]=r.split(uw);return{namespace:e,reference:t}}function za(r,e=[]){const t=[];return Object.keys(r).forEach(i=>{if(e.length&&!e.includes(i))return;const s=r[i];t.push(...s.accounts)}),t}function Jl(r,e){return r.includes(":")?[r]:e.chains||[]}var lw=Object.defineProperty,hw=Object.defineProperties,dw=Object.getOwnPropertyDescriptors,Ha=Object.getOwnPropertySymbols,pw=Object.prototype.hasOwnProperty,fw=Object.prototype.propertyIsEnumerable,Va=(r,e,t)=>e in r?lw(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ka=(r,e)=>{for(var t in e||(e={}))pw.call(e,t)&&Va(r,t,e[t]);if(Ha)for(var t of Ha(e))fw.call(e,t)&&Va(r,t,e[t]);return r},gw=(r,e)=>hw(r,dw(e));const yw="ReactNative",We={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},mw="js";function ds(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function Wt(){return!jt.getDocument()&&!!jt.getNavigator()&&navigator.product===yw}function ww(){return Wt()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="android"}function bw(){return Wt()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="ios"}function Zr(){return!ds()&&!!jt.getNavigator()&&!!jt.getDocument()}function xi(){return Wt()?We.reactNative:ds()?We.node:Zr()?We.browser:We.unknown}function Wa(){var r;try{return Wt()&&typeof global<"u"&&typeof(global==null?void 0:global.Application)<"u"?(r=global.Application)==null?void 0:r.applicationId:void 0}catch{return}}function vw(r,e){const t=new URLSearchParams(r);for(const i of Object.keys(e).sort())if(e.hasOwnProperty(i)){const s=e[i];s!==void 0&&t.set(i,s)}return t.toString()}function Ew(r){var e,t;const i=Zl();try{return r!=null&&r.url&&i.url&&new URL(r.url).host!==new URL(i.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${r.url} differs from the actual page url:${i.url}. This is probably unintended and can lead to issues.`),r.url=i.url),(e=r?.icons)!=null&&e.length&&r.icons.length>0&&(r.icons=r.icons.filter(s=>s!=="")),gw(Ka(Ka({},i),r),{url:r?.url||i.url,name:r?.name||i.name,description:r?.description||i.description,icons:(t=r?.icons)!=null&&t.length&&r.icons.length>0?r.icons:i.icons})}catch(s){return console.warn("Error populating app metadata",s),r||i}}function Zl(){return Pp.getWindowMetadata()||{name:"",description:"",url:"",icons:[""]}}function _w(){if(xi()===We.reactNative&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"){const{OS:t,Version:i}=global.Platform;return[t,i].join("-")}const r=Vd();if(r===null)return"unknown";const e=r.os?r.os.replace(" ","").toLowerCase():"unknown";return r.type==="browser"?[e,r.name,r.version].join("-"):[e,r.version].join("-")}function Iw(){var r;const e=xi();return e===We.browser?[e,((r=jt.getLocation())==null?void 0:r.host)||"unknown"].join(":"):e}function Ql(r,e,t){const i=_w(),s=Iw();return[[r,e].join("-"),[mw,t].join("-"),i,s].join("/")}function Dw({protocol:r,version:e,relayUrl:t,sdkVersion:i,auth:s,projectId:n,useOnCloseEvent:o,bundleId:a,packageName:c}){const u=t.split("?"),l=Ql(r,e,i),h={auth:s,ua:l,projectId:n,useOnCloseEvent:o,packageName:c||void 0,bundleId:a||void 0},d=vw(u[1]||"",h);return u[0]+"?"+d}function sr(r,e){return r.filter(t=>e.includes(t)).length===r.length}function kn(r){return Object.fromEntries(r.entries())}function Mn(r){return new Map(Object.entries(r))}function Qt(r=U.FIVE_MINUTES,e){const t=U.toMiliseconds(r||U.FIVE_MINUTES);let i,s,n,o;return{resolve:a=>{n&&i&&(clearTimeout(n),i(a),o=Promise.resolve(a))},reject:a=>{n&&s&&(clearTimeout(n),s(a))},done:()=>new Promise((a,c)=>{if(o)return a(o);n=setTimeout(()=>{const u=new Error(e);o=Promise.reject(u),c(u)},t),i=a,s=c})}}function zt(r,e,t){return new Promise(async(i,s)=>{const n=setTimeout(()=>s(new Error(t)),e);try{const o=await r;i(o)}catch(o){s(o)}clearTimeout(n)})}function Xl(r,e){if(typeof e=="string"&&e.startsWith(`${r}:`))return e;if(r.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(r.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${r}`)}function Sw(r){return Xl("topic",r)}function Ow(r){return Xl("id",r)}function eh(r){const[e,t]=r.split(":"),i={id:void 0,topic:void 0};if(e==="topic"&&typeof t=="string")i.topic=t;else if(e==="id"&&Number.isInteger(Number(t)))i.id=Number(t);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${t}`);return i}function de(r,e){return U.fromMiliseconds(Date.now()+U.toMiliseconds(r))}function kt(r){return Date.now()>=U.toMiliseconds(r)}function X(r,e){return`${r}${e?`:${e}`:""}`}function Et(r=[],e=[]){return[...new Set([...r,...e])]}async function Pw({id:r,topic:e,wcDeepLink:t}){var i;try{if(!t)return;const s=typeof t=="string"?JSON.parse(t):t,n=s?.href;if(typeof n!="string")return;const o=$w(n,r,e),a=xi();if(a===We.browser){if(!((i=jt.getDocument())!=null&&i.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}Aw(o)}else a===We.reactNative&&typeof(global==null?void 0:global.Linking)<"u"&&await global.Linking.openURL(o)}catch(s){console.error(s)}}function $w(r,e,t){const i=`requestId=${e}&sessionTopic=${t}`;r.endsWith("/")&&(r=r.slice(0,-1));let s=`${r}`;if(r.startsWith("https://t.me")){const n=r.includes("?")?"&startapp=":"?startapp=";s=`${s}${n}${Rw(i,!0)}`}else s=`${s}/wc?${i}`;return s}function Aw(r){let e="_self";Tw()?e="_top":(Cw()||r.startsWith("https://")||r.startsWith("http://"))&&(e="_blank"),window.open(r,e,"noreferrer noopener")}async function xw(r,e){let t="";try{if(Zr()&&(t=localStorage.getItem(e),t))return t;t=await r.getItem(e)}catch(i){console.error(i)}return t}function Ga(r,e){if(!r.includes(e))return null;const t=r.split(/([&,?,=])/),i=t.indexOf(e);return t[i+2]}function Ya(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,r=>{const e=Math.random()*16|0;return(r==="x"?e:e&3|8).toString(16)})}function xo(){return typeof process<"u"&&cw.IS_VITEST==="true"}function Cw(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function Tw(){try{return window.self!==window.top}catch{return!1}}function Rw(r,e=!1){const t=Buffer.from(r).toString("base64");return e?t.replace(/[=]/g,""):t}function th(r){return Buffer.from(r,"base64").toString("utf-8")}function Nw(r){return new Promise(e=>setTimeout(e,r))}function _i(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function jw(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Ci(r,...e){if(!jw(r))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(r.length))throw new Error("Uint8Array expected of length "+e+", got length="+r.length)}function Co(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");_i(r.outputLen),_i(r.blockLen)}function kr(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function rh(r,e){Ci(r);const t=e.outputLen;if(r.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}const zi=BigInt(2**32-1),Ja=BigInt(32);function Bw(r,e=!1){return e?{h:Number(r&zi),l:Number(r>>Ja&zi)}:{h:Number(r>>Ja&zi)|0,l:Number(r&zi)|0}}function Uw(r,e=!1){let t=new Uint32Array(r.length),i=new Uint32Array(r.length);for(let s=0;s<r.length;s++){const{h:n,l:o}=Bw(r[s],e);[t[s],i[s]]=[n,o]}return[t,i]}const Fw=(r,e,t)=>r<<t|e>>>32-t,qw=(r,e,t)=>e<<t|r>>>32-t,Lw=(r,e,t)=>e<<t-32|r>>>64-t,kw=(r,e,t)=>r<<t-32|e>>>64-t,vr=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Mw(r){return new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4))}function sn(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function pt(r,e){return r<<32-e|r>>>e}const Za=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function zw(r){return r<<24&4278190080|r<<8&16711680|r>>>8&65280|r>>>24&255}function Qa(r){for(let e=0;e<r.length;e++)r[e]=zw(r[e])}function Hw(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function Mr(r){return typeof r=="string"&&(r=Hw(r)),Ci(r),r}function Vw(...r){let e=0;for(let i=0;i<r.length;i++){const s=r[i];Ci(s),e+=s.length}const t=new Uint8Array(e);for(let i=0,s=0;i<r.length;i++){const n=r[i];t.set(n,s),s+=n.length}return t}let To=class{clone(){return this._cloneInto()}};function ih(r){const e=i=>r().update(Mr(i)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function Qr(r=32){if(vr&&typeof vr.getRandomValues=="function")return vr.getRandomValues(new Uint8Array(r));if(vr&&typeof vr.randomBytes=="function")return vr.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}const sh=[],nh=[],oh=[],Kw=BigInt(0),oi=BigInt(1),Ww=BigInt(2),Gw=BigInt(7),Yw=BigInt(256),Jw=BigInt(113);for(let r=0,e=oi,t=1,i=0;r<24;r++){[t,i]=[i,(2*t+3*i)%5],sh.push(2*(5*i+t)),nh.push((r+1)*(r+2)/2%64);let s=Kw;for(let n=0;n<7;n++)e=(e<<oi^(e>>Gw)*Jw)%Yw,e&Ww&&(s^=oi<<(oi<<BigInt(n))-oi);oh.push(s)}const[Zw,Qw]=Uw(oh,!0),Xa=(r,e,t)=>t>32?Lw(r,e,t):Fw(r,e,t),ec=(r,e,t)=>t>32?kw(r,e,t):qw(r,e,t);function Xw(r,e=24){const t=new Uint32Array(10);for(let i=24-e;i<24;i++){for(let o=0;o<10;o++)t[o]=r[o]^r[o+10]^r[o+20]^r[o+30]^r[o+40];for(let o=0;o<10;o+=2){const a=(o+8)%10,c=(o+2)%10,u=t[c],l=t[c+1],h=Xa(u,l,1)^t[a],d=ec(u,l,1)^t[a+1];for(let f=0;f<50;f+=10)r[o+f]^=h,r[o+f+1]^=d}let s=r[2],n=r[3];for(let o=0;o<24;o++){const a=nh[o],c=Xa(s,n,a),u=ec(s,n,a),l=sh[o];s=r[l],n=r[l+1],r[l]=c,r[l+1]=u}for(let o=0;o<50;o+=10){for(let a=0;a<10;a++)t[a]=r[o+a];for(let a=0;a<10;a++)r[o+a]^=~t[(a+2)%10]&t[(a+4)%10]}r[0]^=Zw[i],r[1]^=Qw[i]}t.fill(0)}let eb=class ah extends To{constructor(e,t,i,s=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=i,this.enableXOF=s,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,_i(i),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=Mw(this.state)}keccak(){Za||Qa(this.state32),Xw(this.state32,this.rounds),Za||Qa(this.state32),this.posOut=0,this.pos=0}update(e){kr(this);const{blockLen:t,state:i}=this;e=Mr(e);const s=e.length;for(let n=0;n<s;){const o=Math.min(t-this.pos,s-n);for(let a=0;a<o;a++)i[this.pos++]^=e[n++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:t,pos:i,blockLen:s}=this;e[i]^=t,(t&128)!==0&&i===s-1&&this.keccak(),e[s-1]^=128,this.keccak()}writeInto(e){kr(this,!1),Ci(e),this.finish();const t=this.state,{blockLen:i}=this;for(let s=0,n=e.length;s<n;){this.posOut>=i&&this.keccak();const o=Math.min(i-this.posOut,n-s);e.set(t.subarray(this.posOut,this.posOut+o),s),this.posOut+=o,s+=o}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return _i(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(rh(e,this),this.finished)throw new Error("digest() was already called");return this.writeInto(e),this.destroy(),e}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(e){const{blockLen:t,suffix:i,outputLen:s,rounds:n,enableXOF:o}=this;return e||(e=new ah(t,i,s,o,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=i,e.outputLen=s,e.enableXOF=o,e.destroyed=this.destroyed,e}};const tb=(r,e,t)=>ih(()=>new eb(e,r,t)),rb=tb(1,136,256/8),ib="https://rpc.walletconnect.org/v1";function ch(r){const e=`�Ethereum Signed Message: 4${r.length}`,t=new TextEncoder().encode(e+r);return"0x"+Buffer.from(rb(t)).toString("hex")}
4async function sb(r,e,t,i,s,n){switch(t.t){case"eip191":return await nb(r,e,t.s);case"eip1271":return await ob(r,e,t.s,i,s,n);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${t.t}`)}}async function nb(r,e,t){return(await gf({hash:ch(e),signature:t})).toLowerCase()===r.toLowerCase()}async function ob(r,e,t,i,s,n){const o=Lr(i);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${i}`);try{const a="0x1626ba7e",c="0000000000000000000000000000000000000000000000000000000000000040",u="0000000000000000000000000000000000000000000000000000000000000041",l=t.substring(2),h=ch(e).substring(2),d=a+h+c+u+l,f=await fetch(`${n||ib}/?chainId=${i}&projectId=${s}`,{method:"POST",body:JSON.stringify({id:ab(),jsonrpc:"2.0",method:"eth_call",params:[{to:r,data:d},"latest"]})}),{result:p}=await f.json();return p?p.slice(0,a.length).toLowerCase()===a.toLowerCase():!1}catch(a){return console.error("isValidEip1271Signature: ",a),!1}}function ab(){return Date.now()+Math.floor(Math.random()*1e3)}function cb(r){const e=atob(r),t=new Uint8Array(e.length);for(let o=0;o<e.length;o++)t[o]=e.charCodeAt(o);const i=t[0];if(i===0)throw new Error("No signatures found");const s=1+i*64;if(t.length<s)throw new Error("Transaction data too short for claimed signature count");if(t.length<100)throw new Error("Transaction too short");const n=Buffer.from(r,"base64").slice(1,65);return wf.encode(n)}var ub=Object.defineProperty,lb=Object.defineProperties,hb=Object.getOwnPropertyDescriptors,tc=Object.getOwnPropertySymbols,db=Object.prototype.hasOwnProperty,pb=Object.prototype.propertyIsEnumerable,rc=(r,e,t)=>e in r?ub(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,fb=(r,e)=>{for(var t in e||(e={}))db.call(e,t)&&rc(r,t,e[t]);if(tc)for(var t of tc(e))pb.call(e,t)&&rc(r,t,e[t]);return r},gb=(r,e)=>lb(r,hb(e));const yb="did:pkh:",Ro=r=>r?.split(":"),mb=r=>{const e=r&&Ro(r);if(e)return r.includes(yb)?e[3]:e[1]},zn=r=>{const e=r&&Ro(r);if(e)return e[2]+":"+e[3]},ps=r=>{const e=r&&Ro(r);if(e)return e.pop()};async function ic(r){const{cacao:e,projectId:t}=r,{s:i,p:s}=e,n=uh(s,s.iss),o=ps(s.iss);return await sb(o,n,i,zn(s.iss),t)}const uh=(r,e)=>{const t=`${r.domain} wants you to sign in with your Ethereum account:`,i=ps(e);if(!r.aud&&!r.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let s=r.statement||void 0;const n=`URI: ${r.aud||r.uri}`,o=`Version: ${r.version}`,a=`Chain ID: ${mb(e)}`,c=`Nonce: ${r.nonce}`,u=`Issued At: ${r.iat}`,l=r.exp?`Expiration Time: ${r.exp}`:void 0,h=r.nbf?`Not Before: ${r.nbf}`:void 0,d=r.requestId?`Request ID: ${r.requestId}`:void 0,f=r.resources?`Resources:${r.resources.map(g=>` 5- ${g}`).join("")}`:void 0,p=is(r.resources);if(p){const g=Ii(p);s=Ob(s,g)}return[t,i,"",s,"",n,o,a,c,u,l,h,d,f].filter(g=>g!=null).join(` 6`)};function wb(r){return Buffer.from(JSON.stringify(r)).toString("base64")}function bb(r){return JSON.parse(Buffer.from(r,"base64").toString("utf-8"))}function ur(r){if(!r)throw new Error("No recap provided, value is undefined");if(!r.att)throw new Error("No `att` property found");const e=Object.keys(r.att);if(!(e!=null&&e.length))throw new Error("No resources found in `att` property");e.forEach(t=>{const i=r.att[t];if(Array.isArray(i))throw new Error(`Resource must be an object: ${t}`);if(typeof i!="object")throw new Error(`Resource must be an object: ${t}`);if(!Object.keys(i).length)throw new Error(`Resource object is empty: ${t}`);
vendor: 21,838 bytes, line 6
6Object.keys(i).forEach(s=>{const n=i[s];if(!Array.isArray(n))throw new Error(`Ability limits ${s} must be an array of objects, found: ${n}`);if(!n.length)throw new Error(`Value of ${s} is empty array, must be an array with objects`);n.forEach(o=>{if(typeof o!="object")throw new Error(`Ability limits (${s}) must be an array of objects, found: ${o}`)})})})}function vb(r,e,t,i={}){return t?.sort((s,n)=>s.localeCompare(n)),{att:{[r]:Eb(e,t,i)}}}function Eb(r,e,t={}){e=e?.sort((s,n)=>s.localeCompare(n));const i=e.map(s=>({[`${r}/${s}`]:[t]}));return Object.assign({},...i)}function lh(r){return ur(r),`urn:recap:${wb(r).replace(/=/g,"")}`}function Ii(r){const e=bb(r.replace("urn:recap:",""));return ur(e),e}function _b(r,e,t){const i=vb(r,e,t);return lh(i)}function Ib(r){return r&&r.includes("urn:recap:")}function Db(r,e){const t=Ii(r),i=Ii(e),s=Sb(t,i);return lh(s)}function Sb(r,e){ur(r),ur(e);const t=Object.keys(r.att).concat(Object.keys(e.att)).sort((s,n)=>s.localeCompare(n)),i={att:{}};return t.forEach(s=>{var n,o;Object.keys(((n=r.att)==null?void 0:n[s])||{}).concat(Object.keys(((o=e.att)==null?void 0:o[s])||{})).sort((a,c)=>a.localeCompare(c)).forEach(a=>{var c,u;i.att[s]=gb(fb({},i.att[s]),{[a]:((c=r.att[s])==null?void 0:c[a])||((u=e.att[s])==null?void 0:u[a])})})}),i}function Ob(r="",e){ur(e);const t="I further authorize the stated URI to perform the following actions on my behalf: ";if(r.includes(t))return r;const i=[];let s=0;Object.keys(e.att).forEach(a=>{const c=Object.keys(e.att[a]).map(h=>({ability:h.split("/")[0],action:h.split("/")[1]}));c.sort((h,d)=>h.action.localeCompare(d.action));const u={};c.forEach(h=>{u[h.ability]||(u[h.ability]=[]),u[h.ability].push(h.action)});const l=Object.keys(u).map(h=>(s++,`(${s}) '${h}': '${u[h].join("', '")}' for '${a}'.`));i.push(l.join(", ").replace(".,","."))});const n=i.join(" "),o=`${t}${n}`;return`${r?r+" ":""}${o}`}function sc(r){var e;const t=Ii(r);ur(t);const i=(e=t.att)==null?void 0:e.eip155;return i?Object.keys(i).map(s=>s.split("/")[1]):[]}function nc(r){const e=Ii(r);ur(e);const t=[];return Object.values(e.att).forEach(i=>{Object.values(i).forEach(s=>{var n;(n=s?.[0])!=null&&n.chains&&t.push(s[0].chains)})}),[...new Set(t.flat())]}function is(r){if(!r)return;const e=r?.[r.length-1];return Ib(e)?e:void 0}function nn(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function hh(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Ke(r,...e){if(!hh(r))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(r.length))throw new Error("Uint8Array expected of length "+e+", got length="+r.length)}function oc(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function Pb(r,e){Ke(r);const t=e.outputLen;if(r.length<t)throw new Error("digestInto() expects output buffer of length at least "+t)}function ac(r){if(typeof r!="boolean")throw new Error(`boolean expected, not ${r}`)}const Vt=r=>new Uint32Array(r.buffer,r.byteOffset,Math.floor(r.byteLength/4)),$b=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),Ab=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Ab)throw new Error("Non little-endian hardware is not supported");function xb(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}function Hn(r){if(typeof r=="string")r=xb(r);else if(hh(r))r=Vn(r);else throw new Error("Uint8Array expected, got "+typeof r);return r}function Cb(r,e){if(e==null||typeof e!="object")throw new Error("options must be defined");return Object.assign(r,e)}function Tb(r,e){if(r.length!==e.length)return!1;let t=0;for(let i=0;i<r.length;i++)t|=r[i]^e[i];return t===0}const Rb=(r,e)=>{function t(i,...s){if(Ke(i),r.nonceLength!==void 0){const u=s[0];if(!u)throw new Error("nonce / iv required");r.varSizeNonce?Ke(u):Ke(u,r.nonceLength)}const n=r.tagLength;n&&s[1]!==void 0&&Ke(s[1]);const o=e(i,...s),a=(u,l)=>{if(l!==void 0){if(u!==2)throw new Error("cipher output not supported");Ke(l)}};let c=!1;return{encrypt(u,l){if(c)throw new Error("cannot encrypt() twice with same key + nonce");return c=!0,Ke(u),a(o.encrypt.length,l),o.encrypt(u,l)},decrypt(u,l){if(Ke(u),n&&u.length<n)throw new Error("invalid ciphertext length: smaller than tagLength="+n);return a(o.decrypt.length,l),o.decrypt(u,l)}}}return Object.assign(t,r),t};function cc(r,e,t=!0){if(e===void 0)return new Uint8Array(r);if(e.length!==r)throw new Error("invalid output length, expected "+r+", got: "+e.length);if(t&&!Nb(e))throw new Error("invalid output, must be aligned");return e}function uc(r,e,t,i){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,i);const s=BigInt(32),n=BigInt(4294967295),o=Number(t>>s&n),a=Number(t&n);r.setUint32(e+4,o,i),r.setUint32(e+0,a,i)}function Nb(r){return r.byteOffset%4===0}function Vn(r){return Uint8Array.from(r)}function zr(...r){for(let e=0;e<r.length;e++)r[e].fill(0)}const dh=r=>Uint8Array.from(r.split("").map(e=>e.charCodeAt(0))),jb=dh("expand 16-byte k"),Bb=dh("expand 32-byte k"),Ub=Vt(jb),Fb=Vt(Bb);function J(r,e){return r<<e|r>>>32-e}function Kn(r){return r.byteOffset%4===0}const Hi=64,qb=16,ph=2**32-1,lc=new Uint32Array;function Lb(r,e,t,i,s,n,o,a){const c=s.length,u=new Uint8Array(Hi),l=Vt(u),h=Kn(s)&&Kn(n),d=h?Vt(s):lc,f=h?Vt(n):lc;for(let p=0;p<c;o++){if(r(e,t,i,l,o,a),o>=ph)throw new Error("arx: counter overflow");const g=Math.min(Hi,c-p);if(h&&g===Hi){const w=p/4;if(p%4!==0)throw new Error("arx: invalid block position");for(let _=0,b;_<qb;_++)b=w+_,f[b]=d[b]^l[_];p+=Hi;continue}for(let w=0,_;w<g;w++)_=p+w,n[_]=s[_]^u[w];p+=g}}function kb(r,e){const{allowShortKeys:t,extendNonceFn:i,counterLength:s,counterRight:n,rounds:o}=Cb({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},e);if(typeof r!="function")throw new Error("core must be a function");return nn(s),nn(o),ac(n),ac(t),(a,c,u,l,h=0)=>{Ke(a),Ke(c),Ke(u);const d=u.length;if(l===void 0&&(l=new Uint8Array(d)),Ke(l),nn(h),h<0||h>=ph)throw new Error("arx: counter overflow");if(l.length<d)throw new Error(`arx: output (${l.length}) is shorter than data (${d})`);const f=[];let p=a.length,g,w;if(p===32)f.push(g=Vn(a)),w=Fb;else if(p===16&&t)g=new Uint8Array(32),g.set(a),g.set(a,16),w=Ub,f.push(g);else throw new Error(`arx: invalid 32-byte key, got length=${p}`);Kn(c)||f.push(c=Vn(c));const _=Vt(g);if(i){if(c.length!==24)throw new Error("arx: extended nonce must be 24 bytes");i(w,_,Vt(c.subarray(0,16)),_),c=c.subarray(16)}const b=16-s;if(b!==c.length)throw new Error(`arx: nonce must be ${b} or 16 bytes`);if(b!==12){const A=new Uint8Array(12);A.set(c,n?0:12-c.length),c=A,f.push(c)}const E=Vt(c);return Lb(r,w,_,E,u,l,h,o),zr(...f),l}}const _e=(r,e)=>r[e++]&255|(r[e++]&255)<<8;class Mb{constructor(e){this.blockLen=16,this.outputLen=16,this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.pos=0,this.finished=!1,e=Hn(e),Ke(e,32);const t=_e(e,0),i=_e(e,2),s=_e(e,4),n=_e(e,6),o=_e(e,8),a=_e(e,10),c=_e(e,12),u=_e(e,14);this.r[0]=t&8191,this.r[1]=(t>>>13|i<<3)&8191,this.r[2]=(i>>>10|s<<6)&7939,this.r[3]=(s>>>7|n<<9)&8191,this.r[4]=(n>>>4|o<<12)&255,this.r[5]=o>>>1&8190,this.r[6]=(o>>>14|a<<2)&8191,this.r[7]=(a>>>11|c<<5)&8065,this.r[8]=(c>>>8|u<<8)&8191,this.r[9]=u>>>5&127;for(let l=0;l<8;l++)this.pad[l]=_e(e,16+2*l)}process(e,t,i=!1){const s=i?0:2048,{h:n,r:o}=this,a=o[0],c=o[1],u=o[2],l=o[3],h=o[4],d=o[5],f=o[6],p=o[7],g=o[8],w=o[9],_=_e(e,t+0),b=_e(e,t+2),E=_e(e,t+4),A=_e(e,t+6),T=_e(e,t+8),v=_e(e,t+10),I=_e(e,t+12),P=_e(e,t+14);let S=n[0]+(_&8191),j=n[1]+((_>>>13|b<<3)&8191),N=n[2]+((b>>>10|E<<6)&8191),B=n[3]+((E>>>7|A<<9)&8191),M=n[4]+((A>>>4|T<<12)&8191),$=n[5]+(T>>>1&8191),y=n[6]+((T>>>14|v<<2)&8191),m=n[7]+((v>>>11|I<<5)&8191),D=n[8]+((I>>>8|P<<8)&8191),x=n[9]+(P>>>5|s),O=0,C=O+S*a+j*(5*w)+N*(5*g)+B*(5*p)+M*(5*f);O=C>>>13,C&=8191,C+=$*(5*d)+y*(5*h)+m*(5*l)+D*(5*u)+x*(5*c),O+=C>>>13,C&=8191;let q=O+S*c+j*a+N*(5*w)+B*(5*g)+M*(5*p);O=q>>>13,q&=8191,q+=$*(5*f)+y*(5*d)+m*(5*h)+D*(5*l)+x*(5*u),O+=q>>>13,q&=8191;let k=O+S*u+j*c+N*a+B*(5*w)+M*(5*g);O=k>>>13,k&=8191,k+=$*(5*p)+y*(5*f)+m*(5*d)+D*(5*h)+x*(5*l),O+=k>>>13,k&=8191;let z=O+S*l+j*u+N*c+B*a+M*(5*w);O=z>>>13,z&=8191,z+=$*(5*g)+y*(5*p)+m*(5*f)+D*(5*d)+x*(5*h),O+=z>>>13,z&=8191;let L=O+S*h+j*l+N*u+B*c+M*a;O=L>>>13,L&=8191,L+=$*(5*w)+y*(5*g)+m*(5*p)+D*(5*f)+x*(5*d),O+=L>>>13,L&=8191;let H=O+S*d+j*h+N*l+B*u+M*c;O=H>>>13,H&=8191,H+=$*a+y*(5*w)+m*(5*g)+D*(5*p)+x*(5*f),O+=H>>>13,H&=8191;let V=O+S*f+j*d+N*h+B*l+M*u;O=V>>>13,V&=8191,V+=$*c+y*a+m*(5*w)+D*(5*g)+x*(5*p),O+=V>>>13,V&=8191;let ne=O+S*p+j*f+N*d+B*h+M*l;O=ne>>>13,ne&=8191,ne+=$*u+y*c+m*a+D*(5*w)+x*(5*g),O+=ne>>>13,ne&=8191;let ee=O+S*g+j*p+N*f+B*d+M*h;O=ee>>>13,ee&=8191,ee+=$*l+y*u+m*c+D*a+x*(5*w),O+=ee>>>13,ee&=8191;let Y=O+S*w+j*g+N*p+B*f+M*d;O=Y>>>13,Y&=8191,Y+=$*h+y*l+m*u+D*c+x*a,O+=Y>>>13,Y&=8191,O=(O<<2)+O|0,O=O+C|0,C=O&8191,O=O>>>13,q+=O,n[0]=C,n[1]=q,n[2]=k,n[3]=z,n[4]=L,n[5]=H,n[6]=V,n[7]=ne,n[8]=ee,n[9]=Y}finalize(){const{h:e,pad:t}=this,i=new Uint16Array(10);let s=e[1]>>>13;e[1]&=8191;for(let a=2;a<10;a++)e[a]+=s,s=e[a]>>>13,e[a]&=8191;e[0]+=s*5,s=e[0]>>>13,e[0]&=8191,e[1]+=s,s=e[1]>>>13,e[1]&=8191,e[2]+=s,i[0]=e[0]+5,s=i[0]>>>13,i[0]&=8191;for(let a=1;a<10;a++)i[a]=e[a]+s,s=i[a]>>>13,i[a]&=8191;i[9]-=8192;let n=(s^1)-1;for(let a=0;a<10;a++)i[a]&=n;n=~n;for(let a=0;a<10;a++)e[a]=e[a]&n|i[a];e[0]=(e[0]|e[1]<<13)&65535,e[1]=(e[1]>>>3|e[2]<<10)&65535,e[2]=(e[2]>>>6|e[3]<<7)&65535,e[3]=(e[3]>>>9|e[4]<<4)&65535,e[4]=(e[4]>>>12|e[5]<<1|e[6]<<14)&65535,e[5]=(e[6]>>>2|e[7]<<11)&65535,e[6]=(e[7]>>>5|e[8]<<8)&65535,e[7]=(e[8]>>>8|e[9]<<5)&65535;let o=e[0]+t[0];e[0]=o&65535;for(let a=1;a<8;a++)o=(e[a]+t[a]|0)+(o>>>16)|0,e[a]=o&65535;zr(i)}update(e){oc(this);const{buffer:t,blockLen:i}=this;e=Hn(e);const s=e.length;for(let n=0;n<s;){const o=Math.min(i-this.pos,s-n);if(o===i){for(;i<=s-n;n+=i)this.process(e,n);continue}t.set(e.subarray(n,n+o),this.pos),this.pos+=o,n+=o,this.pos===i&&(this.process(t,0,!1),this.pos=0)}return this}destroy(){zr(this.h,this.r,this.buffer,this.pad)}digestInto(e){oc(this),Pb(e,this),this.finished=!0;const{buffer:t,h:i}=this;let{pos:s}=this;if(s){for(t[s++]=1;s<16;s++)t[s]=0;this.process(t,0,!0)}this.finalize();let n=0;for(let o=0;o<8;o++)e[n++]=i[o]>>>0,e[n++]=i[o]>>>8;return e}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}}function zb(r){const e=(i,s)=>r(s).update(Hn(i)).digest(),t=r(new Uint8Array(32));return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=i=>r(i),e}const Hb=zb(r=>new Mb(r));function Vb(r,e,t,i,s,n=20){let o=r[0],a=r[1],c=r[2],u=r[3],l=e[0],h=e[1],d=e[2],f=e[3],p=e[4],g=e[5],w=e[6],_=e[7],b=s,E=t[0],A=t[1],T=t[2],v=o,I=a,P=c,S=u,j=l,N=h,B=d,M=f,$=p,y=g,m=w,D=_,x=b,O=E,C=A,q=T;for(let z=0;z<n;z+=2)v=v+j|0,x=J(x^v,16),$=$+x|0,j=J(j^$,12),v=v+j|0,x=J(x^v,8),$=$+x|0,j=J(j^$,7),I=I+N|0,O=J(O^I,16),y=y+O|0,N=J(N^y,12),I=I+N|0,O=J(O^I,8),y=y+O|0,N=J(N^y,7),P=P+B|0,C=J(C^P,16),m=m+C|0,B=J(B^m,12),P=P+B|0,C=J(C^P,8),m=m+C|0,B=J(B^m,7),S=S+M|0,q=J(q^S,16),D=D+q|0,M=J(M^D,12),S=S+M|0,q=J(q^S,8),D=D+q|0,M=J(M^D,7),v=v+N|0,q=J(q^v,16),m=m+q|0,N=J(N^m,12),v=v+N|0,q=J(q^v,8),m=m+q|0,N=J(N^m,7),I=I+B|0,x=J(x^I,16),D=D+x|0,B=J(B^D,12),I=I+B|0,x=J(x^I,8),D=D+x|0,B=J(B^D,7),P=P+M|0,O=J(O^P,16),$=$+O|0,M=J(M^$,12),P=P+M|0,O=J(O^P,8),$=$+O|0,M=J(M^$,7),S=S+j|0,C=J(C^S,16),y=y+C|0,j=J(j^y,12),S=S+j|0,C=J(C^S,8),y=y+C|0,j=J(j^y,7);let k=0;i[k++]=o+v|0,i[k++]=a+I|0,i[k++]=c+P|0,i[k++]=u+S|0,i[k++]=l+j|0,i[k++]=h+N|0,i[k++]=d+B|0,i[k++]=f+M|0,i[k++]=p+$|0,i[k++]=g+y|0,i[k++]=w+m|0,i[k++]=_+D|0,i[k++]=b+x|0,i[k++]=E+O|0,i[k++]=A+C|0,i[k++]=T+q|0}const Kb=kb(Vb,{counterRight:!1,counterLength:4,allowShortKeys:!1}),Wb=new Uint8Array(16),hc=(r,e)=>{r.update(e);const t=e.length%16;t&&r.update(Wb.subarray(t))},Gb=new Uint8Array(32);function dc(r,e,t,i,s){const n=r(e,t,Gb),o=Hb.create(n);s&&hc(o,s),hc(o,i);const a=new Uint8Array(16),c=$b(a);uc(c,0,BigInt(s?s.length:0),!0),uc(c,8,BigInt(i.length),!0),o.update(a);const u=o.digest();return zr(n,a),u}const Yb=r=>(e,t,i)=>({encrypt(s,n){const o=s.length;n=cc(o+16,n,!1),n.set(s);const a=n.subarray(0,-16);r(e,t,a,a,1);const c=dc(r,e,t,a,i);return n.set(c,o),zr(c),n},decrypt(s,n){n=cc(s.length-16,n,!1);const o=s.subarray(0,-16),a=s.subarray(-16),c=dc(r,e,t,o,i);if(!Tb(a,c))throw new Error("invalid tag");return n.set(s.subarray(0,-16)),r(e,t,n,n,1),zr(c),n}}),fh=Rb({blockSize:64,nonceLength:12,tagLength:16},Yb(Kb));let gh=class extends To{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,Co(e);const i=Mr(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const s=this.blockLen,n=new Uint8Array(s);n.set(i.length>s?e.create().update(i).digest():i);for(let o=0;o<n.length;o++)n[o]^=54;this.iHash.update(n),this.oHash=e.create();for(let o=0;o<n.length;o++)n[o]^=106;this.oHash.update(n),n.fill(0)}update(e){return kr(this),this.iHash.update(e),this}digestInto(e){kr(this),Ci(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:i,finished:s,destroyed:n,blockLen:o,outputLen:a}=this;return e=e,e.finished=s,e.destroyed=n,e.blockLen=o,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=i._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}};const Ps=(r,e,t)=>new gh(r,e).update(t).digest();Ps.create=(r,e)=>new gh(r,e);function Jb(r,e,t){return Co(r),t===void 0&&(t=new Uint8Array(r.outputLen)),Ps(r,Mr(t),Mr(e))}const on=new Uint8Array([0]),pc=new Uint8Array;function Zb(r,e,t,i=32){if(Co(r),_i(i),i>255*r.outputLen)throw new Error("Length should be <= 255*HashLen");const s=Math.ceil(i/r.outputLen);t===void 0&&(t=pc);const n=new Uint8Array(s*r.outputLen),o=Ps.create(r,e),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let u=0;u<s;u++)on[0]=u+1,a.update(u===0?pc:c).update(t).update(on).digestInto(c),n.set(c,r.outputLen*u),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),on.fill(0),n.slice(0,i)}const Qb=(r,e,t,i,s)=>Zb(r,Jb(r,e,t),i,s);function Xb(r,e,t,i){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,i);const s=BigInt(32),n=BigInt(4294967295),o=Number(t>>s&n),a=Number(t&n),c=i?4:0,u=i?0:4;r.setUint32(e+c,o,i),r.setUint32(e+u,a,i)}function ev(r,e,t){return r&e^~r&t}function tv(r,e,t){return r&e^r&t^e&t}let rv=class extends To{constructor(e,t,i,s){super(),this.blockLen=e,this.outputLen=t,this.padOffset=i,this.isLE=s,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=sn(this.buffer)}update(e){kr(this);const{view:t,buffer:i,blockLen:s}=this;e=Mr(e);const n=e.length;for(let o=0;o<n;){const a=Math.min(s-this.pos,n-o);if(a===s){const c=sn(e);for(;s<=n-o;o+=s)this.process(c,o);continue}i.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===s&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){kr(this),rh(e,this),this.finished=!0;const{buffer:t,view:i,blockLen:s,isLE:n}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>s-o&&(this.process(i,0),o=0);for(let h=o;h<s;h++)t[h]=0;Xb(i,s-8,BigInt(this.length*8),n),this.process(i,0);const a=sn(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let h=0;h<u;h++)a.setUint32(4*h,l[h],n)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const i=e.slice(0,t);return this.destroy(),i}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:i,length:s,finished:n,destroyed:o,pos:a}=this;return e.length=s,e.pos=a,e.finished=n,e.destroyed=o,s%t&&e.buffer.set(i),e}};const iv=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]),qt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Lt=new Uint32Array(64);class sv extends rv{constructor(){super(64,32,8,!1),this.A=qt[0]|0,this.B=qt[1]|0,this.C=qt[2]|0,this.D=qt[3]|0,this.E=qt[4]|0,this.F=qt[5]|0,this.G=qt[6]|0,this.H=qt[7]|0}get(){const{A:e,B:t,C:i,D:s,E:n,F:o,G:a,H:c}=this;return[e,t,i,s,n,o,a,c]}set(e,t,i,s,n,o,a,c){this.A=e|0,this.B=t|0,this.C=i|0,this.D=s|0,this.E=n|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,t){for(let h=0;h<16;h++,t+=4)Lt[h]=e.getUint32(t,!1);for(let h=16;h<64;h++){const d=Lt[h-15],f=Lt[h-2],p=pt(d,7)^pt(d,18)^d>>>3,g=pt(f,17)^pt(f,19)^f>>>10;Lt[h]=g+Lt[h-7]+p+Lt[h-16]|0}let{A:i,B:s,C:n,D:o,E:a,F:c,G:u,H:l}=this;for(let h=0;h<64;h++){const d=pt(a,6)^pt(a,11)^pt(a,25),f=l+d+ev(a,c,u)+iv[h]+Lt[h]|0,p=(pt(i,2)^pt(i,13)^pt(i,22))+tv(i,s,n)|0;l=u,u=c,c=a,a=o+f|0,o=n,n=s,s=i,i=f+p|0}i=i+this.A|0,s=s+this.B|0,n=n+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(i,s,n,o,a,c,u,l)}roundClean(){Lt.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const Ti=ih(()=>new sv);const $s=BigInt(0),As=BigInt(1),nv=BigInt(2);function lr(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function Ri(r){if(!lr(r))throw new Error("Uint8Array expected")}function Hr(r,e){if(typeof e!="boolean")throw new Error(r+" boolean expected, got "+e)}const ov=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function Vr(r){Ri(r);let e="";for(let t=0;t<r.length;t++)e+=ov[r[t]];return e}function Ur(r){const e=r.toString(16);return e.length&1?"0"+e:e}function No(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?$s:BigInt("0x"+r)}const Pt={_0:48,_9:57,A:65,F:70,a:97,f:102};function fc(r){if(r>=Pt._0&&r<=Pt._9)return r-Pt._0;if(r>=Pt.A&&r<=Pt.F)return r-(Pt.A-10);if(r>=Pt.a&&r<=Pt.f)return r-(Pt.a-10)}function Kr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);const e=r.length,t=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const i=new Uint8Array(t);for(let s=0,n=0;s<t;s++,n+=2){const o=fc(r.charCodeAt(n)),a=fc(r.charCodeAt(n+1));if(o===void 0||a===void 0){const c=r[n]+r[n+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+n)}i[s]=o*16+a}return i}function or(r){return No(Vr(r))}function Di(r){return Ri(r),No(Vr(Uint8Array.from(r).reverse()))}function Wr(r,e){return Kr(r.toString(16).padStart(e*2,"0"))}function xs(r,e){return Wr(r,e).reverse()}function av(r){return Kr(Ur(r))}function Ve(r,e,t){let i;if(typeof e=="string")try{i=Kr(e)}catch(n){throw new Error(r+" must be hex string or Uint8Array, cause: "+n)}else if(lr(e))i=Uint8Array.from(e);else throw new Error(r+" must be hex string or Uint8Array");const s=i.length;if(typeof t=="number"&&s!==t)throw new Error(r+" of length "+t+" expected, got "+s);return i}function Si(...r){let e=0;for(let i=0;i<r.length;i++){const s=r[i];Ri(s),e+=s.length}const t=new Uint8Array(e);for(let i=0,s=0;i<r.length;i++){const n=r[i];t.set(n,s),s+=n.length}return t}function cv(r,e){if(r.length!==e.length)return!1;let t=0;for(let i=0;i<r.length;i++)t|=r[i]^e[i];return t===0}function uv(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}const an=r=>typeof r=="bigint"&&$s<=r;function Cs(r,e,t){return an(r)&&an(e)&&an(t)&&e<=r&&r<t}function Rt(r,e,t,i){if(!Cs(e,t,i))throw new Error("expected valid "+r+": "+t+" <= n < "+i+", got "+e)}function yh(r){let e;for(e=0;r>$s;r>>=As,e+=1);return e}function lv(r,e){return r>>BigInt(e)&As}function hv(r,e,t){return r|(t?As:$s)<<BigInt(e)}const jo=r=>(nv<<BigInt(r-1))-As,cn=r=>new Uint8Array(r),gc=r=>Uint8Array.from(r);function mh(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let i=cn(r),s=cn(r),n=0;const o=()=>{i.fill(1),s.fill(0),n=0},a=(...l)=>t(s,i,...l),c=(l=cn())=>{s=a(gc([0]),l),i=a(),l.length!==0&&(s=a(gc([1]),l),i=a())},u=()=>{if(n++>=1e3)throw new Error("drbg: tried 1000 values");let l=0;const h=[];for(;l<e;){i=a();const d=i.slice();h.push(d),l+=i.length}return Si(...h)};return(l,h)=>{o(),c(l);let d;for(;!(d=h(u()));)c();return o(),d}}const dv={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||lr(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function Xr(r,e,t={}){const i=(s,n,o)=>{const a=dv[n];if(typeof a!="function")throw new Error("invalid validator function");const c=r[s];if(!(o&&c===void 0)&&!a(c,r))throw new Error("param "+String(s)+" is invali
6d. Expected "+n+", got "+c)};for(const[s,n]of Object.entries(e))i(s,n,!1);for(const[s,n]of Object.entries(t))i(s,n,!0);return r}const pv=()=>{throw new Error("not implemented")};function Wn(r){const e=new WeakMap;return(t,...i)=>{const s=e.get(t);if(s!==void 0)return s;const n=r(t,...i);return e.set(t,n),n}}var fv=Object.freeze({__proto__:null,isBytes:lr,abytes:Ri,abool:Hr,bytesToHex:Vr,numberToHexUnpadded:Ur,hexToNumber:No,hexToBytes:Kr,bytesToNumberBE:or,bytesToNumberLE:Di,numberToBytesBE:Wr,numberToBytesLE:xs,numberToVarBytesBE:av,ensureBytes:Ve,concatBytes:Si,equalBytes:cv,utf8ToBytes:uv,inRange:Cs,aInRange:Rt,bitLen:yh,bitGet:lv,bitSet:hv,bitMask:jo,createHmacDrbg:mh,validateObject:Xr,notImplemented:pv,memoized:Wn});const ve=BigInt(0),ue=BigInt(1),tr=BigInt(2),gv=BigInt(3),Gn=BigInt(4),yc=BigInt(5),mc=BigInt(8);function qe(r,e){const t=r%e;return t>=ve?t:e+t}function wh(r,e,t){if(e<ve)throw new Error("invalid exponent, negatives unsupported");if(t<=ve)throw new Error("invalid modulus");if(t===ue)return ve;let i=ue;for(;e>ve;)e&ue&&(i=i*r%t),r=r*r%t,e>>=ue;return i}function ct(r,e,t){let i=r;for(;e-- >ve;)i*=i,i%=t;return i}function Yn(r,e){if(r===ve)throw new Error("invert: expected non-zero number");if(e<=ve)throw new Error("invert: expected positive modulus, got "+e);let t=qe(r,e),i=e,s=ve,n=ue;for(;t!==ve;){const o=i/t,a=i%t,c=s-n*o;i=t,t=a,s=n,n=c}if(i!==ue)throw new Error("invert: does not exist");return qe(s,e)}function yv(r){const e=(r-ue)/tr;let t,i,s;for(t=r-ue,i=0;t%tr===ve;t/=tr,i++);for(s=tr;s<r&&wh(s,e,r)!==r-ue;s++)if(s>1e3)throw new Error("Cannot find square root: likely non-prime P");if(i===1){const o=(r+ue)/Gn;return function(a,c){const u=a.pow(c,o);if(!a.eql(a.sqr(u),c))throw new Error("Cannot find square root");return u}}const n=(t+ue)/tr;return function(o,a){if(o.pow(a,e)===o.neg(o.ONE))throw new Error("Cannot find square root");let c=i,u=o.pow(o.mul(o.ONE,s),t),l=o.pow(a,n),h=o.pow(a,t);for(;!o.eql(h,o.ONE);){if(o.eql(h,o.ZERO))return o.ZERO;let d=1;for(let p=o.sqr(h);d<c&&!o.eql(p,o.ONE);d++)p=o.sqr(p);const f=o.pow(u,ue<<BigInt(c-d-1));u=o.sqr(f),l=o.mul(l,f),h=o.mul(h,u),c=d}return l}}function mv(r){if(r%Gn===gv){const e=(r+ue)/Gn;return function(t,i){const s=t.pow(i,e);if(!t.eql(t.sqr(s),i))throw new Error("Cannot find square root");return s}}if(r%mc===yc){const e=(r-yc)/mc;return function(t,i){const s=t.mul(i,tr),n=t.pow(s,e),o=t.mul(i,n),a=t.mul(t.mul(o,tr),n),c=t.mul(o,t.sub(a,t.ONE));if(!t.eql(t.sqr(c),i))throw new Error("Cannot find square root");return c}}return yv(r)}const wv=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function bv(r){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=wv.reduce((i,s)=>(i[s]="function",i),e);return Xr(r,t)}function vv(r,e,t){if(t<ve)throw new Error("invalid exponent, negatives unsupported");if(t===ve)return r.ONE;if(t===ue)return e;let i=r.ONE,s=e;for(;t>ve;)t&ue&&(i=r.mul(i,s)),s=r.sqr(s),t>>=ue;return i}function Ev(r,e){const t=new Array(e.length),i=e.reduce((n,o,a)=>r.is0(o)?n:(t[a]=n,r.mul(n,o)),r.ONE),s=r.inv(i);return e.reduceRight((n,o,a)=>r.is0(o)?n:(t[a]=r.mul(n,t[a]),r.mul(n,o)),s),t}function bh(r,e){const t=e!==void 0?e:r.toString(2).length,i=Math.ceil(t/8);return{nBitLength:t,nByteLength:i}}function vh(r,e,t=!1,i={}){if(r<=ve)throw new Error("invalid field: expected ORDER > 0, got "+r);const{nBitLength:s,nByteLength:n}=bh(r,e);if(n>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:r,isLE:t,BITS:s,BYTES:n,MASK:jo(s),ZERO:ve,ONE:ue,create:c=>qe(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof c);return ve<=c&&c<r},is0:c=>c===ve,isOdd:c=>(c&ue)===ue,neg:c=>qe(-c,r),eql:(c,u)=>c===u,sqr:c=>qe(c*c,r),add:(c,u)=>qe(c+u,r),sub:(c,u)=>qe(c-u,r),mul:(c,u)=>qe(c*u,r),pow:(c,u)=>vv(a,c,u),div:(c,u)=>qe(c*Yn(u,r),r),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Yn(c,r),sqrt:i.sqrt||(c=>(o||(o=mv(r)),o(a,c))),invertBatch:c=>Ev(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>t?xs(c,n):Wr(c,n),fromBytes:c=>{if(c.length!==n)throw new Error("Field.fromBytes: expected "+n+" bytes, got "+c.length);return t?Di(c):or(c)}});return Object.freeze(a)}function Eh(r){if(typeof r!="bigint")throw new Error("field order must be bigint");const e=r.toString(2).length;return Math.ceil(e/8)}function _h(r){const e=Eh(r);return e+Math.ceil(e/2)}function _v(r,e,t=!1){const i=r.length,s=Eh(e),n=_h(e);if(i<16||i<n||i>1024)throw new Error("expected "+n+"-1024 bytes of input, got "+i);const o=t?Di(r):or(r),a=qe(o,e-ue)+ue;return t?xs(a,s):Wr(a,s)}const wc=BigInt(0),Vi=BigInt(1);function un(r,e){const t=e.negate();return r?t:e}function Ih(r,e){if(!Number.isSafeInteger(r)||r<=0||r>e)throw new Error("invalid window size, expected [1.."+e+"], got W="+r)}function ln(r,e){Ih(r,e);const t=Math.ceil(e/r)+1,i=2**(r-1);return{windows:t,windowSize:i}}function Iv(r,e){if(!Array.isArray(r))throw new Error("array expected");r.forEach((t,i)=>{if(!(t instanceof e))throw new Error("invalid point at index "+i)})}function Dv(r,e){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((t,i)=>{if(!e.isValid(t))throw new Error("invalid scalar at index "+i)})}const hn=new WeakMap,Dh=new WeakMap;function dn(r){return Dh.get(r)||1}function Sv(r,e){return{constTimeNegate:un,hasPrecomputes(t){return dn(t)!==1},unsafeLadder(t,i,s=r.ZERO){let n=t;for(;i>wc;)i&Vi&&(s=s.add(n)),n=n.double(),i>>=Vi;return s},precomputeWindow(t,i){const{windows:s,windowSize:n}=ln(i,e),o=[];let a=t,c=a;for(let u=0;u<s;u++){c=a,o.push(c);for(let l=1;l<n;l++)c=c.add(a),o.push(c);a=c.double()}return o},wNAF(t,i,s){const{windows:n,windowSize:o}=ln(t,e);let a=r.ZERO,c=r.BASE;const u=BigInt(2**t-1),l=2**t,h=BigInt(t);for(let d=0;d<n;d++){const f=d*o;let p=Number(s&u);s>>=h,p>o&&(p-=l,s+=Vi);
6const g=f,w=f+Math.abs(p)-1,_=d%2!==0,b=p<0;p===0?c=c.add(un(_,i[g])):a=a.add(un(b,i[w]))}return{p:a,f:c}},wNAFUnsafe(t,i,s,n=r.ZERO){const{windows:o,windowSize:a}=ln(t,e),c=BigInt(2**t-1),u=2**t,l=BigInt(t);for(let h=0;h<o;h++){const d=h*a;if(s===wc)break;let f=Number(s&c);if(s>>=l,f>a&&(f-=u,s+=Vi),f===0)continue;let p=i[d+Math.abs(f)-1];f<0&&(p=p.negate()),n=n.add(p)}return n},getPrecomputes(t,i,s){let n=hn.get(i);return n||(n=this.precomputeWindow(i,t),t!==1&&hn.set(i,s(n))),n},wNAFCached(t,i,s){const n=dn(t);return this.wNAF(n,this.getPrecomputes(n,t,s),i)},wNAFCachedUnsafe(t,i,s,n){const o=dn(t);return o===1?this.unsafeLadder(t,i,n):this.wNAFUnsafe(o,this.getPrecomputes(o,t,s),i,n)},setWindowSize(t,i){Ih(i,e),Dh.set(t,i),hn.delete(t)}}}function Ov(r,e,t,i){if(Iv(t,r),Dv(i,e),t.length!==i.length)throw new Error("arrays of points and scalars must have equal length");const s=r.ZERO,n=yh(BigInt(t.length)),o=n>12?n-3:n>4?n-2:n?2:1,a=(1<<o)-1,c=new Array(a+1).fill(s),u=Math.floor((e.BITS-1)/o)*o;let l=s;for(let h=u;h>=0;h-=o){c.fill(s);for(let f=0;f<i.length;f++){const p=i[f],g=Number(p>>BigInt(h)&BigInt(a));c[g]=c[g].add(t[f])}let d=s;for(let f=c.length-1,p=s;f>0;f--)p=p.add(c[f]),d=d.add(p);if(l=l.add(d),h!==0)for(let f=0;f<o;f++)l=l.double()}return l}function Sh(r){return bv(r.Fp),Xr(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...bh(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);const Er=BigInt(0),pn=BigInt(1);function Pv(r){return Xr(r,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...r})}function $v(r){const e=Pv(r),{P:t}=e,i=b=>qe(b,t),s=e.montgomeryBits,n=Math.ceil(s/8),o=e.nByteLength,a=e.adjustScalarBytes||(b=>b),c=e.powPminus2||(b=>wh(b,t-BigInt(2),t));function u(b,E,A){const T=i(b*(E-A));return E=i(E-T),A=i(A+T),[E,A]}const l=(e.a-BigInt(2))/BigInt(4);function h(b,E){Rt("u",b,Er,t),Rt("scalar",E,Er,t);const A=E,T=b;let v=pn,I=Er,P=b,S=pn,j=Er,N;for(let M=BigInt(s-1);M>=Er;M--){const $=A>>M&pn;j^=$,N=u(j,v,P),v=N[0],P=N[1],N=u(j,I,S),I=N[0],S=N[1],j=$;const y=v+I,m=i(y*y),D=v-I,x=i(D*D),O=m-x,C=P+S,q=P-S,k=i(q*y),z=i(C*D),L=k+z,H=k-z;P=i(L*L),S=i(T*i(H*H)),v=i(m*x),I=i(O*(m+i(l*O)))}N=u(j,v,P),v=N[0],P=N[1],N=u(j,I,S),I=N[0],S=N[1];const B=c(I);return i(v*B)}function d(b){return xs(i(b),n)}function f(b){const E=Ve("u coordinate",b,n);return o===32&&(E[31]&=127),Di(E)}function p(b){const E=Ve("scalar",b),A=E.length;if(A!==n&&A!==o){let T=""+n+" or "+o;throw new Error("invalid scalar, expected "+T+" bytes, got "+A)}return Di(a(E))}function g(b,E){const A=f(E),T=p(b),v=h(A,T);if(v===Er)throw new Error("invalid private or public key received");return d(v)}const w=d(e.Gu);function _(b){return g(b,w)}return{scalarMult:g,scalarMultBase:_,getSharedSecret:(b,E)=>g(b,E),getPublicKey:b=>_(b),utils:{randomPrivateKey:()=>e.randomBytes(e.nByteLength)},GuBytes:w}}const Jn=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const Av=BigInt(1),bc=BigInt(2),xv=BigInt(3),Cv=BigInt(5);BigInt(8);function Tv(r){const e=BigInt(10),t=BigInt(20),i=BigInt(40),s=BigInt(80),n=Jn,o=r*r%n*r%n,a=ct(o,bc,n)*o%n,c=ct(a,Av,n)*r%n,u=ct(c,Cv,n)*c%n,l=ct(u,e,n)*u%n,h=ct(l,t,n)*l%n,d=ct(h,i,n)*h%n,f=ct(d,s,n)*d%n,p=ct(f,s,n)*d%n,g=ct(p,e,n)*u%n;return{pow_p_5_8:ct(g,bc,n)*r%n,b2:o}}function Rv(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}const Zn=$v({P:Jn,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:r=>{const e=Jn,{pow_p_5_8:t,b2:i}=Tv(r);return qe(ct(t,xv,e)*i,e)},adjustScalarBytes:Rv,randomBytes:Qr});function vc(r){r.lowS!==void 0&&Hr("lowS",r.lowS),r.prehash!==void 0&&Hr("prehash",r.prehash)}function Nv(r){const e=Sh(r);Xr(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:t,Fp:i,a:s}=e;if(t){if(!i.eql(s,i.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:jv,hexToBytes:Bv}=fv;
vendor: 6,090 bytes, line 6
6class Uv extends Error{constructor(e=""){super(e)}}const Ct={Err:Uv,_tlv:{encode:(r,e)=>{const{Err:t}=Ct;if(r<0||r>256)throw new t("tlv.encode: wrong tag");if(e.length&1)throw new t("tlv.encode: unpadded data");const i=e.length/2,s=Ur(i);if(s.length/2&128)throw new t("tlv.encode: long form length too big");const n=i>127?Ur(s.length/2|128):"";return Ur(r)+n+s+e},decode(r,e){const{Err:t}=Ct;let i=0;if(r<0||r>256)throw new t("tlv.encode: wrong tag");if(e.length<2||e[i++]!==r)throw new t("tlv.decode: wrong tlv");const s=e[i++],n=!!(s&128);let o=0;if(!n)o=s;else{const c=s&127;if(!c)throw new t("tlv.decode(long): indefinite length not supported");if(c>4)throw new t("tlv.decode(long): byte length is too big");const u=e.subarray(i,i+c);if(u.length!==c)throw new t("tlv.decode: length bytes not complete");if(u[0]===0)throw new t("tlv.decode(long): zero leftmost byte");for(const l of u)o=o<<8|l;if(i+=c,o<128)throw new t("tlv.decode(long): not minimal encoding")}const a=e.subarray(i,i+o);if(a.length!==o)throw new t("tlv.decode: wrong value length");return{v:a,l:e.subarray(i+o)}}},_int:{encode(r){const{Err:e}=Ct;if(r<Tt)throw new e("integer: negative integers are not allowed");let t=Ur(r);if(Number.parseInt(t[0],16)&8&&(t="00"+t),t.length&1)throw new e("unexpected DER parsing assertion: unpadded hex");return t},decode(r){const{Err:e}=Ct;if(r[0]&128)throw new e("invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new e("invalid signature integer: unnecessary leading zero");return jv(r)}},toSig(r){const{Err:e,_int:t,_tlv:i}=Ct,s=typeof r=="string"?Bv(r):r;Ri(s);const{v:n,l:o}=i.decode(48,s);if(o.length)throw new e("invalid signature: left bytes after parsing");const{v:a,l:c}=i.decode(2,n),{v:u,l}=i.decode(2,c);if(l.length)throw new e("invalid signature: left bytes after parsing");return{r:t.decode(a),s:t.decode(u)}},hexFromSig(r){const{_tlv:e,_int:t}=Ct,i=e.encode(2,t.encode(r.r)),s=e.encode(2,t.encode(r.s)),n=i+s;return e.encode(48,n)}},Tt=BigInt(0),me=BigInt(1);BigInt(2);const Ec=BigInt(3);BigInt(4);function Fv(r){const e=Nv(r),{Fp:t}=e,i=vh(e.n,e.nBitLength),s=e.toBytes||((g,w,_)=>{const b=w.toAffine();return Si(Uint8Array.from([4]),t.toBytes(b.x),t.toBytes(b.y))}),n=e.fromBytes||(g=>{const w=g.subarray(1),_=t.fromBytes(w.subarray(0,t.BYTES)),b=t.fromBytes(w.subarray(t.BYTES,2*t.BYTES));return{x:_,y:b}});function o(g){const{a:w,b:_}=e,b=t.sqr(g),E=t.mul(b,g);return t.add(t.add(E,t.mul(g,w)),_)}if(!t.eql(t.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function a(g){return Cs(g,me,e.n)}function c(g){const{allowedPrivateKeyLengths:w,nByteLength:_,wrapPrivateKey:b,n:E}=e;if(w&&typeof g!="bigint"){if(lr(g)&&(g=Vr(g)),typeof g!="string"||!w.includes(g.length))throw new Error("invalid private key");g=g.padStart(_*2,"0")}let A;try{A=typeof g=="bigint"?g:or(Ve("private key",g,_))}catch{throw new Error("invalid private key, expected hex or "+_+" bytes, got "+typeof g)}return b&&(A=qe(A,E)),Rt("private key",A,me,E),A}function u(g){if(!(g instanceof d))throw new Error("ProjectivePoint expected")}const l=Wn((g,w)=>{const{px:_,py:b,pz:E}=g;if(t.eql(E,t.ONE))return{x:_,y:b};const A=g.is0();w==null&&(w=A?t.ONE:t.inv(E));const T=t.mul(_,w),v=t.mul(b,w),I=t.mul(E,w);if(A)return{x:t.ZERO,y:t.ZERO};if(!t.eql(I,t.ONE))throw new Error("invZ was invalid");return{x:T,y:v}}),h=Wn(g=>{if(g.is0()){if(e.allowInfinityPoint&&!t.is0(g.py))return;throw new Error("bad point: ZERO")}const{x:w,y:_}=g.toAffine();if(!t.isValid(w)||!t.isValid(_))throw new Error("bad point: x or y not FE");const b=t.sqr(_),E=o(w);if(!t.eql(b,E))throw new Error("bad point: equation left != right");if(!g.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(w,_,b){if(this.px=w,this.py=_,this.pz=b,w==null||!t.isValid(w))throw new Error("x required");if(_==null||!t.isValid(_))throw new Error("y required");if(b==null||!t.isValid(b))throw new Error("z required");Object.freeze(this)}static fromAffine(w){const{x:_,y:b}=w||{};if(!w||!t.isValid(_)||!t.isValid(b))throw new Error("invalid affine point");if(w instanceof d)throw new Error("projective point not allowed");const E=A=>t.eql(A,t.ZERO);return E(_)&&E(b)?d.ZERO:new d(_,b,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(w){const _=t.invertBatch(w.map(b=>b.pz));return w.map((b,E)=>b.toAffine(_[E])).map(d.fromAffine)}static fromHex(w){const _=d.fromAffine(n(Ve("pointHex",w)));return _.assertValidity(),_}static fromPrivateKey(w){return d.BASE.multiply(c(w))}static msm(w,_){return Ov(d,i,w,_)}_setWindowSize(w){p.setWindowSize(this,w)}assertValidity(){h(this)}hasEvenY(){const{y:w}=this.toAffine();if(t.isOdd)return!t.isOdd(w);throw new Error("Field doesn't support isOdd")}equals(w){u(w);const{px:_,py:b,pz:E}=this,{px:A,py:T,pz:v}=w,I=t.eql(t.mul(_,v),t.mul(A,E)),P=t.eql(t.mul(b,v),t.mul(T,E));return I&&P}negate(){return new d(this.px,t.neg(this.py),this.pz)}double(){const{a:w,b:_}=e,b=t.mul(_,Ec),{px:E,py:A,pz:T}=this;let v=t.ZERO,I=t.ZERO,P=t.ZERO,S=t.mul(E,E),j=t.mul(A,A),N=t.mul(T,T),B=t.mul(E,A);return B=t.add(B,B),P=t.mul(E,T),P=t.add(P,P),v=t.mul(w,P),I=t.mul(b,N),I=t.add(v,I),v=t.sub(j,I),I=t.add(j,I),I=t.mul(v,I),v=t.mul(B,v),P=t.mul(b,P),N=t.mul(w,N),B=t.sub(S,N),B=t.mul(w,B),B=t.add(B,P),P=t.add(S,S),S=t.add(P,S),S=t.add(S,N),S=t.mul(S,B),I=t.add(I,S),N=t.mul(A,T),N=t.add(N,N),S=t.mul(N,B),v=t.sub(v,S),P=t.mul(N,j),P=t.add(P,P),P=t.add(P,P),new d(v,I,P)}add(w){u(w);const{px:_,py:b,pz:E}=this,{px:A,py:T,pz:v}=w;let I=t.ZERO,P=t.ZERO,S=t.ZERO;const j=e.a,N=t.mul(e.b,Ec);let B=t.mul(_,A),M=t.mul(b,T),$=t.mul(E,v),y=t.add(_,b),m=t.add(A,T);y=t.mul(y,m),m=t.add(B,M),y=t.sub(y,m),m=t.add(_,E);let D=t.add(A,v);return m=t.mul(m,D),D=t.add(B,$),m=t.sub(m,D),D=t.add(b,E),I=t.add(T,v),D=t.mul(D,I),I=t.add(M,$),D=t.sub(D,I),S=t.mul(j,m),I=t.mul(N,$),S=t.add(I,S),I=t.sub(M,S),S=t.add(M,S),P=t.mul(I,S),M=t.add(B,B),M=t.add(M,B),$=t.mul(j,$),m=t.mul(N,m),M=t.add(M,$),$=t.sub(B,$),$=t.mul(j,$),m=t.add(m,$),B=t.mul(M,m),P=t.add(P,B),B=t.mul(D,m),I=t.mul(y,I),I=t.sub(
6I,B),B=t.mul(y,M),S=t.mul(D,S),S=t.add(S,B),new d(I,P,S)}subtract(w){return this.add(w.negate())}is0(){return this.equals(d.ZERO)}wNAF(w){return p.wNAFCached(this,w,d.normalizeZ)}multiplyUnsafe(w){const{endo:_,n:b}=e;Rt("scalar",w,Tt,b);const E=d.ZERO;if(w===Tt)return E;if(this.is0()||w===me)return this;if(!_||p.hasPrecomputes(this))return p.wNAFCachedUnsafe(this,w,d.normalizeZ);let{k1neg:A,k1:T,k2neg:v,k2:I}=_.splitScalar(w),P=E,S=E,j=this;for(;T>Tt||I>Tt;)T&me&&(P=P.add(j)),I&me&&(S=S.add(j)),j=j.double(),T>>=me,I>>=me;return A&&(P=P.negate()),v&&(S=S.negate()),S=new d(t.mul(S.px,_.beta),S.py,S.pz),P.add(S)}multiply(w){const{endo:_,n:b}=e;Rt("scalar",w,me,b);let E,A;if(_){const{k1neg:T,k1:v,k2neg:I,k2:P}=_.splitScalar(w);let{p:S,f:j}=this.wNAF(v),{p:N,f:B}=this.wNAF(P);S=p.constTimeNegate(T,S),N=p.constTimeNegate(I,N),N=new d(t.mul(N.px,_.beta),N.py,N.pz),E=S.add(N),A=j.add(B)}else{const{p:T,f:v}=this.wNAF(w);E=T,A=v}return d.normalizeZ([E,A])[0]}multiplyAndAddUnsafe(w,_,b){const E=d.BASE,A=(v,I)=>I===Tt||I===me||!v.equals(E)?v.multiplyUnsafe(I):v.multiply(I),T=A(this,_).add(A(w,b));return T.is0()?void 0:T}toAffine(w){return l(this,w)}isTorsionFree(){const{h:w,isTorsionFree:_}=e;if(w===me)return!0;if(_)return _(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:w,clearCofactor:_}=e;return w===me?this:_?_(d,this):this.multiplyUnsafe(e.h)}toRawBytes(w=!0){return Hr("isCompressed",w),this.assertValidity(),s(d,this,w)}toHex(w=!0){return Hr("isCompressed",w),Vr(this.toRawBytes(w))}}d.BASE=new d(e.Gx,e.Gy,t.ONE),d.ZERO=new d(t.ZERO,t.ONE,t.ZERO);const f=e.nBitLength,p=Sv(d,e.endo?Math.ceil(f/2):f);return{CURVE:e,ProjectivePoint:d,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:a}}function qv(r){const e=Sh(r);return Xr(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Lv(r){const e=qv(r),{Fp:t,n:i}=e,s=t.BYTES+1,n=2*t.BYTES+1;function o($){return qe($,i)}function a($){return Yn($,i)}const{ProjectivePoint:c,normPrivateKeyToScalar:u,weierstrassEquation:l,isWithinCurveOrder:h}=Fv({...e,toBytes($,y,m){const D=y.toAffine(),x=t.toBytes(D.x),O=Si;return Hr("isCompressed",m),m?O(Uint8Array.from([y.hasEvenY()?2:3]),x):O(Uint8Array.from([4]),x,t.toBytes(D.y))},fromBytes($){const y=$.length,m=$[0],D=$.subarray(1);if(y===s&&(m===2||m===3)){const x=or(D);if(!Cs(x,me,t.ORDER))throw new Error("Point is not on curve");const O=l(x);let C;try{C=t.sqrt(O)}catch(k){const z=k instanceof Error?": "+k.message:"";throw new Error("Point is not on curve"+z)}const q=(C&me)===me;return(m&1)===1!==q&&(C=t.neg(C)),{x,y:C}}else if(y===n&&m===4){const x=t.fromBytes(D.subarray(0,t.BYTES)),O=t.fromBytes(D.subarray(t.BYTES,2*t.BYTES));return{x,y:O}}else{const x=s,O=n;throw new Error("invalid Point, expected length of "+x+", or uncompressed "+O+", got "+y)}}}),d=$=>Vr(Wr($,e.nByteLength));function f($){const y=i>>me;return $>y}function p($){return f($)?o(-$):$}const g=($,y,m)=>or($.slice(y,m));class w{constructor(y,m,D){this.r=y,this.s=m,this.recovery=D,this.assertValidity()}static fromCompact(y){const m=e.nByteLength;return y=Ve("compactSignature",y,m*2),new w(g(y,0,m),g(y,m,2*m))}static fromDER(y){const{r:m,s:D}=Ct.toSig(Ve("DER",y));return new w(m,D)}assertValidity(){Rt("r",this.r,me,i),Rt("s",this.s,me,i)}addRecoveryBit(y){return new w(this.r,this.s,y)}recoverPublicKey(y){const{r:m,s:D,recovery:x}=this,O=v(Ve("msgHash",y));if(x==null||![0,1,2,3].includes(x))throw new Error("recovery id invalid");const C=x===2||x===3?m+e.n:m;if(C>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const q=(x&1)===0?"02":"03",k=c.fromHex(q+d(C)),z=a(C),L=o(-O*z),H=o(D*z),V=c.BASE.multiplyAndAddUnsafe(k,L,H);if(!V)throw new Error("point at infinify");return V.assertValidity(),V}hasHighS(){return f(this.s)}normalizeS(){return this.hasHighS()?new w(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Kr(this.toDERHex())}toDERHex(){return Ct.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Kr(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}const _={isValidPrivateKey($){try{return u($),!0}catch{return!1}},normPrivateKeyToScalar:u,randomPrivateKey:()=>{const $=_h(e.n);return _v(e.randomBytes($),e.n)},precompute($=8,y=c.BASE){return y._setWindowSize($),y.multiply(BigInt(3)),y}};function b($,y=!0){return c.fromPrivateKey($).toRawBytes(y)}function E($){const y=lr($),m=typeof $=="string",D=(y||m)&&$.length;return y?D===s||D===n:m?D===2*s||D===2*n:$ instanceof c}function A($,y,m=!0){if(E($))throw new Error("first arg must be private key");if(!E(y))throw new Error("second arg must be public key");return c.fromHex(y).multiply(u($)).toRawBytes(m)}const T=e.bits2int||function($){if($.length>8192)throw new Error("input is too large");
vendor: 13,081 bytes, line 6
6const y=or($),m=$.length*8-e.nBitLength;return m>0?y>>BigInt(m):y},v=e.bits2int_modN||function($){return o(T($))},I=jo(e.nBitLength);function P($){return Rt("num < 2^"+e.nBitLength,$,Tt,I),Wr($,e.nByteLength)}function S($,y,m=j){if(["recovered","canonical"].some(ee=>ee in m))throw new Error("sign() legacy options not supported");const{hash:D,randomBytes:x}=e;let{lowS:O,prehash:C,extraEntropy:q}=m;O==null&&(O=!0),$=Ve("msgHash",$),vc(m),C&&($=Ve("prehashed msgHash",D($)));const k=v($),z=u(y),L=[P(z),P(k)];if(q!=null&&q!==!1){const ee=q===!0?x(t.BYTES):q;L.push(Ve("extraEntropy",ee))}const H=Si(...L),V=k;function ne(ee){const Y=T(ee);if(!h(Y))return;const Ae=a(Y),Ee=c.BASE.multiply(Y).toAffine(),Ce=o(Ee.x);if(Ce===Tt)return;const Je=o(Ae*o(V+Ce*z));if(Je===Tt)return;let It=(Ee.x===Ce?0:2)|Number(Ee.y&me),yr=Je;return O&&f(Je)&&(yr=p(Je),It^=1),new w(Ce,yr,It)}return{seed:H,k2sig:ne}}const j={lowS:e.lowS,prehash:!1},N={lowS:e.lowS,prehash:!1};function B($,y,m=j){const{seed:D,k2sig:x}=S($,y,m),O=e;return mh(O.hash.outputLen,O.nByteLength,O.hmac)(D,x)}c.BASE._setWindowSize(8);function M($,y,m,D=N){const x=$;y=Ve("msgHash",y),m=Ve("publicKey",m);const{lowS:O,prehash:C,format:q}=D;if(vc(D),"strict"in D)throw new Error("options.strict was renamed to lowS");if(q!==void 0&&q!=="compact"&&q!=="der")throw new Error("format must be compact or der");const k=typeof x=="string"||lr(x),z=!k&&!q&&typeof x=="object"&&x!==null&&typeof x.r=="bigint"&&typeof x.s=="bigint";if(!k&&!z)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let L,H;try{if(z&&(L=new w(x.r,x.s)),k){try{q!=="compact"&&(L=w.fromDER(x))}catch(Je){if(!(Je instanceof Ct.Err))throw Je}!L&&q!=="der"&&(L=w.fromCompact(x))}H=c.fromHex(m)}catch{return!1}if(!L||O&&L.hasHighS())return!1;C&&(y=e.hash(y));const{r:V,s:ne}=L,ee=v(y),Y=a(ne),Ae=o(ee*Y),Ee=o(V*Y),Ce=c.BASE.multiplyAndAddUnsafe(H,Ae,Ee)?.toAffine();return Ce?o(Ce.x)===V:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:A,sign:B,verify:M,ProjectivePoint:c,Signature:w,utils:_}}function kv(r){return{hash:r,hmac:(e,...t)=>Ps(r,e,Vw(...t)),randomBytes:Qr}}function Mv(r,e){const t=i=>Lv({...r,...kv(i)});return{...t(e),create:t}}const Oh=vh(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),zv=Oh.create(BigInt("-3")),Hv=BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Vv=Mv({a:zv,b:Hv,Fp:Oh,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},Ti),Ph="base10",Re="base16",ut="base64pad",Mt="base64url",Ni="utf8",$h=0,Nt=1,ji=2,Kv=0,_c=1,yi=12,Bo=32;function Wv(){const r=Zn.utils.randomPrivateKey(),e=Zn.getPublicKey(r);return{privateKey:Le(r,Re),publicKey:Le(e,Re)}}function Qn(){const r=Qr(Bo);return Le(r,Re)}function Gv(r,e){const t=Zn.getSharedSecret(tt(r,Re),tt(e,Re)),i=Qb(Ti,t,void 0,void 0,Bo);return Le(i,Re)}function ss(r){const e=Ti(tt(r,Re));return Le(e,Re)}function vt(r){const e=Ti(tt(r,Ni));return Le(e,Re)}function Ah(r){return tt(`${r}`,Ph)}function hr(r){return Number(Le(r,Ph))}function xh(r){return r.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Ch(r){const e=r.replace(/-/g,"+").replace(/_/g,"/"),t=(4-e.length%4)%4;return e+"=".repeat(t)}function Yv(r){const e=Ah(typeof r.type<"u"?r.type:$h);if(hr(e)===Nt&&typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const t=typeof r.senderPublicKey<"u"?tt(r.senderPublicKey,Re):void 0,i=typeof r.iv<"u"?tt(r.iv,Re):Qr(yi),s=tt(r.symKey,Re),n=fh(s,i).encrypt(tt(r.message,Ni)),o=Th({type:e,sealed:n,iv:i,senderPublicKey:t});return r.encoding===Mt?xh(o):o}function Jv(r){const e=tt(r.symKey,Re),{sealed:t,iv:i}=Oi({encoded:r.encoded,encoding:r.encoding}),s=fh(e,i).decrypt(t);if(s===null)throw new Error("Failed to decrypt");return Le(s,Ni)}function Zv(r,e){const t=Ah(ji),i=Qr(yi),s=tt(r,Ni),n=Th({type:t,sealed:s,iv:i});return e===Mt?xh(n):n}function Qv(r,e){const{sealed:t}=Oi({encoded:r,encoding:e});return Le(t,Ni)}function Th(r){if(hr(r.type)===ji)return Le(gi([r.type,r.sealed]),ut);if(hr(r.type)===Nt){if(typeof r.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return Le(gi([r.type,r.senderPublicKey,r.iv,r.sealed]),ut)}return Le(gi([r.type,r.iv,r.sealed]),ut)}function Oi(r){const e=(r.encoding||ut)===Mt?Ch(r.encoded):r.encoded,t=tt(e,ut),i=t.slice(Kv,_c),s=_c;if(hr(i)===Nt){const c=s+Bo,u=c+yi,l=t.slice(s,c),h=t.slice(c,u),d=t.slice(u);return{type:i,sealed:d,iv:h,senderPublicKey:l}}if(hr(i)===ji){const c=t.slice(s),u=Qr(yi);return{type:i,sealed:c,iv:u}}const n=s+yi,o=t.slice(s,n),a=t.slice(n);return{type:i,sealed:a,iv:o}}function Xv(r,e){const t=Oi({encoded:r,encoding:e?.encoding});return Rh({type:hr(t.type),senderPublicKey:typeof t.senderPublicKey<"u"?Le(t.senderPublicKey,Re):void 0,receiverPublicKey:e?.receiverPublicKey})}function Rh(r){const e=r?.type||$h;if(e===Nt){if(typeof r?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof r?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:e,senderPublicKey:r?.senderPublicKey,receiverPublicKey:r?.receiverPublicKey}}function Ic(r){return r.type===Nt&&typeof r.senderPublicKey=="string"&&typeof r.receiverPublicKey=="string"}function Dc(r){return r.type===ji}function e0(r){const e=Buffer.from(r.x,"base64"),t=Buffer.from(r.y,"base64");return gi([new Uint8Array([4]),e,t])}function t0(r,e){const[t,i,s]=r.split("."),n=Buffer.from(Ch(s),"base64");if(n.length!==64)throw new Error("Invalid signature length");const o=n.slice(0,32),a=n.slice(32,64),c=`${t}.${i}`,u=Ti(c),l=e0(e);if(!Vv.verify(gi([o,a]),u,l))throw new Error("Invalid signature");return Ln(r).payload}const r0="irn";function fs(r){return r?.relay||{protocol:r0}}function pi(r){const e=aw[r];if(typeof e>"u")throw new Error(`Relay Protocol not supported: ${r}`);return e}function i0(r,e="-"){const t={},i="relay"+e;return Object.keys(r).forEach(s=>{if(s.startsWith(i)){const n=s.replace(i,""),o=r[s];t[n]=o}}),t}function Sc(r){if(!r.includes("wc:")){const u=th(r);u!=null&&u.includes("wc:")&&(r=u)}r=r.includes("wc://")?r.replace("wc://",""):r,r=r.includes("wc:")?r.replace("wc:",""):r;const e=r.indexOf(":"),t=r.indexOf("?")!==-1?r.indexOf("?"):void 0,i=r.substring(0,e),s=r.substring(e+1,t).split("@"),n=typeof t<"u"?r.substring(t):"",o=new URLSearchParams(n),a={};o.forEach((u,l)=>{a[l]=u});const c=typeof a.methods=="string"?a.methods.split(","):void 0;return{protocol:i,topic:s0(s[0]),version:parseInt(s[1],10),symKey:a.symKey,relay:i0(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function s0(r){return r.startsWith("//")?r.substring(2):r}function n0(r,e="-"){const t="relay",i={};return Object.keys(r).forEach(s=>{const n=s,o=t+e+n;r[n]&&(i[o]=r[n])}),i}function Oc(r){const e=new URLSearchParams,t=n0(r.relay);Object.keys(t).sort().forEach(s=>{e.set(s,t[s])}),e.set("symKey",r.symKey),r.expiryTimestamp&&e.set("expiryTimestamp",r.expiryTimestamp.toString()),r.methods&&e.set("methods",r.methods.join(","));const i=e.toString();return`${r.protocol}:${r.topic}@${r.version}?${i}`}function Ki(r,e,t){return`${r}?wc_ev=${t}&topic=${e}`}var o0=Object.defineProperty,a0=Object.defineProperties,c0=Object.getOwnPropertyDescriptors,Pc=Object.getOwnPropertySymbols,u0=Object.prototype.hasOwnProperty,l0=Object.prototype.propertyIsEnumerable,$c=(r,e,t)=>e in r?o0(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,h0=(r,e)=>{for(var t in e||(e={}))u0.call(e,t)&&$c(r,t,e[t]);if(Pc)for(var t of Pc(e))l0.call(e,t)&&$c(r,t,e[t]);return r},d0=(r,e)=>a0(r,c0(e));function ei(r){const e=[];return r.forEach(t=>{const[i,s]=t.split(":");e.push(`${i}:${s}`)}),e}function p0(r){const e=[];return Object.values(r).forEach(t=>{e.push(...ei(t.accounts))}),e}function f0(r,e){const t=[];return Object.values(r).forEach(i=>{ei(i.accounts).includes(e)&&t.push(...i.methods)}),t}function g0(r,e){const t=[];return Object.values(r).forEach(i=>{ei(i.accounts).includes(e)&&t.push(...i.events)}),t}function Ts(r){return r.includes(":")}function Fr(r){return Ts(r)?r.split(":")[0]:r}function Ac(r){var e,t,i;const s={};if(!Kt(r))return s;for(const[n,o]of Object.entries(r)){const a=Ts(n)?[n]:o.chains,c=o.methods||[],u=o.events||[],l=Fr(n);s[l]=d0(h0({},s[l]),{chains:Et(a,(e=s[l])==null?void 0:e.chains),methods:Et(c,(t=s[l])==null?void 0:t.methods),events:Et(u,(i=s[l])==null?void 0:i.events)})}return s}function y0(r){const e={};return r?.forEach(t=>{var i;const[s,n]=t.split(":");e[s]||(e[s]={accounts:[],chains:[],events:[],methods:[]}),e[s].accounts.push(t),(i=e[s].chains)==null||i.push(`${s}:${n}`)}),e}function xc(r,e){e=e.map(i=>i.replace("did:pkh:",""));const t=y0(e);for(const[i,s]of Object.entries(t))s.methods?s.methods=Et(s.methods,r):s.methods=r,s.events=["chainChanged","accountsChanged"];return t}function m0(r,e){var t,i,s,n,o,a;const c=Ac(r),u=Ac(e),l={},h=Object.keys(c).concat(Object.keys(u));for(const d of h)l[d]={chains:Et((t=c[d])==null?void 0:t.chains,(i=u[d])==null?void 0:i.chains),methods:Et((s=c[d])==null?void 0:s.methods,(n=u[d])==null?void 0:n.methods),events:Et((o=c[d])==null?void 0:o.events,(a=u[d])==null?void 0:a.events)};return l}const w0={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}},b0={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 F(r,e){const{message:t,code:i}=b0[r];return{message:e?`${t} ${e}`:t,code:i}}function te(r,e){const{message:t,code:i}=w0[r];return{message:e?`${t} ${e}`:t,code:i}}function lt(r,e){return!!Array.isArray(r)}function Kt(r){return Object.getPrototypeOf(r)===Object.prototype&&Object.keys(r).length}function Se(r){return typeof r>"u"}function he(r,e){return e&&Se(r)?!0:typeof r=="string"&&!!r.trim().length}function Uo(r,e){return e&&Se(r)?!0:typeof r=="number"&&!isNaN(r)}function v0(r,e){const{requiredNamespaces:t}=e,i=Object.keys(r.namespaces),s=Object.keys(t);let n=!0;return sr(s,i)?(i.forEach(o=>{const{accounts:a,methods:c,events:u}=r.namespaces[o],l=ei(a),h=t[o];(!sr(Jl(o,h),l)||!sr(h.methods,c)||!sr(h.events,u))&&(n=!1)}),n):!1}function gs(r){return he(r,!1)&&r.includes(":")?r.split(":").length===2:!1}function E0(r){if(he(r,!1)&&r.includes(":")){const e=r.split(":");if(e.length===3){const t=e[0]+":"+e[1];return!!e[2]&&gs(t)}}return!1}function _0(r){function e(t){try{return typeof new URL(t)<"u"}catch{return!1}}try{if(he(r,!1)){if(e(r))return!0;const t=th(r);return e(t)}}catch{}return!1}function I0(r){var e;return(e=r?.proposer)==null?void 0:e.publicKey}function D0(r){return r?.topic}function S0(r,e){let t=null;return he(r?.publicKey,!1)||(t=F("MISSING_OR_INVALID",`${e} controller public key should be a string`)),t}function Cc(r){let e=!0;return lt(r)?r.length&&(e=r.every(t=>he(t,!1))):e=!1,e}function O0(r,e,t){let i=null;return lt(e)&&e.length?e.forEach(s=>{i||gs(s)||(i=te("UNSUPPORTED_CHAINS",`${t}, chain ${s} should be a string and conform to "namespace:chainId" format`))}):gs(r)||(i=te("UNSUPPORTED_CHAINS",`${t}, 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:
65"] }`)),i}function P0(r,e,t){let i=null;return Object.entries(r).forEach(([s,n])=>{if(i)return;const o=O0(s,Jl(s,n),`${e} ${t}`);o&&(i=o)}),i}function $0(r,e){let t=null;return lt(r)?r.forEach(i=>{t||E0(i)||(t=te("UNSUPPORTED_ACCOUNTS",`${e}, account ${i} should be a string and conform to "namespace:chainId:address" format`))}):t=te("UNSUPPORTED_ACCOUNTS",`${e}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),t}function A0(r,e){let t=null;return Object.values(r).forEach(i=>{if(t)return;const s=$0(i?.accounts,`${e} namespace`);s&&(t=s)}),t}function x0(r,e){let t=null;return Cc(r?.methods)?Cc(r?.events)||(t=te("UNSUPPORTED_EVENTS",`${e}, events should be an array of strings or empty array for no events`)):t=te("UNSUPPORTED_METHODS",`${e}, methods should be an array of strings or empty array for no methods`),t}function Nh(r,e){let t=null;return Object.values(r).forEach(i=>{if(t)return;const s=x0(i,`${e}, namespace`);s&&(t=s)}),t}function C0(r,e,t){let i=null;if(r&&Kt(r)){const s=Nh(r,e);s&&(i=s);const n=P0(r,e,t);n&&(i=n)}else i=F("MISSING_OR_INVALID",`${e}, ${t} should be an object with data`);return i}function fn(r,e){let t=null;if(r&&Kt(r)){const i=Nh(r,e);i&&(t=i);const s=A0(r,e);s&&(t=s)}else t=F("MISSING_OR_INVALID",`${e}, namespaces should be an object with data`);return t}function jh(r){return he(r.protocol,!0)}function T0(r,e){let t=!1;return r?r&<(r)&&r.length&&r.forEach(i=>{t=jh(i)}):t=!0,t}function R0(r){return typeof r=="number"}function Fe(r){return typeof r<"u"&&typeof r!==null}function N0(r){return!(!r||typeof r!="object"||!r.code||!Uo(r.code,!1)||!r.message||!he(r.message,!1))}function j0(r){return!(Se(r)||!he(r.method,!1))}function B0(r){return!(Se(r)||Se(r.result)&&Se(r.error)||!Uo(r.id,!1)||!he(r.jsonrpc,!1))}function U0(r){return!(Se(r)||!he(r.name,!1))}function Tc(r,e){return!(!gs(e)||!p0(r).includes(e))}function F0(r,e,t){return he(t,!1)?f0(r,e).includes(t):!1}function q0(r,e,t){return he(t,!1)?g0(r,e).includes(t):!1}function Rc(r,e,t){let i=null;const s=L0(r),n=k0(e),o=Object.keys(s),a=Object.keys(n),c=Nc(Object.keys(r)),u=Nc(Object.keys(e)),l=c.filter(h=>!u.includes(h));return l.length&&(i=F("NON_CONFORMING_NAMESPACES",`${t} namespaces keys don't satisfy requiredNamespaces. 7 Required: ${l.toString()} 8 Received: ${Object.keys(e).toString()}`)),sr(o,a)||(i=F("NON_CONFORMING_NAMESPACES",`${t} namespaces chains don't satisfy required namespaces. 9 Required: ${o.toString()} 10 Approved: ${a.toString()}`)),Object.keys(e).forEach(h=>{if(!h.includes(":")||i)return;const d=ei(e[h].accounts);d.includes(h)||(i=F("NON_CONFORMING_NAMESPACES",`${t} namespaces accounts don't satisfy namespace accounts for ${h} 11 Required: ${h} 12 Approved: ${d.toString()}`))}),o.forEach(h=>{i||(sr(s[h].methods,n[h].methods)?sr(s[h].events,n[h].events)||(i=F("NON_CONFORMING_NAMESPACES",`${t} namespaces events don't satisfy namespace events for ${h}`)):i=F("NON_CONFORMING_NAMESPACES",`${t} namespaces methods don't satisfy namespace methods for ${h}`))}),i}function L0(r){const e={};return Object.keys(r).forEach(t=>{var i;t.includes(":")?e[t]=r[t]:(i=r[t].chains)==null||i.forEach(s=>{e[s]={methods:r[t].methods,events:r[t].events}})}),e}function Nc(r){return[...new Set(r.map(e=>e.includes(":")?e.split(":")[0]:e))]}function k0(r){const e={};return Object.keys(r).forEach(t=>{t.includes(":")?e[t]=r[t]:ei(r[t].accounts)?.forEach(s=>{e[s]={accounts:r[t].accounts.filter(n=>n.includes(`${s}:`)),methods:r[t].methods,events:r[t].events}})}),e}function M0(r,e){return Uo(r,!1)&&r<=e.max&&r>=e.min}function jc(){const r=xi();return new Promise(e=>{switch(r){case We.browser:e(z0());break;case We.reactNative:e(H0());break;case We.node:e(V0());break;default:e(!0)}})}function z0(){return Zr()&&navigator?.onLine}async function H0(){return Wt()&&typeof global<"u"&&global!=null&&global.NetInfo?(await(global==null?void 0:global.NetInfo.fetch()))?.isConnected:!0}function V0(){return!0}function K0(r){switch(xi()){case We.browser:W0(r);break;case We.reactNative:G0(r);break}}
vendor: 9,183 bytes, line 12
12function W0(r){!Wt()&&Zr()&&(window.addEventListener("online",()=>r(!0)),window.addEventListener("offline",()=>r(!1)))}function G0(r){Wt()&&typeof global<"u"&&global!=null&&global.NetInfo&&global?.NetInfo.addEventListener(e=>r(e?.isConnected))}function Y0(){var r;return Zr()&&jt.getDocument()?((r=jt.getDocument())==null?void 0:r.visibilityState)==="visible":!0}const gn={};class ai{static get(e){return gn[e]}static set(e,t){gn[e]=t}static delete(e){delete gn[e]}}class dr{}let J0=class extends dr{constructor(e){super()}};const Bc=U.FIVE_SECONDS,pr={pulse:"heartbeat_pulse"};let Z0=class Bh extends J0{constructor(e){super(e),this.events=new Ye.EventEmitter,this.interval=Bc,this.interval=e?.interval||Bc}static async init(e){const t=new Bh(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(),U.toMiliseconds(this.interval))}pulse(){this.events.emit(pr.pulse)}};const Q0=/"(?:_|\\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*:/,X0=/"(?: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*:/,eE=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function tE(r,e){if(r==="__proto__"||r==="constructor"&&e&&typeof e=="object"&&"prototype"in e){rE(r);return}return e}function rE(r){console.warn(`[destr] Dropping "${r}" key to prevent prototype pollution.`)}function Wi(r,e={}){if(typeof r!="string")return r;if(r[0]==='"'&&r[r.length-1]==='"'&&r.indexOf("\\")===-1)return r.slice(1,-1);const t=r.trim();if(t.length<=9)switch(t.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!eE.test(r)){if(e.strict)throw new SyntaxError("[destr] Invalid JSON");return r}try{if(Q0.test(r)||X0.test(r)){if(e.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(r,tE)}return JSON.parse(r)}catch(i){if(e.strict)throw i;return r}}function iE(r){return!r||typeof r.then!="function"?Promise.resolve(r):r}function ye(r,...e){try{return iE(r(...e))}catch(t){return Promise.reject(t)}}function sE(r){const e=typeof r;return r===null||e!=="object"&&e!=="function"}function nE(r){const e=Object.getPrototypeOf(r);return!e||e.isPrototypeOf(Object)}function ns(r){if(sE(r))return String(r);if(nE(r)||Array.isArray(r))return JSON.stringify(r);if(typeof r.toJSON=="function")return ns(r.toJSON());throw new Error("[unstorage] Cannot stringify value!")}const Xn="base64:";function oE(r){return typeof r=="string"?r:Xn+uE(r)}function aE(r){return typeof r!="string"||!r.startsWith(Xn)?r:cE(r.slice(Xn.length))}function cE(r){return globalThis.Buffer?Buffer.from(r,"base64"):Uint8Array.from(globalThis.atob(r),e=>e.codePointAt(0))}function uE(r){return globalThis.Buffer?Buffer.from(r).toString("base64"):globalThis.btoa(String.fromCodePoint(...r))}function Ue(r){return r&&r.split("?")[0]?.replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,"")||""}function lE(...r){return Ue(r.join(":"))}function Gi(r){return r=Ue(r),r?r+":":""}function hE(r,e){if(e===void 0)return!0;let t=0,i=r.indexOf(":");for(;i>-1;)t++,i=r.indexOf(":",i+1);return t<=e}function dE(r,e){return e?r.startsWith(e)&&r[r.length-1]!=="$":r[r.length-1]!=="$"}const pE="memory",fE=()=>{const r=new Map;return{name:pE,getInstance:()=>r,hasItem(e){return r.has(e)},getItem(e){return r.get(e)??null},getItemRaw(e){return r.get(e)??null},setItem(e,t){r.set(e,t)},setItemRaw(e,t){r.set(e,t)},removeItem(e){r.delete(e)},getKeys(){return[...r.keys()]},clear(){r.clear()},dispose(){r.clear()}}};function gE(r={}){const e={mounts:{"":r.driver||fE()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},t=u=>{for(const l of e.mountpoints)if(u.startsWith(l))return{base:l,relativeKey:u.slice(l.length),driver:e.mounts[l]};return{base:"",relativeKey:u,driver:e.mounts[""]}},i=(u,l)=>e.mountpoints.filter(h=>h.startsWith(u)||l&&u.startsWith(h)).map(h=>({relativeBase:u.length>h.length?u.slice(h.length):void 0,mountpoint:h,driver:e.mounts[h]})),s=(u,l)=>{if(e.watching){l=Ue(l);for(const h of e.watchListeners)h(u,l)}},n=async()=>{if(!e.watching){e.watching=!0;for(const u in e.mounts)e.unwatch[u]=await Uc(e.mounts[u],s,u)}},o=async()=>{if(e.watching){for(const u in e.unwatch)await e.unwatch[u]();e.unwatch={},e.watching=!1}},a=(u,l,h)=>{const d=new Map,f=p=>{let g=d.get(p.base);return g||(g={driver:p.driver,base:p.base,items:[]},d.set(p.base,g)),g};for(const p of u){const g=typeof p=="string",w=Ue(g?p:p.key),_=g?void 0:p.value,b=g||!p.options?l:{...l,...p.options},E=t(w);f(E).items.push({key:w,value:_,relativeKey:E.relativeKey,options:b})}return Promise.all([...d.values()].map(p=>h(p))).then(p=>p.flat())},c={hasItem(u,l={}){u=Ue(u);const{relativeKey:h,driver:d}=t(u);return ye(d.hasItem,h,l)},getItem(u,l={}){u=Ue(u);const{relativeKey:h,driver:d}=t(u);return ye(d.getItem,h,l).then(f=>Wi(f))},getItems(u,l={}){return a(u,l,h=>h.driver.getItems?ye(h.driver.getItems,h.items.map(d=>({key:d.relativeKey,options:d.options})),l).then(d=>d.map(f=>({key:lE(h.base,f.key),value:Wi(f.value)}))):Promise.all(h.items.map(d=>ye(h.driver.getItem,d.relativeKey,d.options).then(f=>({key:d.key,value:Wi(f)})))))},getItemRaw(u,l={}){u=Ue(u);const{relativeKey:h,driver:d}=t(u);return d.getItemRaw?ye(d.getItemRaw,h,l):ye(d.getItem,h,l).then(f=>aE(f))},async setItem(u,l,h={}){if(l===void 0)return c.removeItem(u);u=Ue(u);const{relativeKey:d,driver:f}=t(u);f.setItem&&(await ye(f.setItem,d,ns(l),h),f.watch||s("update",u))},async setItems(u,l){await a(u,l,async h=>{if(h.driver.setItems)return ye(h.driver.setItems,h.items.map(d=>({key:d.relativeKey,value:ns(d.value),options:d.options})),l);h.driver.setItem&&await Promise.all(h.items.map(d=>ye(h.driver.setItem,d.relativeKey,ns(d.value),d.options)))})},async setItemRaw(u,l,h={}){if(l===void 0)return c.removeItem(u,h);u=Ue(u);const{relativeKey:d,driver:f}=t(u);if(f.setItemRaw)await ye(f.setItemRaw,d,l,h);else if(f.setItem)await ye(f.setItem,d,oE(l),h);else return;f.watch||s("update",u)},async removeItem(u,l={}){typeof l=="boolean"&&(l={removeMeta:l}),u=Ue(u);const{relativeKey:h,driver:d}=t(u);d.removeItem&&(await ye(d.removeItem,h,l),(l.removeMeta||l.removeMata)&&await ye(d.removeItem,h+"$",l),d.watch||s("remove",u))},async getMeta(u,l={}){typeof l=="boolean"&&(l={nativeOnly:l}),u=Ue(u);const{relativeKey:h,driver:d}=t(u),f=Object.create(null);if(d.getMeta&&Object.assign(f,await ye(d.getMeta,h,l)),!l.nativeOnly){const p=await ye(d.getItem,h+"$",l).then(g=>Wi(g));p&&typeof p=="object"&&(typeof p.atime=="string"&&(p.atime=new Date(p.atime)),typeof p.mtime=="string"&&(p.mtime=new Date(p.mtime)),Object.assign(f,p))}return f},setMeta(u,l,h={}){return this.setItem(u+"$",l,h)},removeMeta(u,l={}){return this.removeItem(u+"$",l)},async getKeys(u,l={}){u=Gi(u);const h=i(u,!0);let d=[];const f=[];let p=!0;for(const w of h){w.driver.flags?.maxDepth||(p=!1);const _=await ye(w.driver.getKeys,w.relativeBase,l);for(const b of _){const E=w.mountpoint+Ue(b);d.some(A=>E.startsWith(A))||f.push(E)}d=[w.mountpoint,...d.filter(b=>!b.startsWith(w.mountpoint))]}const g=l.maxDepth!==void 0&&!p;return f.filter(w=>(!g||hE(w,l.maxDepth))&&dE(w,u))},async clear(u,l={}){u=Gi(u),await Promise.all(i(u,!1).map(async h=>{if(h.driver.clear)return ye(h.driver.clear,h.relativeBase,l);if(h.driver.removeItem){const d=await h.driver.getKeys(h.relativeBase||"",l);return Promise.all(d.map(f=>h.driver.removeItem(f,l)))}}))},async dispose(){await Promise.all(Object.values(e.mounts).map(u=>Fc(u)))},async watch(u){return await n(),e.watchListeners.push(u),async()=>{e.watchListeners=e.watchListeners.filter(l=>l!==u),e.watchListeners.length===0&&await o()}},async unwatch(){e.watchListeners=[],await o()},mount(u,l){if(u=Gi(u),u&&e.mounts[u])throw new Error(`already mounted at ${u}`);return u&&(e.mountpoints.push(u),e.mountpoints.sort((h,d)=>d.length-h.length)),e.mounts[u]=l,e.watching&&Promise.resolve(Uc(l,s,u)).then(h=>{e.unwatch[u]=h}).catch(console.error),c},async unmount(u,l=!0){u=Gi(u),!(!u||!e.mounts[u])&&(e.watching&&u in e.unwatch&&(e.unwatch[u]?.(),delete e.unwatch[u]),l&&await Fc(e.mounts[u]),e.mountpoints=e.mountpoints.filter(h=>h!==u),delete e.mounts[u])},getMount(u=""){u=Ue(u)+":";const l=t(u);return{driver:l.driver,base:l.base}},getMounts(u="",l={}){return u=Ue(u),i(u,l.parents).map(d=>({driver:d.driver,base:d.mountpoint}))},keys:(u,l={})=>c.getKeys(u,l),get:(u,l={})=>c.getItem(u,l),set:(u,l,h={})=>c.setItem(u,l,h),has:(u,l={})=>c.hasItem(u,l),del:(u,l={})=>c.removeItem(u,l),remove:(u,l={})=>c.removeItem(u,l)};return c}function Uc(r,e,t){return r.watch?r.watch((i,s)=>e(i,t+s)):()=>{}}async function Fc(r){typeof r.dispose=="function"&&await ye(r.dispose)}const yE="idb-keyval";var mE=(r={})=>{const e=r.base&&r.base.length>0?`${r.base}
12:`:"",t=s=>e+s;let i;return r.dbName&&r.storeName&&(i=Td(r.dbName,r.storeName)),{name:yE,options:r,async hasItem(s){return!(typeof await Zo(t(s),i)>"u")},async getItem(s){return await Zo(t(s),i)??null},setItem(s,n){return Bd(t(s),n,i)},removeItem(s){return jd(t(s),i)},getKeys(){return Nd(i)},clear(){return Rd(i)}}};const wE="WALLET_CONNECT_V2_INDEXED_DB",bE="keyvaluestorage";let vE=class{constructor(){this.indexedDb=gE({driver:mE({dbName:wE,storeName:bE})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map(e=>[e.key,e.value])}async getItem(e){const t=await this.indexedDb.getItem(e);if(t!==null)return t}async setItem(e,t){await this.indexedDb.setItem(e,Bt(t))}async removeItem(e){await this.indexedDb.removeItem(e)}};var yn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},os={exports:{}};(function(){let r;function e(){}r=e,r.prototype.getItem=function(t){return this.hasOwnProperty(t)?String(this[t]):null},r.prototype.setItem=function(t,i){this[t]=String(i)},r.prototype.removeItem=function(t){delete this[t]},r.prototype.clear=function(){const t=this;Object.keys(t).forEach(function(i){t[i]=void 0,delete t[i]})},r.prototype.key=function(t){return t=t||0,Object.keys(this)[t]},r.prototype.__defineGetter__("length",function(){return Object.keys(this).length}),typeof yn<"u"&&yn.localStorage?os.exports=yn.localStorage:typeof window<"u"&&window.localStorage?os.exports=window.localStorage:os.exports=new e})();function EE(r){var e;return[r[0],cr((e=r[1])!=null?e:"")]}let _E=class{constructor(){this.localStorage=os.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(EE)}async getItem(e){const t=this.localStorage.getItem(e);if(t!==null)return cr(t)}async setItem(e,t){this.localStorage.setItem(e,Bt(t))}async removeItem(e){this.localStorage.removeItem(e)}};const IE="wc_storage_version",qc=1,DE=async(r,e,t)=>{const i=IE,s=await e.getItem(i);if(s&&s>=qc){t(e);return}const n=await r.getKeys();if(!n.length){t(e);return}const o=[];for(;n.length;){const a=n.shift();if(!a)continue;const c=a.toLowerCase();if(c.includes("wc@")||c.includes("walletconnect")||c.includes("wc_")||c.includes("wallet_connect")){const u=await r.getItem(a);await e.setItem(a,u),o.push(a)}}await e.setItem(i,qc),t(e),SE(r,o)},SE=async(r,e)=>{e.length&&e.forEach(async t=>{await r.removeItem(t)})};let OE=class{constructor(){this.initialized=!1,this.setInitialized=t=>{this.storage=t,this.initialized=!0};const e=new _E;this.storage=e;try{const t=new vE;DE(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=>{const t=setInterval(()=>{this.initialized&&(clearInterval(t),e())},20)})}};var mn,Lc;function PE(){if(Lc)return mn;Lc=1;function r(t){try{return JSON.stringify(t)}catch{return'"[Circular]"'}}mn=e;function e(t,i,s){var n=s&&s.stringify||r,o=1;if(typeof t=="object"&&t!==null){var a=i.length+o;if(a===1)return t;var c=new Array(a);c[0]=n(t);for(var u=1;u<a;u++)c[u]=n(i[u]);return c.join(" ")}if(typeof t!="string")return t;var l=i.length;if(l===0)return t;for(var h="",d=1-o,f=-1,p=t&&t.length||0,g=0;g<p;){if(t.charCodeAt(g)===37&&g+1<p){switch(f=f>-1?f:0,t.charCodeAt(g+1)){case 100:case 102:if(d>=l||i[d]==null)break;f<g&&(h+=t.slice(f,g)),h+=Number(i[d]),f=g+2,g++;break;case 105:if(d>=l||i[d]==null)break;f<g&&(h+=t.slice(f,g)),h+=Math.floor(Number(i[d])),f=g+2,g++;break;case 79:case 111:case 106:if(d>=l||i[d]===void 0)break;f<g&&(h+=t.slice(f,g));var w=typeof i[d];if(w==="string"){h+="'"+i[d]+"'",f=g+2,g++;break}if(w==="function"){h+=i[d].name||"<anonymous>",f=g+2,g++;break}h+=n(i[d]),f=g+2,g++;break;case 115:if(d>=l)break;f<g&&(h+=t.slice(f,g)),h+=String(i[d]),f=g+2,g++;break;case 37:f<g&&(h+=t.slice(f,g)),h+="%",f=g+2,g++,d--;break}++d}++g}return f===-1?t:(f<p&&(h+=t.slice(f)),h)}return mn}var wn,kc;function $E(){if(kc)return wn;kc=1;const r=PE();wn=s;const e=T().console||{},t={mapHttpRequest:p,mapHttpResponse:p,wrapRequestSerializer:g,wrapResponseSerializer:g,wrapErrorSerializer:g,req:p,res:p,err:d};function i(v,I){return Array.isArray(v)?v.filter(function(S){return S!=="!stdSerializers.err"}):v===!0?Object.keys(I):!1}function s(v){v=v||{},v.browser=v.browser||{};const I=v.browser.transmit;if(I&&typeof I.send!="function")throw Error("pino: transmit option must have a send function");const P=v.browser.write||e;v.browser.write&&(v.browser.asObject=!0);const S=v.serializers||{},j=i(v.browser.serialize,S);let N=v.browser.serialize;Array.isArray(v.browser.serialize)&&v.browser.serialize.indexOf("!stdSerializers.err")>-1&&(N=!1);const B=["error","fatal","warn","info","debug","trace"];typeof P=="function"&&(P.error=P.fatal=P.warn=P.info=P.debug=P.trace=P),v.enabled===!1&&(v.level="silent");const M=v.level||"info",$=Object.create(P);$.log||($.log=w),Object.defineProperty($,"levelVal",{get:m}
12),Object.defineProperty($,"level",{get:D,set:x});const y={transmit:I,serialize:j,asObject:v.browser.asObject,levels:B,timestamp:f(v)};$.levels=s.levels,$.level=M,$.setMaxListeners=$.getMaxListeners=$.emit=$.addListener=$.on=$.prependListener=$.once=$.prependOnceListener=$.removeListener=$.removeAllListeners=$.listeners=$.listenerCount=$.eventNames=$.write=$.flush=w,$.serializers=S,$._serialize=j,$._stdErrSerialize=N,$.child=O,I&&($._logEvent=h());function m(){return this.level==="silent"?1/0:this.levels.values[this.level]}function D(){return this._level}function x(C){if(C!=="silent"&&!this.levels.values[C])throw Error("unknown level "+C);this._level=C,n(y,$,"error","log"),n(y,$,"fatal","error"),n(y,$,"warn","error"),n(y,$,"info","log"),n(y,$,"debug","log"),n(y,$,"trace","log")}function O(C,q){if(!C)throw new Error("missing bindings for child Pino");q=q||{},j&&C.serializers&&(q.serializers=C.serializers);const k=q.serializers;if(j&&k){var z=Object.assign({},S,k),L=v.browser.serialize===!0?Object.keys(z):j;delete C.serializers,c([C],L,z,this._stdErrSerialize)}function H(V){this._childLevel=(V._childLevel|0)+1,this.error=u(V,C,"error"),this.fatal=u(V,C,"fatal"),this.warn=u(V,C,"warn"),this.info=u(V,C,"info"),this.debug=u(V,C,"debug"),this.trace=u(V,C,"trace"),z&&(this.serializers=z,this._serialize=L),I&&(this._logEvent=h([].concat(V._logEvent.bindings,C)))}return H.prototype=this,new H(this)}return $}s.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"}},s.stdSerializers=t,s.stdTimeFunctions=Object.assign({},{nullTime:_,epochTime:b,unixTime:E,isoTime:A});function n(v,I,P,S){const j=Object.getPrototypeOf(I);I[P]=I.levelVal>I.levels.values[P]?w:j[P]?j[P]:e[P]||e[S]||w,o(v,I,P)}function o(v,I,P){!v.transmit&&I[P]===w||(I[P]=(function(S){return function(){const N=v.timestamp(),B=new Array(arguments.length),M=Object.getPrototypeOf&&Object.getPrototypeOf(this)===e?e:this;for(var $=0;$<B.length;$++)B[$]=arguments[$];if(v.serialize&&!v.asObject&&c(B,this._serialize,this.serializers,this._stdErrSerialize),v.asObject?S.call(M,a(this,P,B,N)):S.apply(M,B),v.transmit){const y=v.transmit.level||I.level,m=s.levels.values[y],D=s.levels.values[P];if(D<m)return;l(this,{ts:N,methodLevel:P,methodValue:D,transmitValue:s.levels.values[v.transmit.level||I.level],send:v.transmit.send,val:I.levelVal},B)}}})(I[P]))}function a(v,I,P,S){v._serialize&&c(P,v._serialize,v.serializers,v._stdErrSerialize);const j=P.slice();let N=j[0];const B={};S&&(B.time=S),B.level=s.levels.values[I];let M=(v._childLevel|0)+1;if(M<1&&(M=1),N!==null&&typeof N=="object"){for(;M--&&typeof j[0]=="object";)Object.assign(B,j.shift());N=j.length?r(j.shift(),j):void 0}else typeof N=="string"&&(N=r(j.shift(),j));return N!==void 0&&(B.msg=N),B}function c(v,I,P,S){for(const j in v)if(S&&v[j]instanceof Error)v[j]=s.stdSerializers.err(v[j]);else if(typeof v[j]=="object"&&!Array.isArray(v[j]))for(const N in v[j])I&&I.indexOf(N)>-1&&N in P&&(v[j][N]=P[N](v[j][N]))}function u(v,I,P){return function(){const S=new Array(1+arguments.length);S[0]=I;for(var j=1;j<S.length;j++)S[j]=arguments[j-1];return v[P].apply(this,S)}}function l(v,I,P){const S=I.send,j=I.ts,N=I.methodLevel,B=I.methodValue,M=I.val,$=v._logEvent.bindings;c(P,v._serialize||Object.keys(v.serializers),v.serializers,v._stdErrSerialize===void 0?!0:v._stdErrSerialize),v._logEvent.ts=j,v._logEvent.messages=P.filter(function(y){return $.indexOf(y)===-1}),v._logEvent.level.label=N,v._logEvent.level.value=B,S(N,v._logEvent,M),v._logEvent=h($)}function h(v){return{ts:0,messages:[],bindings:v||[],level:{label:"",value:0}}}function d(v){const I={type:v.constructor.name,msg:v.message,stack:v.stack};for(const P in v)I[P]===void 0&&(I[P]=v[P]);return I}function f(v){return typeof v.timestamp=="function"?v.timestamp:v.timestamp===!1?_:b}function p(){return{}}function g(v){return v}function w(){}function _(){return!1}function b(){return Date.now()}function E(){return Math.round(Date.now()/1e3)}function A(){return new Date(Date.now()).toISOString()}
12function T(){function v(I){return typeof I<"u"&&I}try{return typeof globalThis<"u"||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch{return v(self)||v(window)||v(this)||{}}}return wn}var jr=$E();const Bi=vo(jr),AE={level:"info"},Ui="custom_context",Fo=1e3*1024;let xE=class{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}},Mc=class{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new xE(e);if(t.size>this.maxSizeInBytes)throw new 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.tail=t):(this.head=t,this.tail=t),this.lengthInNodes++,this.sizeInBytes+=t.size}shift(){if(!this.head)return;const e=this.head;this.head=this.head.next,this.head||(this.tail=null),this.lengthInNodes--,this.sizeInBytes-=e.size}toArray(){const e=[];let t=this.head;for(;t!==null;)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};const t=e.value;return e=e.next,{done:!1,value:t}}}}},Uh=class{constructor(e,t=Fo){this.level=e??"error",this.levelValue=jr.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new Mc(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===jr.levels.values.error?console.error(e):t===jr.levels.values.warn?console.warn(e):t===jr.levels.values.debug?console.debug(e):t===jr.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append(Bt({timestamp:new Date().toISOString(),log:e}));const t=typeof e=="string"?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new Mc(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push(Bt({extraMetadata:e})),new Blob(t,{type:"application/json"})}},CE=class{constructor(e,t=Fo){this.baseChunkLogger=new Uh(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){const t=URL.createObjectURL(this.logsToBlob(e)),i=document.createElement("a");i.href=t,i.download=`walletconnect-logs-${new Date().toISOString()}.txt`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(t)}},TE=class{constructor(e,t=Fo){this.baseChunkLogger=new Uh(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 RE=Object.defineProperty,NE=Object.defineProperties,jE=Object.getOwnPropertyDescriptors,zc=Object.getOwnPropertySymbols,BE=Object.prototype.hasOwnProperty,UE=Object.prototype.propertyIsEnumerable,Hc=(r,e,t)=>e in r?RE(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ys=(r,e)=>{for(var t in e||(e={}))BE.call(e,t)&&Hc(r,t,e[t]);if(zc)for(var t of zc(e))UE.call(e,t)&&Hc(r,t,e[t]);return r},ms=(r,e)=>NE(r,jE(e));function Rs(r){return ms(ys({},r),{level:r?.level||AE.level})}function FE(r,e=Ui){return r[e]||""}function qE(r,e,t=Ui){return r[t]=e,r}function ke(r,e=Ui){let t="";return typeof r.bindings>"u"?t=FE(r,e):t=r.bindings().context||"",t}function LE(r,e,t=Ui){const i=ke(r,t);return i.trim()?`${i}/${e}`:e}function Ne(r,e,t=Ui){const i=LE(r,e,t),s=r.child({context:i});return qE(s,i,t)}function kE(r){var e,t;const i=new CE((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Bi(ms(ys({},r.opts),{level:"trace",browser:ms(ys({},(t=r.opts)==null?void 0:t.browser),{write:s=>i.write(s)})})),chunkLoggerController:i}}function ME(r){var e;const t=new TE((e=r.opts)==null?void 0:e.level,r.maxSizeInBytes);return{logger:Bi(ms(ys({},r.opts),{level:"trace"}),t),chunkLoggerController:t}}function zE(r){return typeof r.loggerOverride<"u"&&typeof r.loggerOverride!="string"?{logger:r.loggerOverride,chunkLoggerController:null}:typeof window<"u"?kE(r):ME(r)}var HE=Object.defineProperty,VE=(r,e,t)=>e in r?HE(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Vc=(r,e,t)=>VE(r,typeof e!="symbol"?e+"":e,t);let KE=class extends dr{constructor(e){super(),this.opts=e,Vc(this,"protocol","wc"),Vc(this,"version",2)}};var WE=Object.defineProperty,GE=(r,e,t)=>e in r?WE(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,YE=(r,e,t)=>GE(r,e+"",t);let JE=class extends dr{constructor(e,t){super(),this.core=e,this.logger=t,YE(this,"records",new Map)}},ZE=class{constructor(e,t){this.logger=e,this.core=t}};class QE extends dr{constructor(e,t){super(),this.relayer=e,this.logger=t}}let XE=class extends dr{constructor(e){super()}},e1=class{constructor(e,t,i,s){this.core=e,this.logger=t,this.name=i}},t1=class extends dr{constructor(e,t){super(),this.relayer=e,this.logger=t}},r1=class extends dr{constructor(e,t){super(),this.core=e,this.logger=t}},i1=class{constructor(e,t,i){this.core=e,this.logger=t,this.store=i}},s1=class{constructor(e,t){this.projectId=e,this.logger=t}},n1=class{constructor(e,t,i){this.core=e,this.logger=t,this.telemetryEnabled=i}};var o1=Object.defineProperty,a1=(r,e,t)=>e in r?o1(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Kc=(r,e,t)=>a1(r,typeof e!="symbol"?e+"":e,t);let c1=class{constructor(e){this.opts=e,Kc(this,"protocol","wc"),Kc(this,"version",2)}},u1=class{constructor(e){this.client=e}};const l1="PARSE_ERROR",h1="INVALID_REQUEST",d1="METHOD_NOT_FOUND",p1="INVALID_PARAMS",Fh="INTERNAL_ERROR",qo="SERVER_ERROR",f1=[-32700,-32600,-32601,-32602,-32603],mi={[l1]:{code:-32700,message:"Parse error"},[h1]:{code:-32600,message:"Invalid Request"},[d1]:{code:-32601,message:"Method not found"},[p1]:{code:-32602,message:"Invalid params"},[Fh]:{code:-32603,message:"Internal error"},[qo]:{code:-32e3,message:"Server error"}},qh=qo;function g1(r){return f1.includes(r)}function Wc(r){return Object.keys(mi).includes(r)?mi[r]:mi[qh]}function y1(r){const e=Object.values(mi).find(t=>t.code===r);return e||mi[qh]}function Lh(r,e,t){return r.message.includes("getaddrinfo ENOTFOUND")||r.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${t} RPC url at ${e}`):r}var bn={};
vendor: 24,306 bytes, line 12
12var eo=function(r,e){return eo=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var s in i)i.hasOwnProperty(s)&&(t[s]=i[s])},eo(r,e)};function m1(r,e){eo(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var to=function(){return to=Object.assign||function(e){for(var t,i=1,s=arguments.length;i<s;i++){t=arguments[i];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},to.apply(this,arguments)};function w1(r,e){var t={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&e.indexOf(i)<0&&(t[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var s=0,i=Object.getOwnPropertySymbols(r);s<i.length;s++)e.indexOf(i[s])<0&&Object.prototype.propertyIsEnumerable.call(r,i[s])&&(t[i[s]]=r[i[s]]);return t}function b1(r,e,t,i){var s=arguments.length,n=s<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")n=Reflect.decorate(r,e,t,i);else for(var a=r.length-1;a>=0;a--)(o=r[a])&&(n=(s<3?o(n):s>3?o(e,t,n):o(e,t))||n);return s>3&&n&&Object.defineProperty(e,t,n),n}function v1(r,e){return function(t,i){e(t,i,r)}}function E1(r,e){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,e)}function _1(r,e,t,i){function s(n){return n instanceof t?n:new t(function(o){o(n)})}return new(t||(t=Promise))(function(n,o){function a(l){try{u(i.next(l))}catch(h){o(h)}}function c(l){try{u(i.throw(l))}catch(h){o(h)}}function u(l){l.done?n(l.value):s(l.value).then(a,c)}u((i=i.apply(r,e||[])).next())})}function I1(r,e){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},i,s,n,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(u){return function(l){return c([u,l])}}function c(u){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,s&&(n=u[0]&2?s.return:u[0]?s.throw||((n=s.return)&&n.call(s),0):s.next)&&!(n=n.call(s,u[1])).done)return n;switch(s=0,n&&(u=[u[0]&2,n.value]),u[0]){case 0:case 1:n=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,s=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(n=t.trys,!(n=n.length>0&&n[n.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!n||u[1]>n[0]&&u[1]<n[3])){t.label=u[1];break}if(u[0]===6&&t.label<n[1]){t.label=n[1],n=u;break}if(n&&t.label<n[2]){t.label=n[2],t.ops.push(u);break}n[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(r,t)}catch(l){u=[6,l],s=0}finally{i=n=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function D1(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}function S1(r,e){for(var t in r)t!=="default"&&!e.hasOwnProperty(t)&&(e[t]=r[t])}function ro(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function kh(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),s,n=[],o;try{for(;(e===void 0||e-- >0)&&!(s=i.next()).done;)n.push(s.value)}catch(a){o={error:a}}finally{try{s&&!s.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return n}function O1(){for(var r=[],e=0;e<arguments.length;e++)r=r.concat(kh(arguments[e]));return r}function P1(){for(var r=0,e=0,t=arguments.length;e<t;e++)r+=arguments[e].length;for(var i=Array(r),s=0,e=0;e<t;e++)for(var n=arguments[e],o=0,a=n.length;o<a;o++,s++)i[s]=n[o];return i}function Pi(r){return this instanceof Pi?(this.v=r,this):new Pi(r)}function $1(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),s,n=[];return s={},o("next"),o("throw"),o("return"),s[Symbol.asyncIterator]=function(){return this},s;function o(d){i[d]&&(s[d]=function(f){return new Promise(function(p,g){n.push([d,f,p,g])>1||a(d,f)})})}function a(d,f){try{c(i[d](f))}catch(p){h(n[0][3],p)}}function c(d){d.value instanceof Pi?Promise.resolve(d.value.v).then(u,l):h(n[0][2],d)}function u(d){a("next",d)}function l(d){a("throw",d)}function h(d,f){d(f),n.shift(),n.length&&a(n[0][0],n[0][1])}}function A1(r){var e,t;return e={},i("next"),i("throw",function(s){throw s}),i("return"),e[Symbol.iterator]=function(){return this},e;function i(s,n){e[s]=r[s]?function(o){return(t=!t)?{value:Pi(r[s](o)),done:s==="return"}:n?n(o):o}:n}}function x1(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof ro=="function"?ro(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(n){t[n]=r[n]&&function(o){return new Promise(function(a,c){o=r[n](o),s(a,c,o.done,o.value)})}}function s(n,o,a,c){Promise.resolve(c).then(function(u){n({value:u,done:a})},o)}}function C1(r,e){return Object.defineProperty?Object.defineProperty(r,"raw",{value:e}):r.raw=e,r}function T1(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)Object.hasOwnProperty.call(r,t)&&(e[t]=r[t]);return e.default=r,e}function R1(r){return r&&r.__esModule?r:{default:r}}function N1(r,e){if(!e.has(r))throw new TypeError("attempted to get private field on non-instance");return e.get(r)}function j1(r,e,t){if(!e.has(r))throw new TypeError("attempted to set private field on non-instance");return e.set(r,t),t}const B1=Object.freeze(Object.defineProperty({__proto__:null,get __assign(){return to},__asyncDelegator:A1,__asyncGenerator:$1,__asyncValues:x1,__await:Pi,__awaiter:_1,__classPrivateFieldGet:N1,__classPrivateFieldSet:j1,__createBinding:D1,__decorate:b1,__exportStar:S1,__extends:m1,__generator:I1,__importDefault:R1,__importStar:T1,__makeTemplateObject:C1,__metadata:E1,__param:v1,__read:kh,__rest:w1,__spread:O1,__spreadArrays:P1,__values:ro},Symbol.toStringTag,{value:"Module"})),U1=Xu(B1);var $t={},Gc;function F1(){if(Gc)return $t;Gc=1,Object.defineProperty($t,"__esModule",{value:!0}),$t.isBrowserCryptoAvailable=$t.getSubtleCrypto=$t.getBrowerCrypto=void 0;function r(){return(bt===null||bt===void 0?void 0:bt.crypto)||(bt===null||bt===void 0?void 0:bt.msCrypto)||{}}$t.getBrowerCrypto=r;function e(){const i=r();return i.subtle||i.webkitSubtle}$t.getSubtleCrypto=e;function t(){return!!r()&&!!e()}return $t.isBrowserCryptoAvailable=t,$t}var At={},Yc;function q1(){if(Yc)return At;Yc=1,Object.defineProperty(At,"__esModule",{value:!0}),At.isBrowser=At.isNode=At.isReactNative=void 0;function r(){return typeof document>"u"&&typeof navigator<"u"&&navigator.product==="ReactNative"}At.isReactNative=r;function e(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}At.isNode=e;function t(){return!r()&&!e()}return At.isBrowser=t,At}var Jc;function L1(){return Jc||(Jc=1,(function(r){Object.defineProperty(r,"__esModule",{value:!0});const e=U1;e.__exportStar(F1(),r),e.__exportStar(q1(),r)})(bn)),bn}var k1=L1();function mt(r=3){const e=Date.now()*Math.pow(10,r),t=Math.floor(Math.random()*Math.pow(10,r));return e+t}function nr(r=6){return BigInt(mt(r))}function Ht(r,e,t){return{id:t||mt(),jsonrpc:"2.0",method:r,params:e}}function Ns(r,e){return{id:r,jsonrpc:"2.0",result:e}}function js(r,e,t){return{id:r,jsonrpc:"2.0",error:M1(e)}}function M1(r,e){return typeof r>"u"?Wc(Fh):(typeof r=="string"&&(r=Object.assign(Object.assign({},Wc(qo)),{message:r})),g1(r.code)&&(r=y1(r.code)),r)}class z1{}class H1 extends z1{constructor(){super()}}class V1 extends H1{constructor(e){super()}}const K1="^https?:",W1="^wss?:";function G1(r){const e=r.match(new RegExp(/^\w+:/,"gi"));if(!(!e||!e.length))return e[0]}function Mh(r,e){const t=G1(r);return typeof t>"u"?!1:new RegExp(e).test(t)}function Zc(r){return Mh(r,K1)}function Qc(r){return Mh(r,W1)}function Y1(r){return new RegExp("wss?://localhost(:d{2,5})?").test(r)}function zh(r){return typeof r=="object"&&"id"in r&&"jsonrpc"in r&&r.jsonrpc==="2.0"}function Lo(r){return zh(r)&&"method"in r}function Bs(r){return zh(r)&&(wt(r)||et(r))}function wt(r){return"result"in r}function et(r){return"error"in r}let rt=class extends V1{constructor(e){super(e),this.events=new Ye.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(Ht(e.method,e.params||[],e.id||nr().toString()),t)}async requestStrict(e,t){return new Promise(async(i,s)=>{if(!this.connection.connected)try{await this.open()}catch(n){s(n)}this.events.on(`${e.id}`,n=>{et(n)?s(n.error):i(n.result)});try{await this.connection.send(e,t)}catch(n){s(n)}})}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),Bs(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&e.code===3e3&&this.events.emit("error",new 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(),typeof e=="string"&&(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)}};const J1=()=>typeof WebSocket<"u"?WebSocket:typeof global<"u"&&typeof global.WebSocket<"u"?global.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:require("ws"),Z1=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",Xc=r=>r.split("?")[0],eu=10,Q1=J1();let X1=class{constructor(e){if(this.url=e,this.events=new Ye.EventEmitter,this.registering=!1,!Qc(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);this.url=e}get connected(){return typeof this.socket<"u"}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)=>{if(typeof this.socket>"u"){t(new Error("Connection already closed"));return}this.socket.onclose=i=>{this.onClose(i),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(Bt(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!Qc(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((i,s)=>{this.events.once("register_error",n=>{this.resetMaxListeners(),s(n)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return s(new Error("WebSocket connection is missing or invalid"));i(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,i)=>{const s=k1.isReactNative()?void 0:{rejectUnauthorized:!Y1(e)},n=new Q1(e,[],s);Z1()?n.onerror=o=>{const a=o;i(this.emitError(a.error))}:n.on("error",o=>{i(this.emitError(o))}),n.onopen=()=>{this.onOpen(n),t(n)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),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;const t=typeof e.data=="string"?cr(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),s=i.message||i.toString(),n=js(e,s);this.events.emit("payload",n)}parseError(e,t=this.url){return Lh(e,Xc(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>eu&&this.events.setMaxListeners(eu)}emitError(e){const t=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${Xc(this.url)}`));return this.events.emit("register_error",t),t}};var e_={};const Hh="wc",Vh=2,io="core",_t=`${Hh}@2:${io}:`,t_={logger:"error"},r_={database:":memory:"},i_="crypto",tu="client_ed25519_seed",s_=U.ONE_DAY,n_="keychain",o_="0.3",a_="messages",c_="0.3",ru=U.SIX_HOURS,u_="publisher",Kh="irn",l_="error",Wh="wss://relay.walletconnect.org",h_="relayer",we={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",transport_closed:"relayer_transport_closed",publish:"relayer_publish"},d_="_subscription",Ze={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},p_=.1,so="2.21.1",ae={link_mode:"link_mode",relay:"relay"},as={inbound:"inbound",outbound:"outbound"},f_="0.3",g_="WALLETCONNECT_CLIENT_ID",iu="WALLETCONNECT_LINK_MODE_APPS",He={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},y_="subscription",m_="0.3",w_="pairing",b_="0.3",ci={wc_pairingDelete:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:U.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:U.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:U.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:U.ONE_DAY,prompt:!1,tag:0},res:{ttl:U.ONE_DAY,prompt:!1,tag:0}}},rr={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},nt={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},v_="history",E_="0.3",__="expirer",Xe={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},I_="0.3",D_="verify-api",S_="https://verify.walletconnect.com",Gh="https://verify.walletconnect.org",wi=Gh,O_=`${wi}/v3`,P_=[S_,Gh],$_="echo",A_="https://echo.walletconnect.com",yt={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal",subscribing_to_pairing_topic:"subscribing_to_pairing_topic"},xt={no_wss_connection:"no_wss_connection",no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_expired:"proposal_expired",proposal_listener_not_found:"proposal_listener_not_found"},ot={session_approve_started:"session_approve_started",proposal_not_expired:"proposal_not_expired",session_namespaces_validation_success:"session_namespaces_validation_success",create_session_topic:"create_session_topic",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success"},Jt={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found"},Zt={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"},ui={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"},x_=.1,C_="event-client",T_=86400,R_="https://pulse.walletconnect.org/batch";function N_(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var s=0;s<r.length;s++){var n=r.charAt(s),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+" is ambiguous");t[o]=s}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function h(p){if(p instanceof Uint8Array||(ArrayBuffer.isView(p)?p=new Uint8Array(p.buffer,p.byteOffset,p.byteLength):Array.isArray(p)&&(p=Uint8Array.from(p))),!(p instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(p.length===0)return"";for(var g=0,w=0,_=0,b=p.length;_!==b&&p[_]===0;)_++,g++;for(var E=(b-_)*l+1>>>0,A=new Uint8Array(E);_!==b;){for(var T=p[_],v=0,I=E-1;(T!==0||v<w)&&I!==-1;I--,v++)T+=256*A[I]>>>0,A[I]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");w=v,_++}for(var P=E-w;P!==E&&A[P]===0;)P++;for(var S=c.repeat(g);P<E;++P)S+=r.charAt(A[P]);return S}function d(p){if(typeof p!="string")throw new TypeError("Expected String");if(p.length===0)return new Uint8Array;var g=0;if(p[g]!==" "){for(var w=0,_=0;p[g]===c;)w++,g++;for(var b=(p.length-g)*u+1>>>0,E=new Uint8Array(b);p[g];){var A=t[p.charCodeAt(g)];if(A===255)return;for(var T=0,v=b-1;(A!==0||T<_)&&v!==-1;v--,T++)A+=a*E[v]>>>0,E[v]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");_=T,g++}if(p[g]!==" "){for(var I=b-_;I!==b&&E[I]===0;)I++;for(var P=new Uint8Array(w+(b-I)),S=w;I!==b;)P[S++]=E[I++];return P}}}function f(p){var g=d(p);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:h,decodeUnsafe:d,decode:f}}var j_=N_,B_=j_;const Yh=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},U_=r=>new TextEncoder().encode(r),F_=r=>new TextDecoder().decode(r);class q_{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class L_{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Jh(this,e)}}class k_{constructor(e){this.decoders=e}or(e){return Jh(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const Jh=(r,e)=>new k_({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class M_{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new q_(e,t,i),this.decoder=new L_(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const Us=({name:r,prefix:e,encode:t,decode:i})=>new M_(r,e,t,i),Fi=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:s}=B_(t,e);return Us({prefix:r,name:e,encode:i,decode:n=>Yh(s(n))})},z_=(r,e,t,i)=>{const s={};for(let l=0;l<e.length;++l)s[e[l]]=l;let n=r.length;for(;r[n-1]==="=";)--n;const o=new Uint8Array(n*t/8|0);let a=0,c=0,u=0;for(let l=0;l<n;++l){const h=s[r[l]];if(h===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|h,a+=t,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},H_=(r,e,t)=>{const i=e[e.length-1]==="=",s=(1<<t)-1;let n="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,n+=e[s&a>>o];if(o&&(n+=e[s&a<<t-o]),i)for(;n.length*t&7;)n+="=";return n},$e=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>Us({prefix:e,name:r,encode(s){return H_(s,i,t)},decode(s){return z_(s,i,t,r)}}),V_=Us({prefix:"\0",name:"identity",encode:r=>F_(r),decode:r=>U_(r)});var K_=Object.freeze({__proto__:null,identity:V_});const W_=$e({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var G_=Object.freeze({__proto__:null,base2:W_});const Y_=$e({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var J_=Object.freeze({__proto__:null,base8:Y_});const Z_=Fi({prefix:"9",name:"base10",alphabet:"0123456789"});var Q_=Object.freeze({__proto__:null,base10:Z_});const X_=$e({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),eI=$e({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var tI=Object.freeze({__proto__:null,base16:X_,base16upper:eI});const rI=$e({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),iI=$e({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),sI=$e({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),nI=$e({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),oI=$e({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),aI=$e({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),cI=$e({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),uI=$e({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),lI=$e({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var hI=Object.freeze({__proto__:null,base32:rI,base32upper:iI,base32pad:sI,base32padupper:nI,base32hex:oI,base32hexupper:aI,base32hexpad:cI,base32hexpadupper:uI,base32z:lI});const dI=Fi({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),pI=Fi({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var fI=Object.freeze({__proto__:null,base36:dI,base36upper:pI});const gI=Fi({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),yI=Fi({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var mI=Object.freeze({__proto__:null,base58btc:gI,base58flickr:yI});const wI=$e({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
12+/",bitsPerChar:6}),bI=$e({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),vI=$e({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),EI=$e({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var _I=Object.freeze({__proto__:null,base64:wI,base64pad:bI,base64url:vI,base64urlpad:EI});const Zh=Array.from("ððªâð°ðððððððððððððâð»ð¥ð¾ð¿ðâ¤ðð¤£ððððððð
ððð¥ð¥°ðððð¢ð¤ðððªðâºðð¤ððððð¹ð¤¦ððââ¨ð¤·ð±ðð¸ððððððððð¤©ððð¤ðð¯ððð¶ðð¤â£ððððªðð¥ððð©ð¡ð¤ªðð¥³ð¥ð¤¤ððð³âððð´ðð¬ððð·ð»ðââ
ð¥ºððð¤ð¦âð£ððâ¹ððð âððºðð»ððððð¹ð£ð«ðððµð¤ðð´ð¤ð¼ð«â½ð¤âðð¤«ðð®ðð»ðð¶ðð²ð¿ð§¡ðâ¡ððââðð°ð¤¨ð¶ð¤ð¶ð°ðð¢ð¤ðð¨ð¨ð¤¬âððºð¤ððð±ðð¶ð¥´â¶â¡âðð¸â¬ð¨ðð¦ð·ðºâ ð
ððµðð¤²ð¤ ð¤§ððµð
ð§ð¾ððð¤ðð¤¯ð·âð§ð¯ððð¤ððâð´ð£ð¸ððð¥ð¤¢ð
ð¡ð©ðð¸ð»ð¤ð¤®ð¼ð¥µð©ððð¼ðð£ð¥"),II=Zh.reduce((r,e,t)=>(r[t]=e,r),[]),DI=Zh.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function SI(r){return r.reduce((e,t)=>(e+=II[t],e),"")}function OI(r){const e=[];for(const t of r){const i=DI[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const PI=Us({prefix:"ð",name:"base256emoji",encode:SI,decode:OI});var $I=Object.freeze({__proto__:null,base256emoji:PI}),AI=Qh,su=128,xI=-128,CI=Math.pow(2,31);function Qh(r,e,t){e=e||[],t=t||0;for(var i=t;r>=CI;)e[t++]=r&255|su,r/=128;for(;r&xI;)e[t++]=r&255|su,r>>>=7;return e[t]=r|0,Qh.bytes=t-i+1,e}var TI=no,RI=128,nu=127;function no(r,i){var t=0,i=i||0,s=0,n=i,o,a=r.length;do{if(n>=a)throw no.bytes=0,new RangeError("Could not decode varint");o=r[n++],t+=s<28?(o&nu)<<s:(o&nu)*Math.pow(2,s),s+=7}while(o>=RI);return no.bytes=n-i,t}var NI=Math.pow(2,7),jI=Math.pow(2,14),BI=Math.pow(2,21),UI=Math.pow(2,28),FI=Math.pow(2,35),qI=Math.pow(2,42),LI=Math.pow(2,49),kI=Math.pow(2,56),MI=Math.pow(2,63),zI=function(r){return r<NI?1:r<jI?2:r<BI?3:r<UI?4:r<FI?5:r<qI?6:r<LI?7:r<kI?8:r<MI?9:10},HI={encode:AI,decode:TI,encodingLength:zI},Xh=HI;const ou=(r,e,t=0)=>(Xh.encode(r,e,t),e),au=r=>Xh.encodingLength(r),oo=(r,e)=>{const t=e.byteLength,i=au(r),s=i+au(t),n=new Uint8Array(s+t);return ou(r,n,0),ou(t,n,i),n.set(e,s),new VI(r,t,e,n)};class VI{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const ed=({name:r,code:e,encode:t})=>new KI(r,e,t);class KI{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?oo(this.code,t):t.then(i=>oo(this.code,i))}else throw Error("Unknown type, must be binary type")}}const td=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),WI=ed({name:"sha2-256",code:18,encode:td("SHA-256")}),GI=ed({name:"sha2-512",code:19,encode:td("SHA-512")});var YI=Object.freeze({__proto__:null,sha256:WI,sha512:GI});const rd=0,JI="identity",id=Yh,ZI=r=>oo(rd,id(r)),QI={code:rd,name:JI,encode:id,digest:ZI};var XI=Object.freeze({__proto__:null,identity:QI});new TextEncoder,new TextDecoder;const cu={...K_,...G_,...J_,...Q_,...tI,...hI,...fI,...mI,..._I,...$I};({...YI,...XI});function e2(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(r):new Uint8Array(r)}function sd(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const uu=sd("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>
vendor: 5,514 bytes, line 12
12new TextEncoder().encode(r.substring(1))),vn=sd("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=e2(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),t2={utf8:uu,"utf-8":uu,hex:cu.base16,latin1:vn,ascii:vn,binary:vn,...cu};function r2(r,e="utf8"){const t=t2[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r,"utf8"):t.decoder.decode(`${t.prefix}${r}`)}var i2=Object.defineProperty,s2=(r,e,t)=>e in r?i2(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ft=(r,e,t)=>s2(r,typeof e!="symbol"?e+"":e,t);class n2{constructor(e,t){this.core=e,this.logger=t,ft(this,"keychain",new Map),ft(this,"name",n_),ft(this,"version",o_),ft(this,"initialized",!1),ft(this,"storagePrefix",_t),ft(this,"init",async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}}),ft(this,"has",i=>(this.isInitialized(),this.keychain.has(i))),ft(this,"set",async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()}),ft(this,"get",i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>"u"){const{message:n}=F("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(n)}return s}),ft(this,"del",async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()}),this.core=e,this.logger=Ne(t,this.name)}get context(){return ke(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,kn(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Mn(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}}var o2=Object.defineProperty,a2=(r,e,t)=>e in r?o2(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ie=(r,e,t)=>a2(r,typeof e!="symbol"?e+"":e,t);class c2{constructor(e,t,i){this.core=e,this.logger=t,Ie(this,"name",i_),Ie(this,"keychain"),Ie(this,"randomSessionIdentifier",Qn()),Ie(this,"initialized",!1),Ie(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),Ie(this,"hasKeys",s=>(this.isInitialized(),this.keychain.has(s))),Ie(this,"getClientId",async()=>{this.isInitialized();const s=await this.getClientSeed(),n=La(s);return Hl(n.publicKey)}),Ie(this,"generateKeyPair",()=>{this.isInitialized();const s=Wv();return this.setPrivateKey(s.publicKey,s.privateKey)}),Ie(this,"signJWT",async s=>{this.isInitialized();const n=await this.getClientSeed(),o=La(n),a=this.randomSessionIdentifier;return await lm(a,s,s_,o)}),Ie(this,"generateSharedKey",(s,n,o)=>{this.isInitialized();const a=this.getPrivateKey(s),c=Gv(a,n);return this.setSymKey(c,o)}),Ie(this,"setSymKey",async(s,n)=>{this.isInitialized();const o=n||ss(s);return await this.keychain.set(o,s),o}),Ie(this,"deleteKeyPair",async s=>{this.isInitialized(),await this.keychain.del(s)}),Ie(this,"deleteSymKey",async s=>{this.isInitialized(),await this.keychain.del(s)}),Ie(this,"encode",async(s,n,o)=>{this.isInitialized();const a=Rh(o),c=Bt(n);if(Dc(a))return Zv(c,o?.encoding);if(Ic(a)){const d=a.senderPublicKey,f=a.receiverPublicKey;s=await this.generateSharedKey(d,f)}const u=this.getSymKey(s),{type:l,senderPublicKey:h}=a;return Yv({type:l,symKey:u,message:c,senderPublicKey:h,encoding:o?.encoding})}),Ie(this,"decode",async(s,n,o)=>{this.isInitialized();const a=Xv(n,o);if(Dc(a)){const c=Qv(n,o?.encoding);return cr(c)}if(Ic(a)){const c=a.receiverPublicKey,u=a.senderPublicKey;s=await this.generateSharedKey(c,u)}try{const c=this.getSymKey(s),u=Jv({symKey:c,encoded:n,encoding:o?.encoding});return cr(u)}catch(c){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),Ie(this,"getPayloadType",(s,n=ut)=>{const o=Oi({encoded:s,encoding:n});return hr(o.type)}),Ie(this,"getPayloadSenderPublicKey",(s,n=ut)=>{const o=Oi({encoded:s,encoding:n});return o.senderPublicKey?Le(o.senderPublicKey,Re):void 0}),this.core=e,this.logger=Ne(t,this.name),this.keychain=i||new n2(this.core,this.logger)}get context(){return ke(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(tu)}catch{e=Qn(),await this.keychain.set(tu,e)}return r2(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}}var u2=Object.defineProperty,l2=Object.defineProperties,h2=Object.getOwnPropertyDescriptors,lu=Object.getOwnPropertySymbols,d2=Object.prototype.hasOwnProperty,p2=Object.prototype.propertyIsEnumerable,ao=(r,e,t)=>e in r?u2(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,f2=(r,e)=>{for(var t in e||(e={}))d2.call(e,t)&&ao(r,t,e[t]);if(lu)for(var t of lu(e))p2.call(e,t)&&ao(r,t,e[t]);return r},g2=(r,e)=>l2(r,h2(e)),Me=(r,e,t)=>ao(r,typeof e!="symbol"?e+"":e,t);class y2 extends ZE{constructor(e,t){super(e,t),this.logger=e,this.core=t,Me(this,"messages",new Map),Me(this,"messagesWithoutClientAck",new Map),Me(this,"name",a_),Me(this,"version",c_),Me(this,"initialized",!1),Me(this,"storagePrefix",_t),Me(this,"init",async()=>
12{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i);const s=await this.getRelayerMessagesWithoutClientAck();typeof s<"u"&&(this.messagesWithoutClientAck=s),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}}),Me(this,"set",async(i,s,n)=>{this.isInitialized();const o=vt(s);let a=this.messages.get(i);if(typeof a>"u"&&(a={}),typeof a[o]<"u")return o;if(a[o]=s,this.messages.set(i,a),n===as.inbound){const c=this.messagesWithoutClientAck.get(i)||{};this.messagesWithoutClientAck.set(i,g2(f2({},c),{[o]:s}))}return await this.persist(),o}),Me(this,"get",i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>"u"&&(s={}),s}),Me(this,"getWithoutAck",i=>{this.isInitialized();const s={};for(const n of i){const o=this.messagesWithoutClientAck.get(n)||{};s[n]=Object.values(o)}return s}),Me(this,"has",(i,s)=>{this.isInitialized();const n=this.get(i),o=vt(s);return typeof n[o]<"u"}),Me(this,"ack",async(i,s)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(i);if(typeof n>"u")return;const o=vt(s);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(i):this.messagesWithoutClientAck.set(i,n),await this.persist()}),Me(this,"del",async i=>{this.isInitialized(),this.messages.delete(i),this.messagesWithoutClientAck.delete(i),await this.persist()}),this.logger=Ne(e,this.name),this.core=t}get context(){return ke(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,kn(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,kn(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Mn(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<"u"?Mn(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}}var m2=Object.defineProperty,w2=Object.defineProperties,b2=Object.getOwnPropertyDescriptors,hu=Object.getOwnPropertySymbols,v2=Object.prototype.hasOwnProperty,E2=Object.prototype.propertyIsEnumerable,co=(r,e,t)=>e in r?m2(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Yi=(r,e)=>{for(var t in e||(e={}))v2.call(e,t)&&co(r,t,e[t]);if(hu)for(var t of hu(e))E2.call(e,t)&&co(r,t,e[t]);return r},En=(r,e)=>w2(r,b2(e)),at=(r,e,t)=>co(r,typeof e!="symbol"?e+"":e,t);class _2 extends QE{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,at(this,"events",new Ye.EventEmitter),at(this,"name",u_),at(this,"queue",new Map),at(this,"publishTimeout",U.toMiliseconds(U.ONE_MINUTE)),at(this,"initialPublishTimeout",U.toMiliseconds(U.ONE_SECOND*15)),at(this,"needsTransportRestart",!1),at(this,"publish",async(i,s,n)=>{var o;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:s,opts:n}});const a=n?.ttl||ru,c=fs(n),u=n?.prompt||!1,l=n?.tag||0,h=n?.id||nr().toString(),d={topic:i,message:s,opts:{ttl:a,relay:c,prompt:u,tag:l,id:h,attestation:n?.attestation,tvf:n?.tvf}},f=`Failed to publish payload, please try again. id:${h} tag:${l}`;try{const p=new Promise(async g=>{const w=({id:b})=>{d.opts.id===b&&(this.removeRequestFromQueue(b),this.relayer.events.removeListener(we.publish,w),g(d))};this.relayer.events.on(we.publish,w);const _=zt(new Promise((b,E)=>{this.rpcPublish({topic:i,message:s,ttl:a,prompt:u,tag:l,id:h,attestation:n?.attestation,tvf:n?.tvf}).then(b).catch(A=>{this.logger.warn(A,A?.message),E(A)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${h} tag:${l}`);try{await _,this.events.removeListener(we.publish,w)}catch(b){this.queue.set(h,En(Yi({},d),{attempt:1})),this.logger.warn(b,b?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:h,topic:i,message:s,opts:n}}),await zt(p,this.publishTimeout,f)}catch(p){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(p),(o=n?.internal)!=null&&o.throwOnFailedPublish)throw p}finally{this.queue.delete(h)}}),at(this,"on",(i,s)=>{this.events.on(i,s)}),at(this,"once",(i,s)=>{this.events.once(i,s)}),at(this,"off",(i,s)=>{this.events.off(i,s)}),at(this,"removeListener",(i,s)=>{this.events.removeListener(i,s)}),this.relayer=e,this.logger=Ne(t,this.name),this.registerEventListeners()}get context(){return ke(this.logger)}async rpcPublish(e){var t,i,s,n;const{topic:o,message:a,ttl:c=ru,prompt:u,tag:l,id:h,attestation:d,tvf:f}=e,p={method:pi(fs().protocol).publish,params:Yi({topic:o,message:a,ttl:c,prompt:u,tag:l,attestation:d},f),id:h};Se((t=p.params)==null?void 0:t.prompt)&&((i=p.params)==null||delete i.prompt),Se((s=p.params)==null?void 0:s.tag)&&((n=p.params)==null||delete n.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:p});const g=await this.relayer.request(p);return this.relayer.events.emit(we.publish,e),this.logger.debug("Successfully Published Payload"),g}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{const i=e.attempt+1;this.queue.set(t,En(Yi({},e),{attempt:i}));const{topic:s,message:n,opts:o,attestation:a}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${i}`),await this.rpcPublish(En(Yi({},e),{topic:s,message:n,ttl:o.ttl,prompt:o.prompt,tag:o.tag,id:o.id,attestation:a,tvf:o.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(pr.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(we.connection_stalled);return}this.checkQueue()}),this.relayer.on(we.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var I2=Object.defineProperty,D2=(r,e,t)=>e in r?I2(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,_r=(r,e,t)=>D2(r,typeof e!="symbol"?e+"":e,t);class S2{constructor(){_r(this,"map",new Map),_r(this,"set",(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])}),_r(this,"get",e=>this.map.get(e)||[]),_r(this,"exists",(e,t)=>this.get(e).includes(t)),_r(this,"delete",(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(n=>n!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)}),_r(this,"clear",()=>{this.map.clear()})}
vendor: 8,571 bytes, line 12
12get topics(){return Array.from(this.map.keys())}}var O2=Object.defineProperty,P2=Object.defineProperties,$2=Object.getOwnPropertyDescriptors,du=Object.getOwnPropertySymbols,A2=Object.prototype.hasOwnProperty,x2=Object.prototype.propertyIsEnumerable,uo=(r,e,t)=>e in r?O2(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,li=(r,e)=>{for(var t in e||(e={}))A2.call(e,t)&&uo(r,t,e[t]);if(du)for(var t of du(e))x2.call(e,t)&&uo(r,t,e[t]);return r},_n=(r,e)=>P2(r,$2(e)),ie=(r,e,t)=>uo(r,typeof e!="symbol"?e+"":e,t);class C2 extends t1{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,ie(this,"subscriptions",new Map),ie(this,"topicMap",new S2),ie(this,"events",new Ye.EventEmitter),ie(this,"name",y_),ie(this,"version",m_),ie(this,"pending",new Map),ie(this,"cached",[]),ie(this,"initialized",!1),ie(this,"storagePrefix",_t),ie(this,"subscribeTimeout",U.toMiliseconds(U.ONE_MINUTE)),ie(this,"initialSubscribeTimeout",U.toMiliseconds(U.ONE_SECOND*15)),ie(this,"clientId"),ie(this,"batchSubscribeTopicsLimit",500),ie(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),ie(this,"subscribe",async(i,s)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:s}});try{const n=fs(s),o={topic:i,relay:n,transportType:s?.transportType};this.pending.set(i,o);const a=await this.rpcSubscribe(i,n,s);return typeof a=="string"&&(this.onSubscribe(a,o),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:s}})),a}catch(n){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(n),n}}),ie(this,"unsubscribe",async(i,s)=>{this.isInitialized(),typeof s?.id<"u"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)}),ie(this,"isSubscribed",i=>new Promise(s=>{s(this.topicMap.topics.includes(i))})),ie(this,"isKnownTopic",i=>new Promise(s=>{s(this.topicMap.topics.includes(i)||this.pending.has(i)||this.cached.some(n=>n.topic===i))})),ie(this,"on",(i,s)=>{this.events.on(i,s)}),ie(this,"once",(i,s)=>{this.events.once(i,s)}),ie(this,"off",(i,s)=>{this.events.off(i,s)}),ie(this,"removeListener",(i,s)=>{this.events.removeListener(i,s)}),ie(this,"start",async()=>{await this.onConnect()}),ie(this,"stop",async()=>{await this.onDisconnect()}),ie(this,"restart",async()=>{await this.restore(),await this.onRestart()}),ie(this,"checkPending",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(s=>{i.push(s)}),await this.batchSubscribe(i)}),ie(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(pr.pulse,async()=>{await this.checkPending()}),this.events.on(He.created,async i=>{const s=He.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:i}),await this.persist()}),this.events.on(He.deleted,async i=>{const s=He.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:i}),await this.persist()})}),this.relayer=e,this.logger=Ne(t,this.name),this.clientId=""}get context(){return ke(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 i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}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){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{const s=fs(i);await this.restartToComplete({topic:e,id:t,relay:s}),await this.rpcUnsubscribe(e,t,s);const n=te("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,n),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(s),s}}async rpcSubscribe(e,t,i){var s;(!i||i?.transportType===ae.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});const n={method:pi(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});const o=(s=i?.internal)==null?void 0:s.throwOnFailedPublish;try{const a=await this.getSubscriptionId(e);if(i?.transportType===ae.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch(l=>this.logger.warn(l))},U.toMiliseconds(U.ONE_SECOND)),a;const c=new Promise(async l=>{const h=d=>{d.topic===e&&(this.events.removeListener(He.created,h),l(d.id))};this.events.on(He.created,h);try{const d=await zt(new Promise((f,p)=>{this.relayer.request(n).catch(g=>{this.logger.warn(g,g?.message),p(g)}).then(f)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(He.created,h),l(d)}catch{}}),u=await zt(c,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!u&&o)throw new Error(`Subscribing to ${e} failed, please try again`);return u?a:null}catch(a){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(we.connection_stalled),o)throw a}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:pi(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{await await zt(new Promise(s=>{this.relayer.request(i).catch(n=>this.logger.warn(n)).then(s)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(we.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:pi(t.protocol).batchFetchMessages,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});let s;try{s=await await zt(new Promise((n,o)=>{this.relayer.request(i).catch(a=>{this.logger.warn(a),o(a)}).then(n)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(we.connection_stalled)}return s}rpcUnsubscribe(e,t,i){const s={method:pi(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,_n(li({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,li({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),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,li({},t)),this.topicMap.set(t.topic,e),this.events.emit(He.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=F("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(He.deleted,_n(li({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(He.sync)}
12async onRestart(){if(this.cached.length){const e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){const s=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(s)}}this.events.emit(He.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:t}=F("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}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 t=>_n(li({},t),{id:await this.getSubscriptionId(t.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await Nw(U.toMiliseconds(U.ONE_SECOND)),await this.relayer.handleBatchMessageEvents(t.messages))}async onConnect(){await this.restart(),this.reset()}onDisconnect(){this.onDisable()}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}async restartToComplete(e){!this.relayer.connected&&!this.relayer.connecting&&(this.cached.push(e),await this.relayer.transportOpen())}async getClientId(){return this.clientId||(this.clientId=await this.relayer.core.crypto.getClientId()),this.clientId}async getSubscriptionId(e){return vt(e+await this.getClientId())}}var T2=Object.defineProperty,pu=Object.getOwnPropertySymbols,R2=Object.prototype.hasOwnProperty,N2=Object.prototype.propertyIsEnumerable,lo=(r,e,t)=>e in r?T2(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,fu=(r,e)=>{for(var t in e||(e={}))R2.call(e,t)&&lo(r,t,e[t]);if(pu)for(var t of pu(e))N2.call(e,t)&&lo(r,t,e[t]);return r},Z=(r,e,t)=>lo(r,typeof e!="symbol"?e+"":e,t);class j2 extends XE{constructor(e){super(e),Z(this,"protocol","wc"),Z(this,"version",2),Z(this,"core"),Z(this,"logger"),Z(this,"events",new Ye.EventEmitter),Z(this,"provider"),Z(this,"messages"),Z(this,"subscriber"),Z(this,"publisher"),Z(this,"name",h_),Z(this,"transportExplicitlyClosed",!1),Z(this,"initialized",!1),Z(this,"connectionAttemptInProgress",!1),Z(this,"relayUrl"),Z(this,"projectId"),Z(this,"packageName"),Z(this,"bundleId"),Z(this,"hasExperiencedNetworkDisruption",!1),Z(this,"pingTimeout"),Z(this,"heartBeatTimeout",U.toMiliseconds(U.THIRTY_SECONDS+U.FIVE_SECONDS)),Z(this,"reconnectTimeout"),Z(this,"connectPromise"),Z(this,"reconnectInProgress",!1),Z(this,"requestsInFlight",[]),Z(this,"connectTimeout",U.toMiliseconds(U.ONE_SECOND*15)),Z(this,"request",async t=>{var i,s;this.logger.debug("Publishing Request Payload");const n=t.id||nr().toString();await this.toEstablishConnection();try{this.logger.trace({id:n,method:t.method,topic:(i=t.params)==null?void 0:i.topic},"relayer.request - publishing...");const o=`${n}:${((s=t.params)==null?void 0:s.tag)||""}`;this.requestsInFlight.push(o);const a=await this.provider.request(t);return this.requestsInFlight=this.requestsInFlight.filter(c=>c!==o),a}catch(o){throw this.logger.debug(`Failed to Publish Request: ${n}`),o}}),Z(this,"resetPingTimeout",()=>{ds()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var t,i,s,n;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(n=(s=(i=(t=this.provider)==null?void 0:t.connection)==null?void 0:i.socket)==null?void 0:s.terminate)==null||n.call(s)}catch(o){this.logger.warn(o,o?.message)}},this.heartBeatTimeout))}),Z(this,"onPayloadHandler",t=>{this.onProviderPayload(t),this.resetPingTimeout()}),Z(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected ð"),this.startPingTimeout(),this.events.emit(we.connect)}),Z(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected ð"),this.requestsInFlight=[],this.onProviderDisconnect()}),Z(this,"onProviderErrorHandler",t=>{this.logger.fatal(`Fatal socket error: ${t.message}`),this.events.emit(we.error,t),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()}),Z(this,"registerProviderListeners",()=>{this.provider.on(Ze.payload,this.onPayloadHandler),this.provider.on(Ze.connect,this.onConnectHandler),this.provider.on(Ze.disconnect,this.onDisconnectHandler),this.provider.on(Ze.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=typeof e.logger<"u"&&typeof e.logger!="string"?Ne(e.logger,this.name):Bi(Rs({level:e.logger||l_})),this.messages=new y2(this.logger,e.core),this.subscriber=new C2(this,this.logger),this.publisher=new _2(this,this.logger),this.relayUrl=e?.relayUrl||Wh,this.projectId=e.projectId,ww()?this.packageName=Wa():bw()&&(this.bundleId=Wa()),this.provider={}}
vendor: 29,171 bytes, line 12
12async 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 ke(this.logger)}get connected(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===1||!1}get connecting(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:ae.relay},as.outbound)}async subscribe(e,t){var i,s,n;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType==="relay")&&await this.toEstablishConnection();const o=typeof((i=t?.internal)==null?void 0:i.throwOnFailedPublish)>"u"?!0:(s=t?.internal)==null?void 0:s.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||"",c;const u=l=>{l.topic===e&&(this.subscriber.off(He.created,u),c())};return await Promise.all([new Promise(l=>{c=l,this.subscriber.on(He.created,u)}),new Promise(async(l,h)=>{a=await this.subscriber.subscribe(e,fu({internal:{throwOnFailedPublish:o}},t)).catch(d=>{o&&h(d)})||a,l()})]),a}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 zt(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,i)=>{await this.connect(e).then(t).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await jc())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const t=e.sort((i,s)=>i.publishedAt-s.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(s){this.logger.warn(s,"Error while processing batch message event: "+s?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:i}=e;if(!t.sessionExists){const s=de(U.FIVE_MINUTES),n={topic:i,expiry:s,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(i,n)}this.events.emit(we.message,e),await this.recordMessageEvent(e,as.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(i,s)=>{const n=()=>{s(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Ze.disconnect,n),await zt(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{s(o)}).finally(()=>{this.provider.off(Ze.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{a(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(Ze.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(Ze.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const s=i;this.logger.warn({},s.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(i=>setTimeout(i,U.toMiliseconds(t*1))),t++}}startPingTimeout(){var e,t,i,s,n;if(ds())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((n=(s=(i=this.provider)==null?void 0:i.connection)==null?void 0:s.socket)==null||n.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new rt(new X1(Dw({sdkVersion:so,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){const{topic:i,message:s}=e;await this.messages.set(i,s,t)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.warn(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),Lo(e)){if(!e.method.endsWith(d_))return;const t=e.params,{topic:i,message:s,publishedAt:n,attestation:o}=t.data,a={topic:i,message:s,publishedAt:n,transportType:ae.relay,attestation:o};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(fu({type:"event",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else Bs(e)&&this.events.emit(we.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,as.inbound),this.events.emit(we.message,e))}async acknowledgePayload(e){const t=Ns(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(Ze.payload,this.onPayloadHandler),this.provider.off(Ze.connect,this.onConnectHandler),this.provider.off(Ze.disconnect,this.onDisconnectHandler),this.provider.off(Ze.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await jc();K0(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(i=>this.logger.error(i,i?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(pr.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&Y0())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(t){this.logger.warn(t,t?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(we.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},U.toMiliseconds(p_)))))}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function B2(){}function gu(r){if(!r||typeof r!="object")return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(r)==="[object Object]":!1}function yu(r){return Object.getOwnPropertySymbols(r).filter(e=>Object.prototype.propertyIsEnumerable.call(r,e))}function mu(r){return r==null?r===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(r)}const U2="[object RegExp]",F2="[object String]",q2="[object Number]",L2="[object Boolean]",wu="[object Arguments]",k2="[object Symbol]",M2="[object Date]",z2="[object Map]",H2="[object Set]",V2="[object Array]",K2="[object Function]",W2="[object ArrayBuffer]",In="[object Object]",G2="[object Error]",Y2="[object DataView]",J2="[object Uint8Array]",Z2="[object Uint8ClampedArray]",Q2="[object Uint16Array]",X2="[object Uint32Array]",eD="[object BigUint64Array]",tD="[object Int8Array]",rD="[object Int16Array]",iD="[object Int32Array]",sD="[object BigInt64Array]",nD="[object Float32Array]",oD="[object Float64Array]";function aD(r,e){return r===e||Number.isNaN(r)&&Number.isNaN(e)}function cD(r,e,t){return fi(r,e,void 0,void 0,void 0,void 0,t)}function fi(r,e,t,i,s,n,o){const a=o(r,e,t,i,s,n);if(a!==void 0)return a;if(typeof r==typeof e)switch(typeof r){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return r===e;case"number":return r===e||Object.is(r,e);case"function":return r===e;case"object":return bi(r,e,n,o)}return bi(r,e,n,o)}function bi(r,e,t,i){if(Object.is(r,e))return!0;let s=mu(r),n=mu(e);if(s===wu&&(s=In),n===wu&&(n=In),s!==n)return!1;switch(s){case F2:return r.toString()===e.toString();case q2:{const c=r.valueOf(),u=e.valueOf();return aD(c,u)}case L2:case M2:case k2:return Object.is(r.valueOf(),e.valueOf());case U2:return r.source===e.source&&r.flags===e.flags;case K2:return r===e}t=t??new Map;const o=t.get(r),a=t.get(e);if(o!=null&&a!=null)return o===e;t.set(r,e),t.set(e,r);try{switch(s){case z2:{if(r.size!==e.size)return!1;for(const[c,u]of r.entries())if(!e.has(c)||!fi(u,e.get(c),c,r,e,t,i))return!1;return!0}case H2:{if(r.size!==e.size)return!1;const c=Array.from(r.values()),u=Array.from(e.values());for(let l=0;l<c.length;l++){const h=c[l],d=u.findIndex(f=>fi(h,f,void 0,r,e,t,i));if(d===-1)return!1;u.splice(d,1)}return!0}case V2:case J2:case Z2:case Q2:case X2:case eD:case tD:case rD:case iD:case sD:case nD:case oD:{if(typeof Buffer<"u"&&Buffer.isBuffer(r)!==Buffer.isBuffer(e)||r.length!==e.length)return!1;for(let c=0;c<r.length;c++)if(!fi(r[c],e[c],c,r,e,t,i))return!1;return!0}case W2:return r.byteLength!==e.byteLength?!1:bi(new Uint8Array(r),new Uint8Array(e),t,i);case Y2:return r.byteLength!==e.byteLength||r.byteOffset!==e.byteOffset?!1:bi(new Uint8Array(r),new Uint8Array(e),t,i);case G2:return r.name===e.name&&r.message===e.message;case In:{if(!(bi(r.constructor,e.constructor,t,i)||gu(r)&&gu(e)))return!1;const c=[...Object.keys(r),...yu(r)],u=[...Object.keys(e),...yu(e)];if(c.length!==u.length)return!1;for(let l=0;l<c.length;l++){const h=c[l],d=r[h];if(!Object.hasOwn(e,h))return!1;const f=e[h];if(!fi(d,f,h,r,e,t,i))return!1}return!0}default:return!1}}finally{t.delete(r),t.delete(e)}}function uD(r,e){return cD(r,e,B2)}var lD=Object.defineProperty,bu=Object.getOwnPropertySymbols,hD=Object.prototype.hasOwnProperty,dD=Object.prototype.propertyIsEnumerable,ho=(r,e,t)=>e in r?lD(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,vu=(r,e)=>{for(var t in e||(e={}))hD.call(e,t)&&ho(r,t,e[t]);if(bu)for(var t of bu(e))dD.call(e,t)&&ho(r,t,e[t]);return r},Be=(r,e,t)=>ho(r,typeof e!="symbol"?e+"":e,t);class fr extends e1{constructor(e,t,i,s=_t,n=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,Be(this,"map",new Map),Be(this,"version",f_),Be(this,"cached",[]),Be(this,"initialized",!1),Be(this,"getKey"),Be(this,"storagePrefix",_t),Be(this,"recentlyDeleted",[]),Be(this,"recentlyDeletedLimit",200),Be(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!Se(o)?this.map.set(this.getKey(o),o):I0(o)?this.map.set(o.id,o):D0(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),Be(this,"set",async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())}),Be(this,"get",o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o))),Be(this,"getAll",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>uD(a[c],o[c]))):this.values)),Be(this,"update",async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const c=vu(vu({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),Be(this,"delete",async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())}),this.logger=Ne(t,this.name),this.storagePrefix=s,this.getKey=n}get context(){return ke(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:s}=F("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}const{message:i}=F("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=F("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}}var pD=Object.defineProperty,fD=(r,e,t)=>e in r?pD(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,W=(r,e,t)=>fD(r,typeof e!="symbol"?e+"":e,t);class gD{constructor(e,t){this.core=e,this.logger=t,W(this,"name",w_),W(this,"version",b_),W(this,"events",new Eo),W(this,"pairings"),W(this,"initialized",!1),W(this,"storagePrefix",_t),W(this,"ignoredPayloadTypes",[Nt]),W(this,"registeredMethods",[]),W(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),W(this,"register",({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]}),W(this,"create",async i=>{this.isInitialized();const s=Qn(),n=await this.core.crypto.setSymKey(s),o=de(U.FIVE_MINUTES),a={protocol:Kh},c={topic:n,expiry:o,relay:a,active:!1,methods:i?.methods},u=Oc({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:s,relay:a,expiryTimestamp:o,methods:i?.methods});return this.events.emit(rr.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:i?.transportType}),{topic:n,uri:u}}),W(this,"pair",async i=>{this.isInitialized();const s=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[yt.pairing_started]}});this.isValidPair(i,s);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:u}=Sc(i.uri);s.props.properties.topic=n,s.addTrace(yt.pairing_uri_validation_success),s.addTrace(yt.pairing_uri_not_expired);let l;if(this.pairings.keys.includes(n)){if(l=this.pairings.get(n),s.addTrace(yt.existing_pairing),l.active)throw s.setError(xt.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);s.addTrace(yt.pairing_not_expired)}const h=c||de(U.FIVE_MINUTES),d={topic:n,relay:a,expiry:h,active:!1,methods:u};this.core.expirer.set(n,h),await this.pairings.set(n,d),s.addTrace(yt.store_new_pairing),i.activatePairing&&await this.activate({topic:n}),this.events.emit(rr.create,d),s.addTrace(yt.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),s.addTrace(yt.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{s.setError(xt.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(f){throw s.setError(xt.subscribe_pairing_topic_failure),f}return s.addTrace(yt.subscribe_pairing_topic_success),d}),W(this,"activate",async({topic:i})=>{this.isInitialized();const s=de(U.FIVE_MINUTES);this.core.expirer.set(i,s),await this.pairings.update(i,{active:!0,expiry:s})}),W(this,"ping",async i=>{this.isInitialized(),await this.isValidPing(i),this.logger.warn("ping() is deprecated and will be removed in the next major release.");const{topic:s}=i;if(this.pairings.keys.includes(s)){const n=await this.sendRequest(s,"wc_pairingPing",{}),{done:o,resolve:a,reject:c}=Qt();this.events.once(X("pairing_ping",n),({error:u})=>{u?c(u):a()}),await o()}}),W(this,"updateExpiry",async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})}),W(this,"updateMetadata",async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})}),W(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),W(this,"disconnect",async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,"wc_pairingDelete",te("USER_DISCONNECTED")),await this.deletePairing(s))}),W(this,"formatUriFromPairing",i=>{this.isInitialized();const{topic:s,relay:n,expiry:o,methods:a}=i,c=this.core.crypto.keychain.get(s);return Oc({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),W(this,"sendRequest",async(i,s,n)=>{const o=Ht(s,n),a=await this.core.crypto.encode(i,o),c=ci[s].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,c),o.id}),W(this,"sendResult",async(i,s,n)=>{const o=Ns(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,u=ci[c].res;await this.core.relayer.publish(s,a,u),await this.core.history.resolve(o)}),W(this,"sendError",async(i,s,n)=>{const o=js(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,u=ci[c]?ci[c].res:ci.unregistered_method.res;await this.core.relayer.publish(s,a,u),await this.core.history.resolve(o)}),W(this,"deletePairing",async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,te("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])}),W(this,"cleanup",async()=>{const i=this.pairings.getAll().filter(s=>kt(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))}),W(this,"onRelayEventRequest",async i=>{const{topic:s,payload:n}=i;switch(n.method){case"wc_pairingPing":return await this.onPairingPingRequest(s,n);case"wc_pairingDelete":return await this.onPairingDeleteRequest(s,n);default:return await this.onUnknownRpcMethodRequest(s,n)}}),W(this,"onRelayEventResponse",async i=>{const{topic:s,payload:n}=i,o=(await this.core.history.get(s,n.id)).request.method;return o==="wc_pairingPing"?this.onPairingPingResponse(s,n):this.onUnknownRpcMethodResponse(o)}),W(this,"onPairingPingRequest",async(i,s)=>{const{id:n}=s;try{this.isValidPing({topic:i}),await this.sendResult(n,i,!0),this.events.emit(rr.ping,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),W(this,"onPairingPingResponse",(i,s)=>{const{id:n}=s;setTimeout(()=>{wt(s)?this.events.emit(X("pairing_ping",n),{}):et(s)&&this.events.emit(X("pairing_ping",n),{error:s.error})},500)}),W(this,"onPairingDeleteRequest",async(i,s)=>{const{id:n}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(rr.delete,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),W(this,"onUnknownRpcMethodRequest",async(i,s)=>{const{id:n,method:o}=s;try{if(this.registeredMethods.includes(o))return;const a=te("WC_METHOD_UNSUPPORTED",o);await this.sendError(n,i,a),this.logger.error(a)}catch(a){await this.sendError(n,i,a),this.logger.error(a)}}),W(this,"onUnknownRpcMethodResponse",i=>{this.registeredMethods.includes(i)||this.logger.error(te("WC_METHOD_UNSUPPORTED",i))}),W(this,"isValidPair",(i,s)=>{var n;if(!Fe(i)){const{message:a}=F("MISSING_OR_INVALID",`pair() params: ${i}`);throw s.setError(xt.malformed_pairing_uri),new Error(a)}if(!_0(i.uri)){const{message:a}=F("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw s.setError(xt.malformed_pairing_uri),new Error(a)}const o=Sc(i?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=F("MISSING_OR_INVALID","pair() uri#relay-protocol");throw s.setError(xt.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=F("MISSING_OR_INVALID","pair() uri#symKey");throw s.setError(xt.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&U.toMiliseconds(o?.expiryTimestamp)<Date.now()){s.setError(xt.pairing_expired);const{message:a}=F("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(a)}}),W(this,"isValidPing",async i=>{if(!Fe(i)){const{message:n}=F("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),W(this,"isValidDisconnect",async i=>{if(!Fe(i)){const{message:n}=F("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),W(this,"isValidPairingTopic",async i=>{if(!he(i,!1)){const{message:s}=F("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=F("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if(kt(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=F("EXPIRED",`pairing topic: ${i}`);throw new Error(s)}}),this.core=e,this.logger=Ne(t,this.name),this.pairings=new fr(this.core,this.logger,this.name,this.storagePrefix)}get context(){return ke(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(we.message,async e=>{const{topic:t,message:i,transportType:s}=e;if(this.pairings.keys.includes(t)&&s!==ae.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))try{const n=await this.core.crypto.decode(t,i);Lo(n)?(this.core.history.set(t,n),await this.onRelayEventRequest({topic:t,payload:n})):Bs(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id)),await this.core.relayer.messages.ack(t,i)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(Xe.expired,async e=>{const{topic:t}=eh(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(rr.expire,{topic:t}))})}}var yD=Object.defineProperty,mD=(r,e,t)=>e in r?yD(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,De=(r,e,t)=>mD(r,typeof e!="symbol"?e+"":e,t);class wD extends JE{constructor(e,t){super(e,t),this.core=e,this.logger=t,De(this,"records",new Map),De(this,"events",new Ye.EventEmitter),De(this,"name",v_),De(this,"version",E_),De(this,"cached",[]),De(this,"initialized",!1),De(this,"storagePrefix",_t),De(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),De(this,"set",(i,s,n)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:s,chainId:n}),this.records.has(s.id))return;const o={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:n,expiry:de(U.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(nt.created,o)}),De(this,"resolve",async i=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>"u"&&(s.response=et(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.persist(),this.events.emit(nt.updated,s))}),De(this,"get",async(i,s)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:s}),await this.getRecord(s))),De(this,"delete",(i,s)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:s}),this.values.forEach(n=>{if(n.topic===i){if(typeof s<"u"&&n.id!==s)return;this.records.delete(n.id),this.events.emit(nt.deleted,n)}}),this.persist()}),De(this,"exists",async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1)),De(this,"on",(i,s)=>{this.events.on(i,s)}),De(this,"once",(i,s)=>{this.events.once(i,s)}),De(this,"off",(i,s)=>{this.events.off(i,s)}),De(this,"removeListener",(i,s)=>{this.events.removeListener(i,s)}),this.logger=Ne(t,this.name)}get context(){return ke(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const i={topic:t.topic,request:Ht(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=F("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(nt.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=F("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}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(nt.created,e=>{const t=nt.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(nt.updated,e=>{const t=nt.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(nt.deleted,e=>{const t=nt.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(pr.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{U.toMiliseconds(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(nt.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}}var bD=Object.defineProperty,vD=(r,e,t)=>e in r?bD(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,xe=(r,e,t)=>vD(r,typeof e!="symbol"?e+"":e,t);class ED extends r1{constructor(e,t){super(e,t),this.core=e,this.logger=t,xe(this,"expirations",new Map),xe(this,"events",new Ye.EventEmitter),xe(this,"name",__),xe(this,"version",I_),xe(this,"cac
12hed",[]),xe(this,"initialized",!1),xe(this,"storagePrefix",_t),xe(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),xe(this,"has",i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<"u"}catch{return!1}}),xe(this,"set",(i,s)=>{this.isInitialized();const n=this.formatTarget(i),o={target:n,expiry:s};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(Xe.created,{target:n,expiration:o})}),xe(this,"get",i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)}),xe(this,"del",i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),n=this.getExpiration(s);this.expirations.delete(s),this.events.emit(Xe.deleted,{target:s,expiration:n})}}),xe(this,"on",(i,s)=>{this.events.on(i,s)}),xe(this,"once",(i,s)=>{this.events.once(i,s)}),xe(this,"off",(i,s)=>{this.events.off(i,s)}),xe(this,"removeListener",(i,s)=>{this.events.removeListener(i,s)}),this.logger=Ne(t,this.name)}get context(){return ke(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return Sw(e);if(typeof e=="number")return Ow(e);const{message:t}=F("UNKNOWN_TYPE",`Target type: ${typeof e}`);throw new 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(Xe.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=F("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=F("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;U.toMiliseconds(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(Xe.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(pr.pulse,()=>this.checkExpirations()),this.events.on(Xe.created,e=>{const t=Xe.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Xe.expired,e=>{const t=Xe.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(Xe.deleted,e=>{const t=Xe.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}}var _D=Object.defineProperty,ID=(r,e,t)=>e in r?_D(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,le=(r,e,t)=>ID(r,typeof e!="symbol"?e+"":e,t);class DD extends i1{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,le(this,"name",D_),le(this,"abortController"),le(this,"isDevEnv"),le(this,"verifyUrlV3",O_),le(this,"storagePrefix",_t),le(this,"version",Vh),le(this,"publicKey"),le(this,"fetchPromise"),le(this,"init",async()=>{var s;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&U.toMiliseconds((s=this.publicKey)==null?void 0:s.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),le(this,"register",async s=>{if(!Zr()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=s,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const u=jt.getDocument(),l=this.startAbortTimer(U.ONE_SECOND*5),h=await new Promise((d,f)=>{const p=()=>{window.removeEventListener("message",w),u.body.removeChild(g),f("attestation aborted")};this.abortController.signal.addEventListener("abort",p);const g=u.createElement("iframe");g.src=c,g.style.display="none",g.addEventListener("error",p,{signal:this.abortController.signal});const w=_=>
vendor: 17,784 bytes, line 12
12{if(_.data&&typeof _.data=="string")try{const b=JSON.parse(_.data);if(b.type==="verify_attestation"){if(Ln(b.attestation).payload.id!==o)return;clearInterval(l),u.body.removeChild(g),this.abortController.signal.removeEventListener("abort",p),window.removeEventListener("message",w),d(b.attestation===null?"":b.attestation)}}catch(b){this.logger.warn(b)}};u.body.appendChild(g),window.addEventListener("message",w,{signal:this.abortController.signal})});return this.logger.debug("jwt attestation",h),h}catch(u){this.logger.warn(u)}return""}),le(this,"resolve",async s=>{if(this.isDevEnv)return"";const{attestationId:n,hash:o,encryptedId:a}=s;if(n===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(n){if(Ln(n).payload.id!==a)return;const u=await this.isValidJwtAttestation(n);if(u){if(!u.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return u}}if(!o)return;const c=this.getVerifyUrl(s?.verifyUrl);return this.fetchAttestation(o,c)}),le(this,"fetchAttestation",async(s,n)=>{this.logger.debug(`resolving attestation: ${s} from url: ${n}`);const o=this.startAbortTimer(U.ONE_SECOND*5),a=await fetch(`${n}/attestation/${s}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),le(this,"getVerifyUrl",s=>{let n=s||wi;return P_.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${wi}`),n=wi),n}),le(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const s=this.startAbortTimer(U.FIVE_SECONDS),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(s),await n.json()}catch(s){this.logger.warn(s)}}),le(this,"persistPublicKey",async s=>{this.logger.debug("persisting public key to local storage",s),await this.store.setItem(this.storeKey,s),this.publicKey=s}),le(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),le(this,"isValidJwtAttestation",async s=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(s,n)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(s,o)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}}),le(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),le(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async n=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),n(o))});const s=await this.fetchPromise;return this.fetchPromise=void 0,s}),le(this,"validateAttestation",(s,n)=>{const o=t0(s,n.publicKey),a={hasExpired:U.toMiliseconds(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=Ne(t,this.name),this.abortController=new AbortController,this.isDevEnv=xo(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return ke(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),U.toMiliseconds(e))}}var SD=Object.defineProperty,OD=(r,e,t)=>e in r?SD(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Eu=(r,e,t)=>OD(r,typeof e!="symbol"?e+"":e,t);class PD extends s1{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,Eu(this,"context",$_),Eu(this,"registerDeviceToken",async i=>{const{clientId:s,token:n,notificationType:o,enableEncrypted:a=!1}=i,c=`${A_}/${this.projectId}/clients`;await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:s,type:o,token:n,always_raw:a})})}),this.logger=Ne(t,this.context)}}var $D=Object.defineProperty,_u=Object.getOwnPropertySymbols,AD=Object.prototype.hasOwnProperty,xD=Object.prototype.propertyIsEnumerable,po=(r,e,t)=>e in r?$D(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,hi=(r,e)=>{for(var t in e||(e={}))AD.call(e,t)&&po(r,t,e[t]);if(_u)for(var t of _u(e))xD.call(e,t)&&po(r,t,e[t]);return r},fe=(r,e,t)=>po(r,typeof e!="symbol"?e+"":e,t);class CD extends n1{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,fe(this,"context",C_),fe(this,"storagePrefix",_t),fe(this,"storageVersion",x_),fe(this,"events",new Map),fe(this,"shouldPersist",!1),fe(this,"init",async()=>{if(!xo())try{const s={eventId:Ya(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:Ql(this.core.relayer.protocol,this.core.relayer.version,so)}}};await this.sendEvent([s])}catch(s){this.logger.warn(s)}}),fe(this,"createEvent",s=>{const{event:n="ERROR",type:o="",properties:{topic:a,trace:c}}=s,u=Ya(),l=this.core.projectId||"",h=Date.now(),d=hi({eventId:u,timestamp:h,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:l,domain:this.getAppDomain()},this.setMethods(u));return this.telemetryEnabled&&(this.events.set(u,d),this.shouldPersist=!0),d}),fe(this,"getEvent",s=>{const{eventId:n,topic:o}=s;if(n)return this.events.get(n);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return hi(hi({},a),this.setMethods(a.eventId))}),fe(this,"deleteEvent",s=>{const{eventId:n}=s;this.events.delete(n),this.shouldPersist=!0}),fe(this,"setEventListeners",()=>{this.core.heartbeat.on(pr.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(s=>{U.fromMiliseconds(Date.now())-U.fromMiliseconds(s.timestamp)>T_&&(this.events.delete(s.eventId),this.shouldPersist=!0)})})}),fe(this,"setMethods",s=>({addTrace:n=>this.addTrace(s,n),setError:n=>this.setError(s,n)})),fe(this,"addTrace",(s,n)=>{const o=this.events.get(s);o&&(o.props.properties.trace.push(n),this.events.set(s,o),this.shouldPersist=!0)}),fe(this,"setError",(s,n)=>{const o=this.events.get(s);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(s,o),this.shouldPersist=!0)}),fe(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),fe(this,"restore",async()=>{try{const s=await this.core.storage.getItem(this.storageKey)||[];if(!s.length)return;s.forEach(n=>{this.events.set(n.eventId,hi(hi({},n),this.setMethods(n.eventId)))})}catch(s){this.logger.warn(s)}}),fe(this,"submit",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const s=[];for(const[n,o]of this.events)o.props.type&&s.push(o);if(s.length!==0)try{if((await this.sendEvent(s)).ok)for(const n of s)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),fe(this,"sendEvent",async s=>{const n=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${R_}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${so}${n}`,{method:"POST",body:JSON.stringify(s)})}),fe(this,"getAppDomain",()=>Zl().url),this.logger=Ne(t,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var TD=Object.defineProperty,Iu=Object.getOwnPropertySymbols,RD=Object.prototype.hasOwnProperty,ND=Object.prototype.propertyIsEnumerable,fo=(r,e,t)=>e in r?TD(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Du=(r,e)=>{for(var t in e||(e={}))RD.call(e,t)&&fo(r,t,e[t]);if(Iu)for(var t of Iu(e))ND.call(e,t)&&fo(r,t,e[t]);return r},oe=(r,e,t)=>fo(r,typeof e!="symbol"?e+"":e,t);let jD=class nd extends KE{constructor(e){var t;super(e),oe(this,"protocol",Hh),oe(this,"version",Vh),oe(this,"name",io),oe(this,"relayUrl"),oe(this,"projectId"),oe(this,"customStoragePrefix"),oe(this,"events",new Ye.EventEmitter),oe(this,"logger"),oe(this,"heartbeat"),oe(this,"relayer"),oe(this,"crypto"),oe(this,"storage"),oe(this,"history"),oe(this,"expirer"),oe(this,"pairing"),oe(this,"verify"),oe(this,"echoClient"),oe(this,"linkModeSupportedApps"),oe(this,"eventClient"),oe(this,"initialized",!1),oe(this,"logChunkController"),oe(this,"on",(a,c)=>this.events.on(a,c)),oe(this,"once",(a,c)=>this.events.once(a,c)),oe(this,"off",(a,c)=>this.events.off(a,c)),oe(this,"removeListener",(a,c)=>this.events.removeListener(a,c)),oe(this,"dispatchEnvelope",({topic:a,message:c,sessionExists:u})=>{if(!a||!c)return;const l={topic:a,message:c,publishedAt:Date.now(),transportType:ae.link_mode};this.relayer.onLinkMessageEvent(l,{sessionExists:u})});const i=this.getGlobalCore(e?.customStoragePrefix);if(i)try{return this.customStoragePrefix=i.customStoragePrefix,this.logger=i.logger,this.heartbeat=i.heartbeat,this.crypto=i.crypto,this.history=i.history,this.expirer=i.expirer,this.storage=i.storage,this.relayer=i.relayer,this.pairing=i.pairing,this.verify=i.verify,this.echoClient=i.echoClient,this.linkModeSupportedApps=i.linkModeSupportedApps,this.eventClient=i.eventClient,this.initialized=i.initialized,this.logChunkController=i.logChunkController,i}catch(a){console.warn("Failed to copy global core",a)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||Wh,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const s=Rs({level:typeof e?.logger=="string"&&e.logger?e.logger:t_.logger,name:io}),{logger:n,chunkLoggerController:o}=zE({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var a,c;(a=this.logChunkController)!=null&&a.downloadLogsBlobInBrowser&&((c=this.logChunkController)==null||c.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=Ne(n,this.name),this.heartbeat=new Z0,this.crypto=new c2(this,this.logger,e?.keychain),this.history=new wD(this,this.logger),this.expirer=new ED(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new OE(Du(Du({},r_),e?.storageOptions)),this.relayer=new j2({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new gD(this,this.logger),this.verify=new DD(this,this.logger,this.storage),this.echoClient=new PD(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new CD(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const t=new nd(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(g_,i),t}get context(){return ke(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(iu,this.linkModeSupportedApps))}async initialize(){this.logger.trace("Initialized");try{await this.crypto.init(),await this.history.init(),await this.expirer.init(),await this.relayer.init(),await this.heartbeat.init(),await this.pairing.init(),this.linkModeSupportedApps=await this.storage.getItem(iu)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(`Core Initialization Failure at epoch ${Date.now()}`,e),this.logger.error(e.message),e}}getGlobalCore(e=""){try{if(this.isGlobalCoreDisabled())return;const t=`_walletConnectCore_${e}`,i=`${t}_count`;return globalThis[i]=(globalThis[i]||0)+1,globalThis[i]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[i]} times.`),globalThis[t]}catch(t){console.warn("Failed to get global WalletConnect core",t);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;const i=`_walletConnectCore_${((t=e.opts)==null?void 0:t.customStoragePrefix)||""}`;globalThis[i]=e}catch(i){console.warn("Failed to set global WalletConnect core",i)}}isGlobalCoreDisabled(){try{return typeof process<"u"&&e_.DISABLE_GLOBAL_CORE==="true"}catch{return!0}}};const BD=jD,od="wc",ad=2,cd="client",ko=`${od}@${ad}:${cd}:`,Dn={name:cd,logger:"error"},Su="WALLETCONNECT_DEEPLINK_CHOICE",UD="proposal",Ou="Proposal expired",FD="session",Ir=U.SEVEN_DAYS,qD="engine",ge={wc_sessionPropose:{req:{ttl:U.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1104},res:{ttl:U.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1106},res:{ttl:U.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:U.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:U.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1112},res:{ttl:U.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:U.ONE_DAY,prompt:!1,tag:1114},res:{ttl:U.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:U.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:U.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:U.FIVE_MINUTES,prompt:!1,tag:1119}}},Sn={min:U.FIVE_MINUTES,max:U.SEVEN_DAYS},gt={idle:"IDLE",active:"ACTIVE"},Pu={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},LD="request",kD=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],MD="wc",zD="auth",HD="authKeys",VD="pairingTopics",KD="requests",Fs=`${MD}@${1.5}:${zD}:`,cs=`${Fs}:PUB_KEY`;var WD=Object.defineProperty,GD=Object.defineProperties,YD=Object.getOwnPropertyDescriptors,$u=Object.getOwnPropertySymbols,JD=Object.prototype.hasOwnProperty,ZD=Object.prototype.propertyIsEnumerable,go=(r,e,t)=>e in r?WD(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,se=(r,e)=>{for(var t in e||(e={}))JD.call(e,t)&&go(r,t,e[t]);if($u)for(var t of $u(e))ZD.call(e,t)&&go(r,t,e[t]);return r},Te=(r,e)=>GD(r,YD(e)),R=(r,e,t)=>go(r,typeof e!="symbol"?e+"":e,t);class QD extends u1{constructor(e){super(e),R(this,"name",qD),R(this,"events",new Eo),R(this,"initialized",!1),R(this,"requestQueue",{state:gt.idle,queue:[]}),R(this,"sessionRequestQueue",{state:gt.idle,queue:[]}),R(this,"requestQueueDelay",U.ONE_SECOND),R(this,"expectedPairingMethodMap",new Map),R(this,"recentlyDeletedMap",new Map),R(this,"recentlyDeletedLimit",200),R(this,"relayMessageCache",[]),R(this,"pendingSessions",new Map),R(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(ge)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},U.toMiliseconds(this.requestQueueDelay)))}),R(this,"connect",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const i=Te(se({},t),{requiredNamespaces:t.requiredNamespaces||{},optionalNamespaces:t.optionalNamespaces||{}});await this.isValidConnect(i),i.optionalNamespaces=m0(i.requiredNamespaces,i.optionalNamespaces),i.requiredNamespaces={};const{pairingTopic:s,requiredNamespaces:n,optionalNamespaces:o,sessionProperties:a,scopedProperties:c,relays:u}=i;let l=s,h,d=!1;try{if(l){const v=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."),d=v.active}}catch(v){throw this.client.logger.error(`connect() -> pairing.get(${l}) failed`),v}if(!l||!d){const{topic:v,uri:I}=await this.client.core.pairing.create();l=v,h=I}if(!l){const{message:v}=F("NO_MATCHING_KEY",`connect() pairing topic: ${l}`);throw new Error(v)}const f=await this.client.core.crypto.generateKeyPair(),p=ge.wc_sessionPropose.req.ttl||U.FIVE_MINUTES,g=de(p),w=Te(se(se({requiredNamespaces:n,optionalNamespaces:o,relays:u??[{protocol:Kh}],proposer:{publicKey:f,metadata:this.client.metadata},expiryTimestamp:g,pairingTopic:l},a&&{sessionProperties:a}),c&&{scopedProperties:c}),{id:mt()}),_=X("session_connect",w.id),{reject:b,resolve:E,done:A}=Qt(p,Ou),T=({id:v})=>{v===w.id&&(this.client.events.off("proposal_expire",T),this.pendingSessions.delete(w.id),this.events.emit(_,{error:{message:Ou,code:0}}))};return this.client.events.on("proposal_expire",T),this.events.once(_,({error:v,session:I})=>{this.client.events.off("proposal_expire",T),v?b(v):I&&E(I)}),await this.sendRequest({topic:l,method:"wc_sessionPropose",params:w,throwOnFailedPublish:!0,clientRpcId:w.id}),await this.setProposal(w.id,w),{uri:h,approval:A}}),R(this,"pair",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(t)}catch(i){throw this.client.logger.error("pair() failed"),i}}),R(this,"approve",async t=>{var i,s,n;const o=this.client.core.eventClient.createEvent({properties:{topic:(i=t?.
12id)==null?void 0:i.toString(),trace:[ot.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(S){throw o.setError(Jt.no_internet_connection),S}try{await this.isValidProposalId(t?.id)}catch(S){throw this.client.logger.error(`approve() -> proposal.get(${t?.id}) failed`),o.setError(Jt.proposal_not_found),S}try{await this.isValidApprove(t)}catch(S){throw this.client.logger.error("approve() -> isValidApprove() failed"),o.setError(Jt.session_approve_namespace_validation_failure),S}const{id:a,relayProtocol:c,namespaces:u,sessionProperties:l,scopedProperties:h,sessionConfig:d}=t,f=this.client.proposal.get(a);this.client.core.eventClient.deleteEvent({eventId:o.eventId});const{pairingTopic:p,proposer:g,requiredNamespaces:w,optionalNamespaces:_}=f;let b=(s=this.client.core.eventClient)==null?void 0:s.getEvent({topic:p});b||(b=(n=this.client.core.eventClient)==null?void 0:n.createEvent({type:ot.session_approve_started,properties:{topic:p,trace:[ot.session_approve_started,ot.session_namespaces_validation_success]}}));const E=await this.client.core.crypto.generateKeyPair(),A=g.publicKey,T=await this.client.core.crypto.generateSharedKey(E,A),v=se(se(se({relay:{protocol:c??"irn"},namespaces:u,controller:{publicKey:E,metadata:this.client.metadata},expiry:de(Ir)},l&&{sessionProperties:l}),h&&{scopedProperties:h}),d&&{sessionConfig:d}),I=ae.relay;b.addTrace(ot.subscribing_session_topic);try{await this.client.core.relayer.subscribe(T,{transportType:I})}catch(S){throw b.setError(Jt.subscribe_session_topic_failure),S}b.addTrace(ot.subscribe_session_topic_success);const P=Te(se({},v),{topic:T,requiredNamespaces:w,optionalNamespaces:_,pairingTopic:p,acknowledged:!1,self:v.controller,peer:{publicKey:g.publicKey,metadata:g.metadata},controller:E,transportType:ae.relay});await this.client.session.set(T,P),b.addTrace(ot.store_session);try{b.addTrace(ot.publishing_session_settle),await this.sendRequest({topic:T,method:"wc_sessionSettle",params:v,throwOnFailedPublish:!0}).catch(S=>{throw b?.setError(Jt.session_settle_publish_failure),S}),b.addTrace(ot.session_settle_publish_success),b.addTrace(ot.publishing_session_approve),await this.sendResult({id:a,topic:p,result:{relay:{protocol:c??"irn"},responderPublicKey:E},throwOnFailedPublish:!0}).catch(S=>{throw b?.setError(Jt.session_approve_publish_failure),S}),b.addTrace(ot.session_approve_publish_success)}catch(S){throw this.client.logger.error(S),this.client.session.delete(T,te("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(T),S}return this.client.core.eventClient.deleteEvent({eventId:b.eventId}),await this.client.core.pairing.updateMetadata({topic:p,metadata:g.metadata}),await this.client.proposal.delete(a,te("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:p}),await this.setExpiry(T,de(Ir)),{topic:T,acknowledged:()=>Promise.resolve(this.client.session.get(T))}}),R(this,"reject",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(t)}catch(o){throw this.client.logger.error("reject() -> isValidReject() failed"),o}const{id:i,reason:s}=t;let n;try{n=this.client.proposal.get(i).pairingTopic}catch(o){throw this.client.logger.error(`reject() -> proposal.get(${i}) failed`),o}n&&(await this.sendError({id:i,topic:n,error:s,rpcOpts:ge.wc_sessionPropose.reject}),await this.client.proposal.delete(i,te("USER_DISCONNECTED")))}),R(this,"update",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(t)}catch(h){throw this.client.logger.error("update() -> isValidUpdate() failed"),h}const{topic:i,namespaces:s}=t,{done:n,resolve:o,reject:a}=Qt(),c=mt(),u=nr().toString(),l=this.client.session.get(i).namespaces;return this.events.once(X("session_update",c),({error:h})=>{h?a(h):o()}),await this.client.session.update(i,{namespaces:s}),await this.sendRequest({topic:i,method:"wc_sessionUpdate",params:{namespaces:s},throwOnFailedPublish:!0,clientRpcId:c,relayRpcId:u}).catch(h=>{this.client.logger.error(h),this.client.session.update(i,{namespaces:l}),a(h)}),{acknowledged:n}}),R(this,"extend",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(t)}catch(c){throw this.client.logger.error("extend() -> isValidExtend() failed"),c}const{topic:i}=t,s=mt(),{done:n,resolve:o,reject:a}=Qt();return this.events.once(X("session_extend",s),({error:c})=>{c?a(c):o()}),await this.setExpiry(i,de(Ir)),this.sendRequest({topic:i,method:"wc_sessionExtend",params:{},clientRpcId:s,throwOnFailedPublish:!0}).catch(c=>{a(c)}),{acknowledged:n}}),R(this,"request",async t=>{this.isInitialized();try{await this.isValidRequest(t)}catch(_){throw this.client.logger.error("request() -> isValidRequest() failed"),_}const{chainId:i,request:s,topic:n,expiry:o=ge.wc_sessionRequest.req.ttl}=t,a=this.client.session.get(n);a?.transportType===ae.relay&&await this.confirmOnlineStateOrThrow();const c=mt(),u=nr().toString(),{done:l,resolve:h,reject:d}=Qt(o,"Request expired. Please try again.");this.events.once(X("session_request",c),({error:_,result:b})=>{_?d(_):h(b)});const f="wc_sessionRequest",p=this.getAppLinkIfEnabled(a.peer.metadata,a.transportType);if(p)return await this.sendRequest({clientRpcId:c,relayRpcId:u,topic:n,method:f,params:{request:Te(se({},s),{expiryTimestamp:de(o)}),chainId:i},expiry:o,throwOnFailedPublish:!0,appLink:p}).catch(_=>d(_)),this.client.events.emit("session_request_sent",{topic:n,request:s,chainId:i,id:c}),await l();const g={request:Te(se({},s),{expiryTimestamp:de(o)}),chainId:i},w=this.shouldSetTVF(f,g);return await Promise.all([new Promise(async _=>{await this.sendRequest(se({clientRpcId:c,relayRpcId:u,topic:n,method:f,params:g,expiry:o,throwOnFailedPublish:!0},w&&{tvf:this.getTVFParams(c,g)})).catch(b=>d(b)),this.client.events.emit("session_request_sent",{topic:n,request:s,chainId:i,id:c}),_()}),new Promise(async _=>{var b;if(!((b=a.sessionConfig)!=null&&b.disableDeepLink)){const E=await xw(this.client.core.storage,Su);await Pw({id:c,topic:n,wcDeepLink:E})}_()}),l()]).then(_=>_[2])}),R(this,"respond",async t=>{this.isInitialized(),await this.isValidRespond(t);const{topic:i,response:s}=t,{id:n}=s,o=this.client.session.get(i);o.transportType===ae.relay&&await this.confirmOnlineStateOrThrow();const a=this.getAppLinkIfEnabled(o.peer.metadata,o.transportType);wt(s)?await this.sendResult({id:n,topic:i,result:s.result,throwOnFailedPublish:!0,appLink:a}
vendor: 11,583 bytes, line 12
12):et(s)&&await this.sendError({id:n,topic:i,error:s.error,appLink:a}),this.cleanupAfterResponse(t)}),R(this,"ping",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(t)}catch(s){throw this.client.logger.error("ping() -> isValidPing() failed"),s}const{topic:i}=t;if(this.client.session.keys.includes(i)){const s=mt(),n=nr().toString(),{done:o,resolve:a,reject:c}=Qt();this.events.once(X("session_ping",s),({error:u})=>{u?c(u):a()}),await Promise.all([this.sendRequest({topic:i,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:s,relayRpcId:n}),o()])}else this.client.core.pairing.pairings.keys.includes(i)&&(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:i}))}),R(this,"emit",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(t);const{topic:i,event:s,chainId:n}=t,o=nr().toString(),a=mt();await this.sendRequest({topic:i,method:"wc_sessionEvent",params:{event:s,chainId:n},throwOnFailedPublish:!0,relayRpcId:o,clientRpcId:a})}),R(this,"disconnect",async t=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(t);const{topic:i}=t;if(this.client.session.keys.includes(i))await this.sendRequest({topic:i,method:"wc_sessionDelete",params:te("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:i,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(i))await this.client.core.pairing.disconnect({topic:i});else{const{message:s}=F("MISMATCHED_TOPIC",`Session or pairing topic not found: ${i}`);throw new Error(s)}}),R(this,"find",t=>(this.isInitialized(),this.client.session.getAll().filter(i=>v0(i,t)))),R(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),R(this,"authenticate",async(t,i)=>{var s;this.isInitialized(),this.isValidAuthenticate(t);const n=i&&this.client.core.linkModeSupportedApps.includes(i)&&((s=this.client.metadata.redirect)==null?void 0:s.linkMode),o=n?ae.link_mode:ae.relay;o===ae.relay&&await this.confirmOnlineStateOrThrow();const{chains:a,statement:c="",uri:u,domain:l,nonce:h,type:d,exp:f,nbf:p,methods:g=[],expiry:w}=t,_=[...t.resources||[]],{topic:b,uri:E}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:o});this.client.logger.info({message:"Generated new pairing",pairing:{topic:b,uri:E}});const A=await this.client.core.crypto.generateKeyPair(),T=ss(A);if(await Promise.all([this.client.auth.authKeys.set(cs,{responseTopic:T,publicKey:A}),this.client.auth.pairingTopics.set(T,{topic:T,pairingTopic:b})]),await this.client.core.relayer.subscribe(T,{transportType:o}),this.client.logger.info(`sending request to new pairing topic: ${b}`),g.length>0){const{namespace:O}=Lr(a[0]);let C=_b(O,"request",g);is(_)&&(C=Db(C,_.pop())),_.push(C)}const v=w&&w>ge.wc_sessionAuthenticate.req.ttl?w:ge.wc_sessionAuthenticate.req.ttl,I={authPayload:{type:d??"caip122",chains:a,statement:c,aud:u,domain:l,version:"1",nonce:h,iat:new Date().toISOString(),exp:f,nbf:p,resources:_},requester:{publicKey:A,metadata:this.client.metadata},expiryTimestamp:de(v)},P={eip155:{chains:a,methods:[...new Set(["personal_sign",...g])],events:["chainChanged","accountsChanged"]}},S={requiredNamespaces:{},optionalNamespaces:P,relays:[{protocol:"irn"}],pairingTopic:b,proposer:{publicKey:A,metadata:this.client.metadata},expiryTimestamp:de(ge.wc_sessionPropose.req.ttl),id:mt()},{done:j,resolve:N,reject:B}=Qt(v,"Request expired"),M=mt(),$=X("session_connect",S.id),y=X("session_request",M),m=async({error:O,session:C})=>{this.events.off(y,D),O?B(O):C&&N({session:C})},D=async O=>{var C,q,k;if(await this.deletePendingAuthRequest(M,{message:"fulfilled",code:0}),O.error){const Y=te("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return O.error.code===Y.code?void 0:(this.events.off($,m),B(O.error.message))}await this.deleteProposal(S.id),this.events.off($,m);const{cacaos:z,responder:L}=O.result,H=[],V=[];for(const Y of z){await ic({cacao:Y,projectId:this.client.core.projectId})||(this.client.logger.error(Y,"Signature verification failed"),B(te("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:Ae}=Y,Ee=is(Ae.resources),Ce=[zn(Ae.iss)],Je=ps(Ae.iss);if(Ee){const It=sc(Ee),yr=nc(Ee);H.push(...It),Ce.push(...yr)}for(const It of Ce)V.push(`${It}:${Je}`)}const ne=await this.client.core.crypto.generateSharedKey(A,L.publicKey);let ee;H.length>0&&(ee={topic:ne,acknowledged:!0,self:{publicKey:A,metadata:this.client.metadata},peer:L,controller:L.publicKey,expiry:de(Ir),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:b,namespaces:xc([...new Set(H)],[...new Set(V)]),transportType:o},await this.client.core.relayer.subscribe(ne,{transportType:o}),await this.client.session.set(ne,ee),b&&await this.client.core.pairing.updateMetadata({topic:b,metadata:L.metadata}),ee=this.client.session.get(ne)),(C=this.client.metadata.redirect)!=null&&C.linkMode&&(q=L.metadata.redirect)!=null&&q.linkMode&&(k=L.metadata.redirect)!=null&&k.universal&&i&&(this.client.core.addLinkModeSupportedApp(L.metadata.redirect.universal),this.client.session.update(ne,{transportType:ae.link_mode})),N({auths:z,session:ee})};this.events.once($,m),this.events.once(y,D);let x;try{if(n){const O=Ht("wc_sessionAuthenticate",I,M);this.client.core.history.set(b,O);const C=await this.client.core.crypto.encode("",O,{type:ji,encoding:Mt});x=Ki(i,b,C)}else await Promise.all([this.sendRequest({topic:b,method:"wc_sessionAuthenticate",params:I,expiry:t.expiry,throwOnFailedPublish:!0,clientRpcId:M}),this.sendRequest({topic:b,method:"wc_sessionPropose",params:S,expiry:ge.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:S.id})])}catch(O){throw this.events.off($,m),this.events.off(y,D),O}return await this.setProposal(S.id,S),await this.setAuthRequest(M,{request:Te(se({},I),{verifyContext:{}}),pairingTopic:b,transportType:o}),{uri:x??E,response:j}}),R(this,"approveSessionAuthenticate",async t=>{const{id:i,auths:s}=t,n=this.client.core.eventClient.createEvent({properties:{topic:i.toString(),trace:[Zt.authenticated_session_approve_started]}});try{this.isInitialized()}catch(w){throw n.setError(ui.no_internet_connection),w}const o=this.getPendingAuthRequest(i);if(!o)throw n.setError(ui.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${i}`);const a=o.transportType||ae.relay;a===ae.relay&&await this.confirmOnlineStateOrThrow();const c=o.requester.publicKey,u=await this.client.core.crypto.generateKeyPair(),l=ss(c),h={type:Nt,receiverPublicKey:c,senderPublicKey:u},d=[],f=[];for(const w of s){if(!await ic({cacao:w,projectId:this.client.core.projectId})){n.setError(ui.invalid_cacao);const T=te("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:i,topic:l,error:T,encodeOpts:h}),new Error(T.message)}n.addTrace(Zt.cacaos_verified);const{p:_}=w,b=is(_.resources),E=[zn(_.iss)],A=ps(_.iss);if(b){const T=sc(b),v=nc(b);d.push(...T),E.push(...v)}for(const T of E)f.push(`${T}:${A}`)}const p=await this.client.core.crypto.generateSharedKey(u,c);n.addTrace(Zt.create_authenticated_session_topic);let g;if(d?.length>0){g={topic:p,acknowledged:!0,self:{publicKey:u,metadata:this.client.metadata},peer:{publicKey:c,metadata:o.requester.metadata},controller:c,expiry:de(Ir),authentication:s,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:o.pairingTopic,namespaces:xc([...new Set(d)],[...new Set(f)]),transportType:a},n.addTrace(Zt.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(p,{transportType:a})}catch(w){throw n.setError(ui.subscribe_authenticated_session_topic_failure),w}n.addTrace(Zt.subscribe_authenticated_session_topic_success),await this.client.session.set(p,g),n.addTrace(Zt.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:o.pairingTopic,metadata:o.requester.metadata})}n.addTrace(Zt.publishing_authenticated_session_approve);try{await this.sendResult({topic:l,id:i,result:{cacaos:s,responder:{publicKey:u,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(o.requester.metadata,a)})}catch(w){throw n.setError(ui.authenticated_session_approve_publish_failure),w}return await this.client.auth.requests.delete(i,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:o.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:n.eventId}),{session:g}}),R(this,"rejectSessionAuthenticate",async t=>{this.isInitialized();const{id:i,reason:s}=t,n=this.getPendingAuthRequest(i);if(!n)throw new Error(`Could not find pending auth request with id ${i}`);n.transportType===ae.relay&&await this.confirmOnlineStateOrThrow();const o=n.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),c=ss(o),u={type:Nt,receiverPublicKey:o,senderPublicKey:a};await this.sendError({id:i,topic:c,error:s,encodeOpts:u,rpcOpts:ge.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(n.requester.metadata,n.transportType)}),await this.client.auth.requests.delete(i,{message:"rejected",code:0}),await this.client.proposal.delete(i,te("USER_DISCONNECTED"))}),R(this,"formatAuthMessage",t=>{this.isInitialized();const{request:i,iss:s}=t;return uh(i,s)}),R(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const t=this.relayMessageCache.shift();t&&await this.onRelayMessage(t)}catch(t){this.client.logger.error(t)}},50)}),R(this,"cleanupDuplicatePairings",async t=>{if(t.pairingTopic)try{const i=this.client.core.pairing.pairings.get(t.pairingTopic),s=this.client.core.pairing.pairings.getAll().filter(n=>{var o,a;return((o=n.peerMetadata)==null?void 0:o.url)&&((a=n.peerMetadata)==null?void 0:a.url)===t.peer.metadata.url&&n.topic&&n.topic!==i.topic});if(s.length===0)return;this.client.logger.info(`Cleaning up ${s.length} duplicate pairing(s)`),await Promise.all(s.map(n=>this.client.core.pairing.disconnect({topic:n.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(i){this.client.logger.error(i)}}),R(this,"deleteSession",async t=>{var i;const{topic:s,expirerHasDeleted:n=!1,emitEvent:o=!0,id:a=0}=t,{self:c}=this.client.session.get(s);await this.client.core.relayer.unsubscribe(s),await this.client.session.delete(s,te("USER_DISCONNECTED")),this.addToRecentlyDeleted(s,"session"),this.client.core.crypto.keychain.has(c.publicKey)&&await this.client.core.crypto.deleteKeyPair(c.publicKey),this.client.core.crypto.keychain.has(s)&&await this.client.core.crypto.deleteSymKey(s),n||this.client.core.expirer.del(s),this.client.core.storage.removeItem(Su).catch(u=>this.client.logger.warn(u)),this.getPendingSessionRequests().forEach(u=>{u.topic===s&&this.deletePendingSessionRequest(u.id,te("USER_DISCONNECTED"))}),s===((i=this.sessionRequestQueue.queue[0])==null?void 0:i.topic)&&(this.sessionRequestQueue.state=gt.idle),o&&this.client.events.emit("session_delete",{id:a,topic:s})}),R(this,"deleteProposal",async(t,i)=>{if(i)try{const s=this.client.proposal.get(t);this.client.core.eventClient.getEvent({topic:s.pairingTopic})?.setError(Jt.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(t,te("USER_DISCONNECTED")),i?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"proposal")}),R(this,"deletePendingSessionRequest",async(t,i,s=!1)=>
12{await Promise.all([this.client.pendingRequest.delete(t,i),s?Promise.resolve():this.client.core.expirer.del(t)]),this.addToRecentlyDeleted(t,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(n=>n.id!==t),s&&(this.sessionRequestQueue.state=gt.idle,this.client.events.emit("session_request_expire",{id:t}))}),R(this,"deletePendingAuthRequest",async(t,i,s=!1)=>{await Promise.all([this.client.auth.requests.delete(t,i),s?Promise.resolve():this.client.core.expirer.del(t)])}),R(this,"setExpiry",async(t,i)=>{this.client.session.keys.includes(t)&&(this.client.core.expirer.set(t,i),await this.client.session.update(t,{expiry:i}))}),R(this,"setProposal",async(t,i)=>{this.client.core.expirer.set(t,de(ge.wc_sessionPropose.req.ttl)),await this.client.proposal.set(t,i)}),R(this,"setAuthRequest",async(t,i)=>{const{request:s,pairingTopic:n,transportType:o=ae.relay}=i;this.client.core.expirer.set(t,s.expiryTimestamp),await this.client.auth.requests.set(t,{authPayload:s.authPayload,requester:s.requester,expiryTimestamp:s.expiryTimestamp,id:t,pairingTopic:n,verifyContext:s.verifyContext,transportType:o})}),R(this,"setPendingSessionRequest",async t=>{const{id:i,topic:s,params:n,verifyContext:o}=t,a=n.request.expiryTimestamp||de(ge.wc_sessionRequest.req.ttl);this.client.core.expirer.set(i,a),await this.client.pendingRequest.set(i,{id:i,topic:s,params:n,verifyContext:o})}),R(this,"sendRequest",async t=>{const{topic:i,method:s,params:n,expiry:o,relayRpcId:a,clientRpcId:c,throwOnFailedPublish:u,appLink:l,tvf:h}=t,d=Ht(s,n,c);let f;const p=!!l;try{const _=p?Mt:ut;f=await this.client.core.crypto.encode(i,d,{encoding:_})}catch(_){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${i} failed`),_}let g;if(kD.includes(s)){const _=vt(JSON.stringify(d)),b=vt(f);g=await this.client.core.verify.register({id:b,decryptedId:_})}const w=ge[s].req;if(w.attestation=g,o&&(w.ttl=o),a&&(w.id=a),this.client.core.history.set(i,d),p){const _=Ki(l,i,f);await global.Linking.openURL(_,this.client.name)}else{const _=ge[s].req;o&&(_.ttl=o),a&&(_.id=a),_.tvf=Te(se({},h),{correlationId:d.id}),u?(_.internal=Te(se({},_.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,f,_)):this.client.core.relayer.publish(i,f,_).catch(b=>this.client.logger.error(b))}return d.id}),R(this,"sendResult",async t=>{const{id:i,topic:s,result:n,throwOnFailedPublish:o,encodeOpts:a,appLink:c}=t,u=Ns(i,n);let l;const h=c&&typeof(global==null?void 0:global.Linking)<"u";try{const p=h?Mt:ut;l=await this.client.core.crypto.encode(s,u,Te(se({},a||{}),{encoding:p}))}catch(p){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),p}let d,f;try{d=await this.client.core.history.get(s,i);const p=d.request;try{this.shouldSetTVF(p.method,p.params)&&(f=this.getTVFParams(i,p.params,n))}catch(g){this.client.logger.warn("sendResult() -> getTVFParams() failed",g)}}catch(p){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${i}) failed`),p}if(h){const p=Ki(c,s,l);await global.Linking.openURL(p,this.client.name)}else{const p=d.request.method,g=ge[p].res;g.tvf=Te(se({},f),{correlationId:i}),o?(g.internal=Te(se({},g.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,l,g)):this.client.core.relayer.publish(s,l,g).catch(w=>this.client.logger.error(w))}await this.client.core.history.resolve(u)}),R(this,"sendError",async t=>{const{id:i,topic:s,error:n,encodeOpts:o,rpcOpts:a,appLink:c}=t,u=js(i,n);let l;const h=c&&typeof(global==null?void 0:global.Linking)<"u";try{const f=h?Mt:ut;l=await this.client.core.crypto.encode(s,u,Te(se({},o||{}),{encoding:f}))}catch(f){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${s} failed`),f}let d;try{d=await this.client.core.history.get(s,i)}catch(f){throw this.client.logger.error(`sendError() -> history.get(${s}, ${i}) failed`),f}if(h){const f=Ki(c,s,l);await global.Linking.openURL(f,this.client.name)}else{const f=d.request.method,p=a||ge[f].res;this.client.core.relayer.publish(s,l,p)}await this.client.core.history.resolve(u)}),R(this,"cleanup",async()=>{const t=[],i=[];
vendor: 14,024 bytes, line 12
12this.client.session.getAll().forEach(s=>{let n=!1;kt(s.expiry)&&(n=!0),this.client.core.crypto.keychain.has(s.topic)||(n=!0),n&&t.push(s.topic)}),this.client.proposal.getAll().forEach(s=>{kt(s.expiryTimestamp)&&i.push(s.id)}),await Promise.all([...t.map(s=>this.deleteSession({topic:s})),...i.map(s=>this.deleteProposal(s))])}),R(this,"onProviderMessageEvent",async t=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(t):await this.onRelayMessage(t)}),R(this,"onRelayEventRequest",async t=>{this.requestQueue.queue.push(t),await this.processRequestsQueue()}),R(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===gt.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=gt.active;const t=this.requestQueue.queue.shift();if(t)try{await this.processRequest(t)}catch(i){this.client.logger.warn(i)}}this.requestQueue.state=gt.idle}),R(this,"processRequest",async t=>{const{topic:i,payload:s,attestation:n,transportType:o,encryptedId:a}=t,c=s.method;if(!this.shouldIgnorePairingRequest({topic:i,requestMethod:c}))switch(c){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:i,payload:s,attestation:n,encryptedId:a});case"wc_sessionSettle":return await this.onSessionSettleRequest(i,s);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(i,s);case"wc_sessionExtend":return await this.onSessionExtendRequest(i,s);case"wc_sessionPing":return await this.onSessionPingRequest(i,s);case"wc_sessionDelete":return await this.onSessionDeleteRequest(i,s);case"wc_sessionRequest":return await this.onSessionRequest({topic:i,payload:s,attestation:n,encryptedId:a,transportType:o});case"wc_sessionEvent":return await this.onSessionEventRequest(i,s);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:i,payload:s,attestation:n,encryptedId:a,transportType:o});default:return this.client.logger.info(`Unsupported request method ${c}`)}}),R(this,"onRelayEventResponse",async t=>{const{topic:i,payload:s,transportType:n}=t,o=(await this.client.core.history.get(i,s.id)).request.method;switch(o){case"wc_sessionPropose":return this.onSessionProposeResponse(i,s,n);case"wc_sessionSettle":return this.onSessionSettleResponse(i,s);case"wc_sessionUpdate":return this.onSessionUpdateResponse(i,s);case"wc_sessionExtend":return this.onSessionExtendResponse(i,s);case"wc_sessionPing":return this.onSessionPingResponse(i,s);case"wc_sessionRequest":return this.onSessionRequestResponse(i,s);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(i,s);default:return this.client.logger.info(`Unsupported response method ${o}`)}}),R(this,"onRelayEventUnknownPayload",t=>{const{topic:i}=t,{message:s}=F("MISSING_OR_INVALID",`Decoded payload on topic ${i} is not identifiable as a JSON-RPC request or a response.`);throw new Error(s)}),R(this,"shouldIgnorePairingRequest",t=>{const{topic:i,requestMethod:s}=t,n=this.expectedPairingMethodMap.get(i);return!n||n.includes(s)?!1:!!(n.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),R(this,"onSessionProposeRequest",async t=>{const{topic:i,payload:s,attestation:n,encryptedId:o}=t,{params:a,id:c}=s;try{const u=this.client.core.eventClient.getEvent({topic:i});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),u?.setError(xt.proposal_listener_not_found)),this.isValidConnect(se({},s.params));const l=a.expiryTimestamp||de(ge.wc_sessionPropose.req.ttl),h=se({id:c,pairingTopic:i,expiryTimestamp:l},a);await this.setProposal(c,h);const d=await this.getVerifyContext({attestationId:n,hash:vt(JSON.stringify(s)),encryptedId:o,metadata:h.proposer.metadata});u?.addTrace(yt.emit_session_proposal),this.client.events.emit("session_proposal",{id:c,params:h,verifyContext:d})}catch(u){await this.sendError({id:c,topic:i,error:u,rpcOpts:ge.wc_sessionPropose.autoReject}),this.client.logger.error(u)}}),R(this,"onSessionProposeResponse",async(t,i,s)=>{const{id:n}=i;if(wt(i)){const{result:o}=i;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:o});const a=this.client.proposal.get(n);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:a});const c=a.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:c});const u=o.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:u});const l=await this.client.core.crypto.generateSharedKey(c,u);this.pendingSessions.set(n,{sessionTopic:l,pairingTopic:t,proposalId:n,publicKey:c});const h=await this.client.core.relayer.subscribe(l,{transportType:s});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:t})}else if(et(i)){await this.client.proposal.delete(n,te("USER_DISCONNECTED"));const o=X("session_connect",n);if(this.events.listenerCount(o)===0)throw new Error(`emitting ${o} without any listeners, 954`);this.events.emit(o,{error:i.error})}}),R(this,"onSessionSettleRequest",async(t,i)=>{const{id:s,params:n}=i;try{this.isValidSessionSettleRequest(n);const{relay:o,controller:a,expiry:c,namespaces:u,sessionProperties:l,scopedProperties:h,sessionConfig:d}=i.params,f=[...this.pendingSessions.values()].find(w=>w.sessionTopic===t);if(!f)return this.client.logger.error(`Pending session not found for topic ${t}`);const p=this.client.proposal.get(f.proposalId),g=Te(se(se(se({topic:t,relay:o,expiry:c,namespaces:u,acknowledged:!0,pairingTopic:f.pairingTopic,requiredNamespaces:p.requiredNamespaces,optionalNamespaces:p.optionalNamespaces,controller:a.publicKey,self:{publicKey:f.publicKey,metadata:this.client.metadata},peer:{publicKey:a.publicKey,metadata:a.metadata}},l&&{sessionProperties:l}),h&&{scopedProperties:h}),d&&{sessionConfig:d}),{transportType:ae.relay});await this.client.session.set(g.topic,g),await this.setExpiry(g.topic,g.expiry),await this.client.core.pairing.updateMetadata({topic:f.pairingTopic,metadata:g.peer.metadata}),this.client.events.emit("session_connect",{session:g}),this.events.emit(X("session_connect",f.proposalId),{session:g}),this.pendingSessions.delete(f.proposalId),this.deleteProposal(f.proposalId,!1),this.cleanupDuplicatePairings(g),await this.sendResult({id:i.id,topic:t,result:!0,throwOnFailedPublish:!0})}catch(o){await this.sendError({id:s,topic:t,error:o}),this.client.logger.error(o)}}),R(this,"onSessionSettleResponse",async(t,i)=>{const{id:s}=i;wt(i)?(await this.client.session.update(t,{acknowledged:!0}),this.events.emit(X("session_approve",s),{})):et(i)&&(await this.client.session.delete(t,te("USER_DISCONNECTED")),this.events.emit(X("session_approve",s),{error:i.error}))}),R(this,"onSessionUpdateRequest",async(t,i)=>{const{params:s,id:n}=i;try{const o=`${t}_session_update`,a=ai.get(o);if(a&&this.isRequestOutOfSync(a,n)){this.client.logger.warn(`Discarding out of sync request - ${n}`),this.sendError({id:n,topic:t,error:te("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(se({topic:t},s));try{ai.set(o,n),await this.client.session.update(t,{namespaces:s.namespaces}),await this.sendResult({id:n,topic:t,result:!0,throwOnFailedPublish:!0})}catch(c){throw ai.delete(o),c}this.client.events.emit("session_update",{id:n,topic:t,params:s})}catch(o){await this.sendError({id:n,topic:t,error:o}),this.client.logger.error(o)}}),R(this,"isRequestOutOfSync",(t,i)=>i.toString().slice(0,-3)<t.toString().slice(0,-3)),R(this,"onSessionUpdateResponse",(t,i)=>{const{id:s}=i,n=X("session_update",s);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);wt(i)?this.events.emit(X("session_update",s),{}):et(i)&&this.events.emit(X("session_update",s),{error:i.error})}),R(this,"onSessionExtendRequest",async(t,i)=>{const{id:s}=i;try{this.isValidExtend({topic:t}),await this.setExpiry(t,de(Ir)),await this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:s,topic:t})}catch(n){await this.sendError({id:s,topic:t,error:n}),this.client.logger.error(n)}}),R(this,"onSessionExtendResponse",(t,i)=>{const{id:s}=i,n=X("session_extend",s);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);wt(i)?this.events.emit(X("session_extend",s),{}):et(i)&&this.events.emit(X("session_extend",s),{error:i.error})}),R(this,"onSessionPingRequest",async(t,i)=>{const{id:s}=i;try{this.isValidPing({topic:t}),await this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:s,topic:t})}catch(n){await this.sendError({id:s,topic:t,error:n}),this.client.logger.error(n)}}),R(this,"onSessionPingResponse",(t,i)=>{const{id:s}=i,n=X("session_ping",s);setTimeout(()=>{if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners 2176`);wt(i)?this.events.emit(X("session_ping",s),{}):et(i)&&this.events.emit(X("session_ping",s),{error:i.error})},500)}),R(this,"onSessionDeleteRequest",async(t,i)=>{const{id:s}=i;try{this.isValidDisconnect({topic:t,reason:i.params}),Promise.all([new Promise(n=>{this.client.core.relayer.once(we.publish,async()=>{n(await this.deleteSession({topic:t,id:s}))})}),this.sendResult({id:s,topic:t,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:t,error:te("USER_DISCONNECTED")})]).catch(n=>this.client.logger.error(n))}catch(n){this.client.logger.error(n)}}),R(this,"onSessionRequest",async t=>{var i,s,n;const{topic:o,payload:a,attestation:c,encryptedId:u,transportType:l}=t,{id:h,params:d}=a;try{await this.isValidRequest(se({topic:o},d));const f=this.client.session.get(o),p=await this.getVerifyContext({attestationId:c,hash:vt(JSON.stringify(Ht("wc_sessionRequest",d,h))),encryptedId:u,metadata:f.peer.metadata,transportType:l}),g={id:h,topic:o,params:d,verifyContext:p};await this.setPendingSessionRequest(g),l===ae.link_mode&&(i=f.peer.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp((s=f.peer.metadata.redirect)==null?void 0:s.universal),(n=this.client.signConfig)!=null&&n.disableRequestQueue?this.emitSessionRequest(g):(this.addSessionRequestToSessionRequestQueue(g),this.processSessionRequestQueue())}catch(f){await this.sendError({id:h,topic:o,error:f}),this.client.logger.error(f)}}),R(this,"onSessionRequestResponse",(t,i)=>{const{id:s}=i,n=X("session_request",s);if(this.events.listenerCount(n)===0)throw new Error(`emitting ${n} without any listeners`);wt(i)?this.events.emit(X("session_request",s),{result:i.result}):et(i)&&this.events.emit(X("session_request",s),{error:i.error})}),R(this,"onSessionEventRequest",async(t,i)=>{const{id:s,params:n}=i;try{const o=`${t}_session_event_${n.event.name}`,a=ai.get(o);if(a&&this.isRequestOutOfSync(a,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidEmit(se({topic:t},n)),this.client.events.emit("session_event",{id:s,topic:t,params:n}),ai.set(o,s)}catch(o){await this.sendError({id:s,topic:t,error:o}),this.client.logger.error(o)}}),R(this,"onSessionAuthenticateResponse",(t,i)=>{const{id:s}=i;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:t,payload:i}),wt(i)?this.events.emit(X("session_request",s),{result:i.result}):et(i)&&this.events.emit(X("session_request",s),{error:i.error})}),R(this,"onSessionAuthenticateRequest",async t=>{var i;const{topic:s,payload:n,attestation:o,encryptedId:a,transportType:c}=t;try{const{requester:u,authPayload:l,expiryTimestamp:h}=n.params,d=await this.getVerifyContext({attestationId:o,hash:vt(JSON.stringify(n)),encryptedId:a,metadata:u.metadata,transportType:c}),f={requester:u,pairingTopic:s,id:n.id,authPayload:l,verifyContext:d,expiryTimestamp:h};await this.setAuthRequest(n.id,{request:f,pairingTopic:s,transportType:c}),c===ae.link_mode&&(i=u.metadata.redirect)!=null&&i.universal&&this.client.core.addLinkModeSupportedApp(u.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:s,params:n.params,id:n.id,verifyContext:d})}catch(u){this.client.logger.error(u);const l=n.params.requester.publicKey,h=await this.client.core.crypto.generateKeyPair(),d=this.getAppLinkIfEnabled(n.params.requester.metadata,c),f={type:Nt,receiverPublicKey:l,senderPublicKey:h};await this.sendError({id:n.id,topic:s,error:u,encodeOpts:f,rpcOpts:ge.wc_sessionAuthenticate.autoReject,appLink:d})}}),R(this,"addSessionRequestToSessionRequestQueue",t=>{this.sessionRequestQueue.queue.push(t)}),R(this,"cleanupAfterResponse",t=>{this.deletePendingSessionRequest(t.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=gt.idle,this.processSessionRequestQueue()},U.toMiliseconds(this.requestQueueDelay))}),R(this,"cleanupPendingSentRequestsForTopic",({topic:t,error:i})=>{const s=this.client.core.history.pending;s.length>0&&s.filter(n=>n.topic===t&&n.request.method==="wc_sessionRequest").forEach(n=>{const o=n.request.id,a=X("session_request",o);if(this.events.listenerCount(a)===0)throw new Error(`emitting ${a} without any listeners`);this.events.emit(X("session_request",n.request.id),{error:i})})}),R(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===gt.active){this.client.logger.info("session request queue is already active.");return}const t=this.sessionRequestQueue.queue[0];if(!t){this.client.logger.info("session request queue is empty.");return}try{this.sessionRequestQueue.state=gt.active,this.emitSessionRequest(t)}catch(i){this.client.logger.error(i)}}),R(this,"emitSessionRequest",t=>{this.client.events.emit("session_request",t)}),R(this,"onPairingCreated",t=>{if(t.methods&&this.expectedPairingMethodMap.set(t.topic,t.methods),t.active)return;const i=this.client.proposal.getAll().find(s=>s.pairingTopic===t.topic);
12i&&this.onSessionProposeRequest({topic:t.topic,payload:Ht("wc_sessionPropose",Te(se({},i),{requiredNamespaces:i.requiredNamespaces,optionalNamespaces:i.optionalNamespaces,relays:i.relays,proposer:i.proposer,sessionProperties:i.sessionProperties,scopedProperties:i.scopedProperties}),i.id)})}),R(this,"isValidConnect",async t=>{if(!Fe(t)){const{message:u}=F("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(t)}`);throw new Error(u)}const{pairingTopic:i,requiredNamespaces:s,optionalNamespaces:n,sessionProperties:o,scopedProperties:a,relays:c}=t;if(Se(i)||await this.isValidPairingTopic(i),!T0(c)){const{message:u}=F("MISSING_OR_INVALID",`connect() relays: ${c}`);throw new Error(u)}if(!Se(s)&&Kt(s)!==0){const u="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(u):this.client.logger.warn(u),this.validateNamespaces(s,"requiredNamespaces")}if(!Se(n)&&Kt(n)!==0&&this.validateNamespaces(n,"optionalNamespaces"),Se(o)||this.validateSessionProps(o,"sessionProperties"),!Se(a)){this.validateSessionProps(a,"scopedProperties");const u=Object.keys(s||{}).concat(Object.keys(n||{}));if(!Object.keys(a).every(l=>u.includes(l)))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(a)}, required/optional namespaces: ${JSON.stringify(u)}`)}}),R(this,"validateNamespaces",(t,i)=>{const s=C0(t,"connect()",i);if(s)throw new Error(s.message)}),R(this,"isValidApprove",async t=>{if(!Fe(t))throw new Error(F("MISSING_OR_INVALID",`approve() params: ${t}`).message);const{id:i,namespaces:s,relayProtocol:n,sessionProperties:o,scopedProperties:a}=t;this.checkRecentlyDeleted(i),await this.isValidProposalId(i);const c=this.client.proposal.get(i),u=fn(s,"approve()");if(u)throw new Error(u.message);const l=Rc(c.requiredNamespaces,s,"approve()");if(l)throw new Error(l.message);if(!he(n,!0)){const{message:h}=F("MISSING_OR_INVALID",`approve() relayProtocol: ${n}`);throw new Error(h)}if(Se(o)||this.validateSessionProps(o,"sessionProperties"),!Se(a)){this.validateSessionProps(a,"scopedProperties");const h=new Set(Object.keys(s));if(!Object.keys(a).every(d=>h.has(d)))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(a)}, approved namespaces: ${Array.from(h).join(", ")}`)}}),R(this,"isValidReject",async t=>{if(!Fe(t)){const{message:n}=F("MISSING_OR_INVALID",`reject() params: ${t}`);throw new Error(n)}const{id:i,reason:s}=t;if(this.checkRecentlyDeleted(i),await this.isValidProposalId(i),!N0(s)){const{message:n}=F("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(s)}`);throw new Error(n)}}),R(this,"isValidSessionSettleRequest",t=>{if(!Fe(t)){const{message:u}=F("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${t}`);throw new Error(u)}const{relay:i,controller:s,namespaces:n,expiry:o}=t;if(!jh(i)){const{message:u}=F("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(u)}const a=S0(s,"onSessionSettleRequest()");if(a)throw new Error(a.message);const c=fn(n,"onSessionSettleRequest()");if(c)throw new Error(c.message);if(kt(o)){const{message:u}=F("EXPIRED","onSessionSettleRequest()");throw new Error(u)}}),R(this,"isValidUpdate",async t=>{if(!Fe(t)){const{message:c}=F("MISSING_OR_INVALID",`update() params: ${t}`);throw new Error(c)}const{topic:i,namespaces:s}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const n=this.client.session.get(i),o=fn(s,"update()");if(o)throw new Error(o.message);const a=Rc(n.requiredNamespaces,s,"update()");if(a)throw new Error(a.message)}),R(this,"isValidExtend",async t=>{if(!Fe(t)){const{message:s}=F("MISSING_OR_INVALID",`extend() params: ${t}`);throw new Error(s)}const{topic:i}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i)}),R(this,"isValidRequest",async t=>{if(!Fe(t)){const{message:c}=F("MISSING_OR_INVALID",`request() params: ${t}`);throw new Error(c)}const{topic:i,request:s,chainId:n,expiry:o}=t;this.checkRecentlyDeleted(i),await this.isValidSessionTopic(i);const{namespaces:a}=this.client.session.get(i);if(!Tc(a,n)){const{message:c}=F("MISSING_OR_INVALID",`request() chainId: ${n}`);throw new Error(c)}if(!j0(s)){const{message:c}=F("MISSING_OR_INVALID",`request() ${JSON.stringify(s)}`);throw new Error(c)}if(!F0(a,n,s.method)){const{message:c}=F("MISSING_OR_INVALID",`request() method: ${s.method}`);throw new Error(c)}if(o&&!M0(o,Sn)){const{message:c}=F("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${Sn.min} and ${Sn.max}`);throw new Error(c)}}),R(this,"isValidRespond",async t=>{var i;if(!Fe(t)){const{message:o}=F("MISSING_OR_INVALID",`respond() params: ${t}`);throw new Error(o)}const{topic:s,response:n}=t;try{await this.isValidSessionTopic(s)}catch(o){throw(i=t?.response)!=null&&i.id&&this.cleanupAfterResponse(t),o}if(!B0(n)){const{message:o}=F("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(n)}`);throw new Error(o)}}),R(this,"isValidPing",async t=>{if(!Fe(t)){const{message:s}=F("MISSING_OR_INVALID",`ping() params: ${t}`);throw new Error(s)}const{topic:i}=t;await this.isValidSessionOrPairingTopic(i)}),R(this,"isValidEmit",async t=>{if(!Fe(t)){const{message:a}=F("MISSING_OR_INVALID",`emit() params: ${t}`);throw new Error(a)}const{topic:i,event:s,chainId:n}=t;await this.isValidSessionTopic(i);const{namespaces:o}=this.client.session.get(i);if(!Tc(o,n)){const{message:a}=F("MISSING_OR_INVALID",`emit() chainId: ${n}`);throw new Error(a)}if(!U0(s)){const{message:a}=F("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(s)}`);throw new Error(a)}if(!q0(o,n,s.name)){const{message:a}=F("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(s)}`);throw new Error(a)}}),R(this,"isValidDisconnect",async t=>{if(!Fe(t)){const{message:s}=F("MISSING_OR_INVALID",`disconnect() params: ${t}`);throw new Error(s)}const{topic:i}=t;await this.isValidSessionOrPairingTopic(i)}),R(this,"isValidAuthenticate",t=>{const{chains:i,uri:s,domain:n,nonce:o}=t;if(!Array.isArray(i)||i.length===0)throw new Error("chains is required and must be a non-empty array");
vendor: 9,643 bytes, line 12
12if(!he(s,!1))throw new Error("uri is required parameter");if(!he(n,!1))throw new Error("domain is required parameter");if(!he(o,!1))throw new Error("nonce is required parameter");if([...new Set(i.map(c=>Lr(c).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:a}=Lr(i[0]);if(a!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),R(this,"getVerifyContext",async t=>{const{attestationId:i,hash:s,encryptedId:n,metadata:o,transportType:a}=t,c={verified:{verifyUrl:o.verifyUrl||wi,validation:"UNKNOWN",origin:o.url||""}};try{if(a===ae.link_mode){const l=this.getAppLinkIfEnabled(o,a);return c.verified.validation=l&&new URL(l).origin===new URL(o.url).origin?"VALID":"INVALID",c}const u=await this.client.core.verify.resolve({attestationId:i,hash:s,encryptedId:n,verifyUrl:o.verifyUrl});u&&(c.verified.origin=u.origin,c.verified.isScam=u.isScam,c.verified.validation=u.origin===new URL(o.url).origin?"VALID":"INVALID")}catch(u){this.client.logger.warn(u)}return this.client.logger.debug(`Verify context: ${JSON.stringify(c)}`),c}),R(this,"validateSessionProps",(t,i)=>{Object.values(t).forEach((s,n)=>{if(s==null){const{message:o}=F("MISSING_OR_INVALID",`${i} must contain an existing value for each key. Received: ${s} for key ${Object.keys(t)[n]}`);throw new Error(o)}})}),R(this,"getPendingAuthRequest",t=>{const i=this.client.auth.requests.get(t);return typeof i=="object"?i:void 0}),R(this,"addToRecentlyDeleted",(t,i)=>{if(this.recentlyDeletedMap.set(t,i),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let s=0;const n=this.recentlyDeletedLimit/2;for(const o of this.recentlyDeletedMap.keys()){if(s++>=n)break;this.recentlyDeletedMap.delete(o)}}}),R(this,"checkRecentlyDeleted",t=>{const i=this.recentlyDeletedMap.get(t);if(i){const{message:s}=F("MISSING_OR_INVALID",`Record was recently deleted - ${i}: ${t}`);throw new Error(s)}}),R(this,"isLinkModeEnabled",(t,i)=>{var s,n,o,a,c,u,l,h,d;return!t||i!==ae.link_mode?!1:((n=(s=this.client.metadata)==null?void 0:s.redirect)==null?void 0:n.linkMode)===!0&&((a=(o=this.client.metadata)==null?void 0:o.redirect)==null?void 0:a.universal)!==void 0&&((u=(c=this.client.metadata)==null?void 0:c.redirect)==null?void 0:u.universal)!==""&&((l=t?.redirect)==null?void 0:l.universal)!==void 0&&((h=t?.redirect)==null?void 0:h.universal)!==""&&((d=t?.redirect)==null?void 0:d.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(t.redirect.universal)&&typeof(global==null?void 0:global.Linking)<"u"}),R(this,"getAppLinkIfEnabled",(t,i)=>{var s;return this.isLinkModeEnabled(t,i)?(s=t?.redirect)==null?void 0:s.universal:void 0}),R(this,"handleLinkModeMessage",({url:t})=>{if(!t||!t.includes("wc_ev")||!t.includes("topic"))return;const i=Ga(t,"topic")||"",s=decodeURIComponent(Ga(t,"wc_ev")||""),n=this.client.session.keys.includes(i);n&&this.client.session.update(i,{transportType:ae.link_mode}),this.client.core.dispatchEnvelope({topic:i,message:s,sessionExists:n})}),R(this,"registerLinkModeListeners",async()=>{var t;if(xo()||Wt()&&(t=this.client.metadata.redirect)!=null&&t.linkMode){const i=global==null?void 0:global.Linking;if(typeof i<"u"){i.addEventListener("url",this.handleLinkModeMessage,this.client.name);const s=await i.getInitialURL();s&&setTimeout(()=>{this.handleLinkModeMessage({url:s})},50)}}}),R(this,"shouldSetTVF",(t,i)=>{if(!i||t!=="wc_sessionRequest")return!1;const{request:s}=i;return Object.keys(Pu).includes(s.method)}),R(this,"getTVFParams",(t,i,s)=>{var n,o;try{const a=i.request.method,c=this.extractTxHashesFromResult(a,s);return Te(se({correlationId:t,rpcMethods:[a],chainId:i.chainId},this.isValidContractData(i.request.params)&&{contractAddresses:[(o=(n=i.request.params)==null?void 0:n[0])==null?void 0:o.to]}),{txHashes:c})}catch(a){this.client.logger.warn("Error getting TVF params",a)}return{}}),R(this,"isValidContractData",t=>{var i;if(!t)return!1;try{const s=t?.data||((i=t?.[0])==null?void 0:i.data);if(!s.startsWith("0x"))return!1;const n=s.slice(2);return/^[0-9a-fA-F]*$/.test(n)?n.length%2===0:!1}catch{}return!1}),R(this,"extractTxHashesFromResult",(t,i)=>{try{const s=Pu[t];if(typeof i=="string")return[i];const n=i[s.key];if(lt(n))return t==="solana_signAllTransactions"?n.map(o=>cb(o)):n;if(typeof n=="string")return[n]}catch(s){this.client.logger.warn("Error extracting tx hashes from result",s)}return[]})}async processPendingMessageEvents(){try{const e=this.client.session.keys,t=this.client.core.relayer.messages.getWithoutAck(e);for(const[i,s]of Object.entries(t))for(const n of s)try{await this.onProviderMessageEvent({topic:i,message:n,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${i}, message: ${n}`)}}catch(e){this.client.logger.warn("processPendingMessageEvents failed",e)}}isInitialized(){if(!this.initialized){const{message:e}=F("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(we.message,e=>{this.onProviderMessageEvent(e)})}async onRelayMessage(e){const{topic:t,message:i,attestation:s,transportType:n}=e,{publicKey:o}=this.client.auth.authKeys.keys.includes(cs)?this.client.auth.authKeys.get(cs):{publicKey:void 0};try{const a=await this.client.core.crypto.decode(t,i,{receiverPublicKey:o,encoding:n===ae.link_mode?Mt:ut});Lo(a)?(this.client.core.history.set(t,a),await this.onRelayEventRequest({topic:t,payload:a,attestation:s,transportType:n,encryptedId:vt(i)})):Bs(a)?(await this.client.core.history.resolve(a),await this.onRelayEventResponse({topic:t,payload:a,transportType:n}),this.client.core.history.delete(t,a.id)):await this.onRelayEventUnknownPayload({topic:t,payload:a,transportType:n}),await this.client.core.relayer.messages.ack(t,i)}catch(a){this.client.logger.error(a)}}registerExpirerEvents(){this.client.core.expirer.on(Xe.expired,async e=>{const{topic:t,id:i}=eh(e.target);if(i&&this.client.pendingRequest.keys.includes(i))return await this.deletePendingSessionRequest(i,F("EXPIRED"),!0);if(i&&this.client.auth.requests.keys.includes(i))return await this.deletePendingAuthRequest(i,F("EXPIRED"),!0);t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):i&&(await this.deleteProposal(i,!0),this.client.events.emit("proposal_expire",{id:i}))})}registerPairingEvents(){this.client.core.pairing.events.on(rr.create,e=>this.onPairingCreated(e)),this.client.core.pairing.events.on(rr.delete,e=>{this.addToRecentlyDeleted(e.topic,"pairing")})}isValidPairingTopic(e){if(!he(e,!1)){const{message:t}=F("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(t)}if(!this.client.core.pairing.pairings.keys.includes(e)){const{message:t}=F("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(kt(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=F("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!he(e,!1)){const{message:t}=F("MISSING_OR_INVALID",`session topic should be a string: ${e}`);throw new Error(t)}if(this.checkRecentlyDeleted(e),!this.client.session.keys.includes(e)){const{message:t}=F("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(kt(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=F("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=F("MISSING_OR_INVALID",`session topic does not exist in keychain: ${e}`);throw await this.deleteSession({topic:e}),new 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(he(e,!1)){const{message:t}=F("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}else{const{message:t}=F("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}async isValidProposalId(e){if(!R0(e)){const{message:t}=F("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=F("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(kt(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=F("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}}class XD extends fr{constructor(e,t){super(e,t,UD,ko),this.core=e,this.logger=t}}let eS=class extends fr{constructor(e,t){super(e,t,FD,ko),this.core=e,this.logger=t}};class tS extends fr{constructor(e,t){super(e,t,LD,ko,i=>i.id),this.core=e,this.logger=t}}class rS extends fr{constructor(e,t){super(e,t,HD,Fs,()=>cs),this.core=e,this.logger=t}}class iS extends fr{constructor(e,t){super(e,t,VD,Fs),this.core=e,this.logger=t}}class sS extends fr{constructor(e,t){super(e,t,KD,Fs,i=>i.id),this.core=e,this.logger=t}}var nS=Object.defineProperty,oS=(r,e,t)=>e in r?nS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,On=(r,e,t)=>oS(r,typeof e!="symbol"?e+"":e,t);class aS{constructor(e,t){this.core=e,this.logger=t,On(this,"authKeys"),On(this,"pairingTopics"),On(this,"requests"),this.authKeys=new rS(this.core,this.logger),this.pairingTopics=new iS(this.core,this.logger),this.requests=new sS(this.core,this.logger)}
12async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var cS=Object.defineProperty,uS=(r,e,t)=>e in r?cS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,G=(r,e,t)=>uS(r,typeof e!="symbol"?e+"":e,t);let lS=class ud extends c1{constructor(e){super(e),G(this,"protocol",od),G(this,"version",ad),G(this,"name",Dn.name),G(this,"metadata"),G(this,"core"),G(this,"logger"),G(this,"events",new Ye.EventEmitter),G(this,"engine"),G(this,"session"),G(this,"proposal"),G(this,"pendingRequest"),G(this,"auth"),G(this,"signConfig"),G(this,"on",(i,s)=>this.events.on(i,s)),G(this,"once",(i,s)=>this.events.once(i,s)),G(this,"off",(i,s)=>this.events.off(i,s)),G(this,"removeListener",(i,s)=>this.events.removeListener(i,s)),G(this,"removeAllListeners",i=>this.events.removeAllListeners(i)),G(this,"connect",async i=>{try{return await this.engine.connect(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"pair",async i=>{try{return await this.engine.pair(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"approve",async i=>{try{return await this.engine.approve(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"reject",async i=>{try{return await this.engine.reject(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"update",async i=>{try{return await this.engine.update(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"extend",async i=>{try{return await this.engine.extend(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"request",async i=>{try{return await this.engine.request(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"respond",async i=>{try{return await this.engine.respond(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"ping",async i=>{try{return await this.engine.ping(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"emit",async i=>{try{return await this.engine.emit(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"disconnect",async i=>{try{return await this.engine.disconnect(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"find",i=>{try{return this.engine.find(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(i){throw this.logger.error(i.message),i}}),G(this,"authenticate",async(i,s)=>{try{return await this.engine.authenticate(i,s)}catch(n){throw this.logger.error(n.message),n}}),G(this,"formatAuthMessage",i=>{try{return this.engine.formatAuthMessage(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"approveSessionAuthenticate",async i=>{try{return await this.engine.approveSessionAuthenticate(i)}catch(s){throw this.logger.error(s.message),s}}),G(this,"rejectSessionAuthenticate",async i=>{try{return await this.engine.rejectSessionAuthenticate(i)}catch(s){throw this.logger.error(s.message),s}}),this.name=e?.name||Dn.name,this.metadata=Ew(e?.metadata),this.signConfig=e?.signConfig;const t=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:Bi(Rs({level:e?.logger||Dn.logger}));this.core=e?.core||new BD(e),this.logger=Ne(t,this.name),this.session=new eS(this.core,this.logger),this.proposal=new XD(this.core,this.logger),this.pendingRequest=new tS(this.core,this.logger),this.engine=new QD(this),this.auth=new aS(this.core,this.logger)}static async init(e){const t=new ud(e);return await t.initialize(),t}get context(){return ke(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout(()=>{this.engine.processRelayMessageCache()},U.toMiliseconds(U.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}};var Ji={exports:{}},Au;function hS(){return Au||(Au=1,(function(r,e){var t=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof bt<"u"&&bt,i=(function(){function n(){this.fetch=!1,this.DOMException=t.DOMException}return n.prototype=t,new n})();(function(n){(function(o){var a=typeof n<"u"&&n||typeof self<"u"&&self||typeof bt<"u"&&bt||{},c={searchParams:"URLSearchParams"in a,iterable:"Symbol"in a&&"iterator"in Symbol,blob:"FileReader"in a&&"Blob"in a&&(function(){try{return new Blob,!0}catch{return!1}})(),formData:"FormData"in a,arrayBuffer:"ArrayBuffer"in a};function u(y){return y&&DataView.prototype.isPrototypeOf(y)}if(c.arrayBuffer)var l=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array
12]"],h=ArrayBuffer.isView||function(y){return y&&l.indexOf(Object.prototype.toString.call(y))>-1};function d(y){if(typeof y!="string"&&(y=String(y)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(y)||y==="")throw new TypeError('Invalid character in header field name: "'+y+'"');return y.toLowerCase()}function f(y){return typeof y!="string"&&(y=String(y)),y}function p(y){var m={next:function(){var D=y.shift();return{done:D===void 0,value:D}}};return c.iterable&&(m[Symbol.iterator]=function(){return m}),m}function g(y){this.map={},y instanceof g?y.forEach(function(m,D){this.append(D,m)},this):Array.isArray(y)?y.forEach(function(m){if(m.length!=2)throw new TypeError("Headers constructor: expected name/value pair to be length 2, found"+m.length);this.append(m[0],m[1])},this):y&&Object.getOwnPropertyNames(y).forEach(function(m){this.append(m,y[m])},this)}g.prototype.append=function(y,m){y=d(y),m=f(m);var D=this.map[y];this.map[y]=D?D+", "+m:m},g.prototype.delete=function(y){delete this.map[d(y)]},g.prototype.get=function(y){return y=d(y),this.has(y)?this.map[y]:null},g.prototype.has=function(y){return this.map.hasOwnProperty(d(y))},g.prototype.set=function(y,m){this.map[d(y)]=f(m)},g.prototype.forEach=function(y,m){for(var D in this.map)this.map.hasOwnProperty(D)&&y.call(m,this.map[D],D,this)},g.prototype.keys=function(){var y=[];return this.forEach(function(m,D){y.push(D)}),p(y)},g.prototype.values=function(){var y=[];return this.forEach(function(m){y.push(m)}),p(y)},g.prototype.entries=function(){var y=[];return this.forEach(function(m,D){y.push([D,m])}),p(y)},c.iterable&&(g.prototype[Symbol.iterator]=g.prototype.entries);function w(y){if(!y._noBody){if(y.bodyUsed)return Promise.reject(new TypeError("Already read"));y.bodyUsed=!0}}function _(y){return new Promise(function(m,D){y.onload=function(){m(y.result)},y.onerror=function(){D(y.error)}})}function b(y){var m=new FileReader,D=_(m);return m.readAsArrayBuffer(y),D}function E(y){var m=new FileReader,D=_(m),x=/charset=([A-Za-z0-9_-]+)/.exec(y.type),O=x?x[1]:"utf-8";return m.readAsText(y,O),D}function A(y){for(var m=new Uint8Array(y),D=new Array(m.length),x=0;x<m.length;x++)D[x]=String.fromCharCode(m[x]);return D.join("")}function T(y){if(y.slice)return y.slice(0);var m=new Uint8Array(y.byteLength);return m.set(new Uint8Array(y)),m.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(y){this.bodyUsed=this.bodyUsed,this._bodyInit=y,y?typeof y=="string"?this._bodyText=y:c.blob&&Blob.prototype.isPrototypeOf(y)?this._bodyBlob=y:c.formData&&FormData.prototype.isPrototypeOf(y)?this._bodyFormData=y:c.searchParams&&URLSearchParams.prototype.isPrototypeOf(y)?this._bodyText=y.toString():c.arrayBuffer&&c.blob&&u(y)?(this._bodyArrayBuffer=T(y.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):c.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(y)||h(y))?this._bodyArrayBuffer=T(y):this._bodyText=y=Object.prototype.toString.call(y):(this._noBody=!0,this._bodyText=""),this.headers.get("content-type")||(typeof y=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):c.searchParams&&URLSearchParams.prototype.isPrototypeOf(y)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},c.blob&&(this.blob=function(){var y=w(this);if(y)return y;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))}),this.arrayBuffer=function(){if(this._bodyArrayBuffer){var y=w(this);return y||(ArrayBuffer.isView(this._bodyArrayBuffer)?Promise.resolve(this._bodyArrayBuffer.buffer.slice(this._bodyArrayBuffer.byteOffset,this._bodyArrayBuffer.byteOffset+this._bodyArrayBuffer.byteLength)):Promise.resolve(this._bodyArrayBuffer))}else{if(c.blob)return this.blob().then(b);throw new Error("could not read as ArrayBuffer")}},this.text=function(){var y=w(this);if(y)return y;if(this._bodyBlob)return E(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(A(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},c.formData&&(this.formData=function(){return this.text().then(j)}),this.json=function(){return this.text().then(JSON.parse)},this}var I=["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"];function P(y){var m=y.toUpperCase();return I.indexOf(m)>-1?m:y}function S(y,m){if(!(this instanceof S))throw new TypeError('Please use the "new" operator, this DOM object c
12onstructor cannot be called as a function.');m=m||{};var D=m.body;if(y instanceof S){if(y.bodyUsed)throw new TypeError("Already read");this.url=y.url,this.credentials=y.credentials,m.headers||(this.headers=new g(y.headers)),this.method=y.method,this.mode=y.mode,this.signal=y.signal,!D&&y._bodyInit!=null&&(D=y._bodyInit,y.bodyUsed=!0)}else this.url=String(y);if(this.credentials=m.credentials||this.credentials||"same-origin",(m.headers||!this.headers)&&(this.headers=new g(m.headers)),this.method=P(m.method||this.method||"GET"),this.mode=m.mode||this.mode||null,this.signal=m.signal||this.signal||(function(){if("AbortController"in a){var C=new AbortController;return C.signal}})(),this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&D)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(D),(this.method==="GET"||this.method==="HEAD")&&(m.cache==="no-store"||m.cache==="no-cache")){var x=/([?&])_=[^&]*/;if(x.test(this.url))this.url=this.url.replace(x,"$1_="+new Date().getTime());else{var O=/\?/;this.url+=(O.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}S.prototype.clone=function(){return new S(this,{body:this._bodyInit})};function j(y){var m=new FormData;return y.trim().split("&").forEach(function(D){if(D){var x=D.split("="),O=x.shift().replace(/\+/g," "),C=x.join("=").replace(/\+/g," ");m.append(decodeURIComponent(O),decodeURIComponent(C))}}),m}function N(y){var m=new g,D=y.replace(/\r?\n[\t ]+/g," ");return D.split("\r").map(function(x){return x.indexOf(` 13`)===0?x.substr(1,x.length):x}).forEach(function(x){var O=x.split(":"),C=O.shift().trim();if(C){var q=O.join(":").trim();try{m.append(C,q)}catch(k){console.warn("Response "+k.message)}}}),m}v.call(S.prototype);function B(y,m){if(!(this instanceof B))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');if(m||(m={}),this.type="default",this.status=m.status===void 0?200:m.status,this.status<200||this.status>599)throw new RangeError("Failed to construct 'Response': The status provided (0) is outside the range [200, 599].");this.ok=this.status>=200&&this.status<300,this.statusText=m.statusText===void 0?"":""+m.statusText,this.headers=new g(m.headers),this.url=m.url||"",this._initBody(y)}v.call(B.prototype),B.prototype.clone=function(){return new B(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new g(this.headers),url:this.url})},B.error=function(){var y=new B(null,{status:200,statusText:""});return y.ok=!1,y.status=0,y.type="error",y};var M=[301,302,303,307,308];B.redirect=function(y,m){if(M.indexOf(m)===-1)throw new RangeError("Invalid status code");return new B(null,{status:m,headers:{location:y}})},o.DOMException=a.DOMException;try{new o.DOMException}catch{o.DOMException=function(m,D){this.message=m,this.name=D;var x=Error(m);this.stack=x.stack},o.DOMException.prototype=Object.create(Error.prototype),o.DOMException.prototype.constructor=o.DOMException}function $(y,m){return new Promise(function(D,x){var O=new S(y,m);if(O.signal&&O.signal.aborted)return x(new o.DOMException("Aborted","AbortError"));var C=new XMLHttpRequest;function q(){C.abort()}C.onload=function(){var L={statusText:C.statusText,headers:N(C.getAllResponseHeaders()||"")};O.url.indexOf("file://")===0&&(C.status<200||C.status>599)?L.status=200:L.status=C.status,L.url="responseURL"in C?C.responseURL:L.headers.get("X-Request-URL");var H="response"in C?C.response:C.responseText;setTimeout(function(){D(new B(H,L))},0)},C.onerror=function(){setTimeout(function(){x(new TypeError("Network request failed"))},0)},C.ontimeout=function(){setTimeout(function(){x(new TypeError("Network request timed out"))},0)},C.onabort=function(){setTimeout(function(){x(new o.DOMException("Aborted","AbortError"))},0)};function k(L){try{return L===""&&a.location.href?a.location.href:L}catch{return L}}if(C.open(O.method,k(O.url),!0),O.credentials==="include"?C.withCredentials=!0:O.credentials==="omit"&&(C.withCredentials=!1),"responseType"in C&&(c.blob?C.responseType="blob":c.arrayBuffer&&(C.responseType="arraybuffer")),m&&typeof m.headers=="object"&&!(m.headers instanceof g||a.Headers&&m.headers instanceof a.Headers)){var z=[];
vendor: 11,093 bytes, line 13
13Object.getOwnPropertyNames(m.headers).forEach(function(L){z.push(d(L)),C.setRequestHeader(L,f(m.headers[L]))}),O.headers.forEach(function(L,H){z.indexOf(H)===-1&&C.setRequestHeader(H,L)})}else O.headers.forEach(function(L,H){C.setRequestHeader(H,L)});O.signal&&(O.signal.addEventListener("abort",q),C.onreadystatechange=function(){C.readyState===4&&O.signal.removeEventListener("abort",q)}),C.send(typeof O._bodyInit>"u"?null:O._bodyInit)})}return $.polyfill=!0,a.fetch||(a.fetch=$,a.Headers=g,a.Request=S,a.Response=B),o.Headers=g,o.Request=S,o.Response=B,o.fetch=$,Object.defineProperty(o,"__esModule",{value:!0}),o})({})})(i),i.fetch.ponyfill=!0,delete i.fetch.polyfill;var s=t.fetch?t:i;e=s.fetch,e.default=s.fetch,e.fetch=s.fetch,e.Headers=s.Headers,e.Request=s.Request,e.Response=s.Response,r.exports=e})(Ji,Ji.exports)),Ji.exports}var dS=hS();const xu=vo(dS);var pS=Object.defineProperty,fS=Object.defineProperties,gS=Object.getOwnPropertyDescriptors,Cu=Object.getOwnPropertySymbols,yS=Object.prototype.hasOwnProperty,mS=Object.prototype.propertyIsEnumerable,Tu=(r,e,t)=>e in r?pS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ru=(r,e)=>{for(var t in e||(e={}))yS.call(e,t)&&Tu(r,t,e[t]);if(Cu)for(var t of Cu(e))mS.call(e,t)&&Tu(r,t,e[t]);return r},Nu=(r,e)=>fS(r,gS(e));const wS={Accept:"application/json","Content-Type":"application/json"},bS="POST",ju={headers:wS,method:bS},Bu=10;let ht=class{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new Ye.EventEmitter,this.isAvailable=!1,this.registering=!1,!Zc(e))throw new Error(`Provided URL is not compatible with HTTP connection: ${e}`);this.url=e,this.disableProviderPing=t}get connected(){return this.isAvailable}get connecting(){return this.registering}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async open(e=this.url){await this.register(e)}async close(){if(!this.isAvailable)throw new Error("Connection already closed");this.onClose()}async send(e){this.isAvailable||await this.register();try{const t=Bt(e),i=await(await xu(this.url,Nu(Ru({},ju),{body:t}))).json();this.onPayload({data:i})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!Zc(e))throw new Error(`Provided URL is not compatible with HTTP connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((i,s)=>{this.events.once("register_error",n=>{this.resetMaxListeners(),s(n)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return s(new Error("HTTP connection is missing or invalid"));i()})})}this.url=e,this.registering=!0;try{if(!this.disableProviderPing){const t=Bt({id:1,jsonrpc:"2.0",method:"test",params:[]});await xu(e,Nu(Ru({},ju),{body:t}))}this.onOpen()}catch(t){const i=this.parseError(t);throw this.events.emit("register_error",i),this.onClose(),i}}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;const t=typeof e.data=="string"?cr(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const i=this.parseError(t),s=i.message||i.toString(),n=js(e,s);this.events.emit("payload",n)}parseError(e,t=this.url){return Lh(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>Bu&&this.events.setMaxListeners(Bu)}};const Uu="error",vS="wss://relay.walletconnect.org",ES="wc",_S="universal_provider",Zi=`${ES}@2:${_S}:`,ld="https://rpc.walletconnect.org/v1/",Br="generic",IS=`${ld}bundler`,it={DEFAULT_CHAIN_CHANGED:"default_chain_changed"};function DS(){}function Mo(r){return r==null||typeof r!="object"&&typeof r!="function"}function zo(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}function SS(r){if(Mo(r))return r;if(Array.isArray(r)||zo(r)||r instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&r instanceof SharedArrayBuffer)return r.slice(0);const e=Object.getPrototypeOf(r),t=e.constructor;if(r instanceof Date||r instanceof Map||r instanceof Set)return new t(r);if(r instanceof RegExp){const i=new t(r);return i.lastIndex=r.lastIndex,i}if(r instanceof DataView)return new t(r.buffer.slice(0));if(r instanceof Error){const i=new t(r.message);return i.stack=r.stack,i.name=r.name,i.cause=r.cause,i}if(typeof File<"u"&&r instanceof File)return new t([r],r.name,{type:r.type,lastModified:r.lastModified});if(typeof r=="object"){const i=Object.create(e);return Object.assign(i,r)}return r}function Fu(r){return typeof r=="object"&&r!==null}function hd(r){return Object.getOwnPropertySymbols(r).filter(e=>Object.prototype.propertyIsEnumerable.call(r,e))}function dd(r){return r==null?r===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(r)}const OS="[object RegExp]",pd="[object String]",fd="[object Number]",gd="[object Boolean]",yd="[object Arguments]",PS="[object Symbol]",$S="[object Date]",AS="[object Map]",xS="[object Set]",CS="[object Array]",TS="[object ArrayBuffer]",RS="[object Object]",NS="[object DataView]",jS="[object Uint8Array]",BS="[object Uint8ClampedArray]",US="[object Uint16Array]",FS="[object Uint32Array]",qS="[object Int8Array]",LS="[object Int16Array]",kS="[object Int32Array]",MS="[object Float32Array]",zS="[object Float64Array]";function HS(r,e){return qr(r,void 0,r,new Map,e)}function qr(r,e,t,i=new Map,s=void 0){const n=s?.(r,e,t,i);if(n!=null)return n;if(Mo(r))return r;if(i.has(r))return i.get(r);if(Array.isArray(r)){const o=new Array(r.length);i.set(r,o);for(let a=0;a<r.length;a++)o[a]=qr(r[a],a,t,i,s);return Object.hasOwn(r,"index")&&(o.index=r.index),Object.hasOwn(r,"input")&&(o.input=r.input),o}if(r instanceof Date)return new Date(r.getTime());if(r instanceof RegExp){const o=new RegExp(r.source,r.flags);return o.lastIndex=r.lastIndex,o}if(r instanceof Map){const o=new Map;i.set(r,o);for(const[a,c]of r)o.set(a,qr(c,a,t,i,s));return o}if(r instanceof Set){const o=new Set;i.set(r,o);for(const a of r)o.add(qr(a,void 0,t,i,s));return o}if(typeof Buffer<"u"&&Buffer.isBuffer(r))return r.subarray();if(zo(r)){const o=new(Object.getPrototypeOf(r)).constructor(r.length);i.set(r,o);for(let a=0;a<r.length;a++)o[a]=qr(r[a],a,t,i,s);return o}if(r instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&r instanceof SharedArrayBuffer)return r.slice(0);if(r instanceof DataView){const o=new DataView(r.buffer.slice(0),r.byteOffset,r.byteLength);return i.set(r,o),ir(o,r,t,i,s),o}if(typeof File<"u"&&r instanceof File){const o=new File([r],r.name,{type:r.type});return i.set(r,o),ir(o,r,t,i,s),o}if(r instanceof Blob){const o=new Blob([r],{type:r.type});return i.set(r,o),ir(o,r,t,i,s),o}if(r instanceof Error){const o=new r.constructor;return i.set(r,o),o.message=r.message,o.name=r.name,o.stack=r.stack,o.cause=r.cause,ir(o,r,t,i,s),o}if(typeof r=="object"&&VS(r)){const o=Object.create(Object.getPrototypeOf(r));return i.set(r,o),ir(o,r,t,i,s),o}return r}function ir(r,e,t=r,i,s){const n=[...Object.keys(e),...hd(e)];for(let o=0;o<n.length;o++){const a=n[o],c=Object.getOwnPropertyDescriptor(r,a);(c==null||c.writable)&&(r[a]=qr(e[a],a,t,i,s))}}function VS(r){switch(dd(r)){case yd:case CS:case TS:case NS:case gd:case $S:case MS:case zS:case qS:case LS:case kS:case AS:case fd:case RS:case OS:case xS:case pd:case PS:case jS:case BS:case US:case FS:return!0;default:return!1}}function KS(r,e){return HS(r,(t,i,s,n)=>{if(typeof r=="object")switch(Object.prototype.toString.call(r)){case fd:case pd:case gd:{const o=new r.constructor(r?.valueOf());return ir(o,r),o}case yd:{const o={};return ir(o,r),o.length=r.length,o[Symbol.iterator]=r[Symbol.iterator],o}default:return}})}function qu(r){return KS(r)}function Lu(r){return r!==null&&typeof r=="object"&&dd(r)==="[object Arguments]"}function WS(r){return zo(r)}function GS(r){if(typeof r!="object"||r==null)return!1;if(Object.getPrototypeOf(r)===null)return!0;if(Object.prototype.toString.call(r)!=="[object Object]"){const t=r[Symbol.toStringTag];return t==null||!Object.getOwnPropertyDescriptor(r,Symbol.toStringTag)?.writable?!1:r.toString()===`[object ${t}]`}let e=r;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(r)===e}function YS(r,...e){const t=e.slice(0,-1),i=e[e.length-1];let s=r;for(let n=0;n<t.length;n++){const o=t[n];s=yo(s,o,i,new Map)}return s}function yo(r,e,t,i){if(Mo(r)&&(r=Object(r)),e==null||typeof e!="object")return r;if(i.has(e))return SS(i.get(e));if(i.set(e,r),Array.isArray(e)){e=e.slice();for(let n=0;n<e.length;n++)e[n]=e[n]??void 0}const s=[...Object.keys(e),...hd(e)];for(let n=0;n<s.length;n++){const o=s[n];let a=e[o],c=r[o];if(Lu(a)&&(a={...a}),Lu(c)&&(c={...c}),typeof Buffer<"u"&&Buffer.isBuffer(a)&&(a=qu(a)),Array.isArray(a))if(typeof c=="object"&&c!=null){const l=[],h=Reflect.ownKeys(c);for(let d=0;d<h.length;d++){const f=h[d];l[f]=c[f]}c=l}else c=[];const u=t(c,a,o,r,e,i);u!=null?r[o]=u:Array.isArray(a)||Fu(c)&&Fu(a)?r[o]=yo(c,a,t,i):c==null&&GS(a)?r[o]=yo({},a,t,i):c==null&&WS(a)?r[o]=qu(a):(c===void 0||a!==void 0)&&(r[o]=a)}return r}function JS(r,...e){return YS(r,...e,DS)}var ZS=Object.defineProperty,QS=Object.defineProperties,XS=Object.getOwnPropertyDescriptors,ku=Object.getOwnPropertySymbols,eO=Object.prototype.hasOwnProperty,tO=Object.prototype.propertyIsEnumerable,Mu=(r,e,t)=>e in r?ZS(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Qi=(r,e)=>{for(var t in e||(e={}))eO.call(e,t)&&Mu(r,t,e[t]);if(ku)for(var t of ku(e))tO.call(e,t)&&Mu(r,t,e[t]);return r},rO=(r,e)=>QS(r,XS(e));function Ge(r,e,t){var i;const s=Lr(r);return((i=e.rpcMap)==null?void 0:i[s.reference])||`${ld}?chainId=${s.namespace}:${s.reference}&projectId=${t}`}function gr(r){return r.includes(":")?r.split(":")[1]:r}function md(r){return r.map(e=>`${e.split(":")[0]}:${e.split(":")[1]}`)}function iO(r,e){const t=Object.keys(e.namespaces).filter(s=>s.includes(r));if(!t.length)return[];const i=[];return t.forEach(s=>{const n=e.namespaces[s].accounts;i.push(...n)}),i}function Xi(r={},e={}){const t=zu(r),i=zu(e);return JS(t,i)}function zu(r){var e,t,i,s,n;const o={};if(!Kt(r))return o;for(const[a,c]of Object.entries(r)){const u=Ts(a)?[a]:c.chains,l=c.methods||[],h=c.events||[],d=c.rpcMap||{},f=Fr(a);o[f]=rO(Qi(Qi({},o[f]),c),{chains:Et(u,(e=o[f])==null?void 0:e.chains),methods:Et(l,(t=o[f])==null?void 0:t.methods),events:Et(h,(i=o[f])==null?void 0:i.events)}),(Kt(d)||Kt(((s=o[f])==null?void 0:s.rpcMap)||{}))&&(o[f].rpcMap=Qi(Qi({},d),(n=o[f])==null?void 0:n.rpcMap))}return o}function Hu(r){return r.includes(":")?r.split(":")[2]:r}function Vu(r){const e={};for(const[t,i]of Object.entries(r)){const s=i.methods||[],n=i.events||[],o=i.accounts||[],a=Ts(t)?[t]:i.chains?i.chains:md(i.accounts);e[t]={chains:a,methods:s,events:n,accounts:o}}return e}function Pn(r){return typeof r=="number"?r:r.includes("0x")?parseInt(r,16):(r=r.includes(":")?r.split(":")[1]:r,isNaN(Number(r))?r:Number(r))}const wd={},Q=r=>wd[r],$n=(r,e)=>
13{wd[r]=e};var sO=Object.defineProperty,nO=(r,e,t)=>e in r?sO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Dr=(r,e,t)=>nO(r,typeof e!="symbol"?e+"":e,t);class oO{constructor(e){Dr(this,"name","polkadot"),Dr(this,"client"),Dr(this,"httpProviders"),Dr(this,"events"),Dr(this,"namespace"),Dr(this,"chainId"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const s=gr(t);e[s]=this.createHttpProvider(s,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||Ge(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new rt(new ht(i,Q("disableProviderPing")))}}var aO=Object.defineProperty,cO=Object.defineProperties,uO=Object.getOwnPropertyDescriptors,Ku=Object.getOwnPropertySymbols,lO=Object.prototype.hasOwnProperty,hO=Object.prototype.propertyIsEnumerable,mo=(r,e,t)=>e in r?aO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Wu=(r,e)=>{for(var t in e||(e={}))lO.call(e,t)&&mo(r,t,e[t]);if(Ku)for(var t of Ku(e))hO.call(e,t)&&mo(r,t,e[t]);return r},Gu=(r,e)=>cO(r,uO(e)),Sr=(r,e,t)=>mo(r,typeof e!="symbol"?e+"":e,t);class dO{constructor(e){Sr(this,"name","eip155"),Sr(this,"client"),Sr(this,"chainId"),Sr(this,"namespace"),Sr(this,"httpProviders"),Sr(this,"events"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":return this.getAccounts();case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId.toString();if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}createHttpProvider(e,t){const i=t||Ge(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new rt(new ht(i,Q("disableProviderPing")))}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const s=parseInt(gr(t));e[s]=this.createHttpProvider(s,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}getHttpProvider(){const e=this.chainId,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}async handleSwitchChain(e){var t,i;let s=e.request.params?(t=e.request.params[0])==null?void 0:t.chainId:"0x0";s=s.startsWith("0x")?s:`0x${s}`;const n=parseInt(s,16);if(this.isChainApproved(n))this.setDefaultChain(`${n}`);else if(this.namespace.methods.includes("wallet_switchEthereumChain"))await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:s}]},chainId:(i=this.namespace.chains)==null?void 0:i[0]}),this.setDefaultChain(`${n}`);else throw new Error(`Failed to switch to chain 'eip155:${n}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var t,i,s,n,o;const a=(i=(t=e.request)==null?void 0:t.params)==null?void 0:i[0],c=((n=(s=e.request)==null?void 0:s.params)==null?void 0:n[1])||[],u=`${a}${c.join(",")}`;if(!a)throw new Error("Missing address parameter in `wallet_getCapabilities` request");const l=this.client.session.get(e.topic),h=((o=l?.sessionProperties)==null?void 0:o.capabilities)||{};if(h!=null&&h[u])return h?.[u];const d=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:Gu(Wu({},l.sessionProperties||{}),{capabilities:Gu(Wu({},h||{}),{[u]:d})})})}catch(f){console.warn("Failed to update session with capabilities",f)}return d}async getCallStatus(e){var t,i;const s=this.client.session.get(e.topic),n=(t=s.sessionProperties)==null?void 0:t.bundler_name;if(n){const a=this.getBundlerUrl(e.chainId,n);try{return await this.getUserOperationReceipt(a,e)}catch(c){console.warn("Failed to fetch call status from bundler",c,a)}}const o=(i=s.sessionProperties)==null?void 0:i.bundler_url;if(o)try{return await this.getUserOperationReceipt(o,e)}catch(a){console.warn("Failed to fetch call status from custom bundler",a,o)}if(this.namespace.methods.includes(e.request.method))return await this.client.request(e);throw new Error("Fetching call status not approved by the wallet.")}async getUserOperationReceipt(e,t){var i;const s=new URL(e),n=await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Ht("eth_getUserOperationReceipt",[(i=t.request.params)==null?void 0:i[0]]))});if(!n.ok)throw new Error(`Failed to fetch user operation receipt - ${n.status}`);return await n.json()}
13getBundlerUrl(e,t){return`${IS}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var pO=Object.defineProperty,fO=(r,e,t)=>e in r?pO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Or=(r,e,t)=>fO(r,typeof e!="symbol"?e+"":e,t);class gO{constructor(e){Or(this,"name","solana"),Or(this,"client"),Or(this,"httpProviders"),Or(this,"events"),Or(this,"namespace"),Or(this,"chainId"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("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(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const s=gr(t);e[s]=this.createHttpProvider(s,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||Ge(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new rt(new ht(i,Q("disableProviderPing")))}}var yO=Object.defineProperty,mO=(r,e,t)=>e in r?yO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pr=(r,e,t)=>mO(r,typeof e!="symbol"?e+"":e,t);class wO{constructor(e){Pr(this,"name","cosmos"),Pr(this,"client"),Pr(this,"httpProviders"),Pr(this,"events"),Pr(this,"namespace"),Pr(this,"chainId"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const s=gr(t);e[s]=this.createHttpProvider(s,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||Ge(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new rt(new ht(i,Q("disableProviderPing")))}}var bO=Object.defineProperty,vO=(r,e,t)=>e in r?bO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,$r=(r,e,t)=>vO(r,typeof e!="symbol"?e+"":e,t);class EO{constructor(e){$r(this,"name","algorand"),$r(this,"client"),$r(this,"httpProviders"),$r(this,"events"),$r(this,"namespace"),$r(this,"chainId"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("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]){const i=t||Ge(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.chainId=e,this.events.emit(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;e[t]=this.createHttpProvider(t,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||Ge(e,this.namespace,this.client.core.projectId);return typeof i>"u"?void 0:new rt(new ht(i,Q("disableProviderPing")))}}var _O=Object.defineProperty,IO=(r,e,t)=>e in r?_O(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ar=(r,e,t)=>IO(r,typeof e!="symbol"?e+"":e,t);class DO{constructor(e){Ar(this,"name","cip34"),Ar(this,"client"),Ar(this,"httpProviders"),Ar(this,"events"),Ar(this,"namespace"),Ar(this,"chainId"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(e,t),this.chainId=e,this.events.emit(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{const i=this.getCardanoRPCUrl(t),s=gr(t);e[s]=this.createHttpProvider(s,i)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}getCardanoRPCUrl(e){const t=this.namespace.rpcMap;if(t)return t[e]}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||this.getCardanoRPCUrl(e);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new rt(new ht(i,Q("disableProviderPing")))}}var SO=Object.defineProperty,OO=(r,e,t)=>e in r?SO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,xr=(r,e,t)=>OO(r,typeof e!="symbol"?e+"":e,t);
13class PO{constructor(e){xr(this,"name","elrond"),xr(this,"client"),xr(this,"httpProviders"),xr(this,"events"),xr(this,"namespace"),xr(this,"chainId"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("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(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const s=gr(t);e[s]=this.createHttpProvider(s,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||Ge(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new rt(new ht(i,Q("disableProviderPing")))}}var $O=Object.defineProperty,AO=(r,e,t)=>e in r?$O(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Cr=(r,e,t)=>AO(r,typeof e!="symbol"?e+"":e,t);class xO{constructor(e){Cr(this,"name","multiversx"),Cr(this,"client"),Cr(this,"httpProviders"),Cr(this,"events"),Cr(this,"namespace"),Cr(this,"chainId"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("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(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;const s=gr(t);e[s]=this.createHttpProvider(s,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||Ge(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new rt(new ht(i,Q("disableProviderPing")))}}var CO=Object.defineProperty,TO=(r,e,t)=>e in r?CO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Tr=(r,e,t)=>TO(r,typeof e!="symbol"?e+"":e,t);class RO{constructor(e){Tr(this,"name","near"),Tr(this,"client"),Tr(this,"httpProviders"),Tr(this,"events"),Tr(this,"namespace"),Tr(this,"chainId"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){const i=t||Ge(`${this.name}:${e}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{var i;e[t]=this.createHttpProvider(t,(i=this.namespace.rpcMap)==null?void 0:i[t])}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||Ge(e,this.namespace);return typeof i>"u"?void 0:new rt(new ht(i,Q("disableProviderPing")))}}var NO=Object.defineProperty,jO=(r,e,t)=>e in r?NO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Rr=(r,e,t)=>jO(r,typeof e!="symbol"?e+"":e,t);class BO{constructor(e){Rr(this,"name","tezos"),Rr(this,"client"),Rr(this,"httpProviders"),Rr(this,"events"),Rr(this,"namespace"),Rr(this,"chainId"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("client"),this.chainId=this.getDefaultChain(),this.httpProviders=this.createHttpProviders()}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}requestAccounts(){return this.getAccounts()}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}request(e){return this.namespace.methods.includes(e.request.method)?this.client.request(e):this.getHttpProvider().request(e.request)}setDefaultChain(e,t){if(this.chainId=e,!this.httpProviders[e]){const i=t||Ge(`${this.name}:${e}`,this.namespace);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,i)}this.events.emit(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2])||[]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach(t=>{e[t]=this.createHttpProvider(t)}),e}getHttpProvider(){const e=`${this.name}:${this.chainId}`,t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||Ge(e,this.namespace);return typeof i>"u"?void 0:new rt(new ht(i))}}var UO=Object.defineProperty,FO=(r,e,t)=>e in r?UO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Nr=(r,e,t)=>FO(r,typeof e!="symbol"?e+"":e,t);class qO{constructor(e){Nr(this,"name",Br),Nr(this,"client"),Nr(this,"httpProviders"),Nr(this,"events"),Nr(this,"namespace"),Nr(this,"chainId"),this.namespace=e.namespace,this.events=Q("events"),this.client=Q("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(it.DEFAULT_CHAIN_CHANGED,`${this.name}:${e}`)}getDefaultChain(){if(this.chainId)return this.chainId;if(this.namespace.defaultChain)return this.namespace.defaultChain;const e=this.namespace.chains[0];if(!e)throw new Error("ChainId not found");return e.split(":")[1]}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter(t=>t.split(":")[1]===this.chainId.toString()).map(t=>t.split(":")[2]))]:[]}createHttpProviders(){var e,t;const i={};return(t=(e=this.namespace)==null?void 0:e.accounts)==null||t.forEach(s=>{const n=Lr(s);i[`${n.namespace}:${n.reference}`]=this.createHttpProvider(s)}),i}getHttpProvider(e){const t=this.httpProviders[e];if(typeof t>"u")throw new Error(`JSON-RPC provider for ${e} not found`);return t}setHttpProvider(e,t){const i=this.createHttpProvider(e,t);i&&(this.httpProviders[e]=i)}createHttpProvider(e,t){const i=t||Ge(e,this.namespace,this.client.core.projectId);if(!i)throw new Error(`No RPC url provided for chainId: ${e}`);return new rt(new ht(i,Q("disableProviderPing")))}}var LO=Object.defineProperty,kO=Object.defineProperties,MO=Object.getOwnPropertyDescriptors,Yu=Object.getOwnPropertySymbols,zO=Object.prototype.hasOwnProperty,HO=Object.prototype.propertyIsEnumerable,wo=(r,e,t)=>e in r?LO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,es=(r,e)=>{for(var t in e||(e={}))zO.call(e,t)&&wo(r,t,e[t]);if(Yu)for(var t of Yu(e))HO.call(e,t)&&wo(r,t,e[t]);return r},An=(r,e)=>kO(r,MO(e)),Qe=(r,e,t)=>wo(r,typeof e!="symbol"?e+"":e,t);let VO=class bd{constructor(e){Qe(this,"client"),Qe(this,"namespaces"),Qe(this,"optionalNamespaces"),Qe(this,"sessionProperties"),Qe(this,"scopedProperties"),Qe(this,"events",new Eo),Qe(this,"rpcProviders",{}),Qe(this,"session"),Qe(this,"providerOpts"),Qe(this,"logger"),Qe(this,"uri"),Qe(this,"disableProviderPing",!1),this.providerOpts=e,this.logger=typeof e?.logger<"u"&&typeof e?.logger!="string"?e.logger:Bi(Rs({level:e?.logger||Uu})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){const t=new bd(e);return await t.initialize(),t}async request(e,t,i){const[s,n]=this.validateChain(t);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(s).request({request:es({}
vendor: 5,031 bytes, line 13
13,e),chainId:`${s}:${n}`,topic:this.session.topic,expiry:i})}sendAsync(e,t,i,s){const n=new Date().getTime();this.request(e,i,s).then(o=>t(null,Ns(n,o))).catch(o=>t(o,void 0))}async enable(){if(!this.client)throw new Error("Sign Client not initialized");return this.session||await this.connect({namespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties}),await this.requestAccounts()}async disconnect(){var e;if(!this.session)throw new Error("Please call connect() before enable()");await this.client.disconnect({topic:(e=this.session)==null?void 0:e.topic,reason:te("USER_DISCONNECTED")}),await this.cleanup()}async connect(e){if(!this.client)throw new Error("Sign Client not initialized");if(this.setNamespaces(e),await this.cleanupPendingPairings(),!e.skipPairing)return await this.pair(e.pairingTopic)}async authenticate(e,t){if(!this.client)throw new Error("Sign Client not initialized");this.setNamespaces(e),await this.cleanupPendingPairings();const{uri:i,response:s}=await this.client.authenticate(e,t);i&&(this.uri=i,this.events.emit("display_uri",i));const n=await s();if(this.session=n.session,this.session){const o=Vu(this.session.namespaces);this.namespaces=Xi(this.namespaces,o),await this.persist("namespaces",this.namespaces),this.onConnect()}return n}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){const{uri:t,approval:i}=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));const s=await i();this.session=s;const n=Vu(s.namespaces);return this.namespaces=Xi(this.namespaces,n),await this.persist("namespaces",this.namespaces),await this.persist("optionalNamespaces",this.optionalNamespaces),this.onConnect(),this.session}setDefaultChain(e,t){try{if(!this.session)return;const[i,s]=this.validateChain(e),n=this.getProvider(i);n.name===Br?n.setDefaultChain(`${i}:${s}`,t):n.setDefaultChain(s,t)}catch(i){if(!/Please call connect/.test(i.message))throw i}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const t=this.client.pairing.getAll();if(lt(t)){for(const i of t)e.deletePairings?this.client.core.expirer.set(i.topic,0):await this.client.core.relayer.subscriber.unsubscribe(i.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 lS.init({core:this.providerOpts.core,logger:this.providerOpts.logger||Uu,relayUrl:this.providerOpts.relayUrl||vS,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(i){throw this.logger.error("Failed to get session",i),new Error(`The provided session: ${(t=(e=this.providerOpts)==null?void 0:e.session)==null?void 0:t.topic} doesn't exist in the Sign client`)}else{const i=this.client.session.getAll();this.session=i[0]}this.logger.trace("SignClient Initialized")}createProviders(){if(!this.client)throw new Error("Sign Client not initialized");if(!this.session)throw new Error("Session not initialized. Please call connect() before enable()");const e=[...new Set(Object.keys(this.session.namespaces).map(t=>Fr(t)))];$n("client",this.client),$n("events",this.events),$n("disableProviderPing",this.disableProviderPing),e.forEach(t=>{if(!this.session)return;const i=iO(t,this.session),s=md(i),n=Xi(this.namespaces,this.optionalNamespaces),o=An(es({},n[t]),{accounts:i,chains:s});switch(t){case"eip155":this.rpcProviders[t]=new dO({namespace:o});break;case"algorand":this.rpcProviders[t]=new EO({namespace:o});break;case"solana":this.rpcProviders[t]=new gO({namespace:o});break;case"cosmos":this.rpcProviders[t]=new wO({namespace:o});break;case"polkadot":this.rpcProviders[t]=new oO({namespace:o});break;case"cip34":this.rpcProviders[t]=new DO({namespace:o});break;case"elrond":this.rpcProviders[t]=new PO({namespace:o});break;case"multiversx":this.rpcProviders[t]=new xO({namespace:o});break;case"near":this.rpcProviders[t]=new RO({namespace:o});break;
13case"tezos":this.rpcProviders[t]=new BO({namespace:o});break;default:this.rpcProviders[Br]?this.rpcProviders[Br].updateNamespace(o):this.rpcProviders[Br]=new qO({namespace:o})}})}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",e=>{var t;const{topic:i}=e;i===((t=this.session)==null?void 0:t.topic)&&this.events.emit("session_ping",e)}),this.client.on("session_event",e=>{var t;const{params:i,topic:s}=e;if(s!==((t=this.session)==null?void 0:t.topic))return;const{event:n}=i;if(n.name==="accountsChanged"){const o=n.data;o&<(o)&&this.events.emit("accountsChanged",o.map(Hu))}else if(n.name==="chainChanged"){const o=i.chainId,a=i.event.data,c=Fr(o),u=Pn(o)!==Pn(a)?`${c}:${Pn(a)}`:o;this.onChainChanged(u)}else this.events.emit(n.name,n.data);this.events.emit("session_event",e)}),this.client.on("session_update",({topic:e,params:t})=>{var i,s;if(e!==((i=this.session)==null?void 0:i.topic))return;const{namespaces:n}=t,o=(s=this.client)==null?void 0:s.session.get(e);this.session=An(es({},o),{namespaces:n}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:t})}),this.client.on("session_delete",async e=>{var t;e.topic===((t=this.session)==null?void 0:t.topic)&&(await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",An(es({},te("USER_DISCONNECTED")),{data:e.topic})))}),this.on(it.DEFAULT_CHAIN_CHANGED,e=>{this.onChainChanged(e,!0)})}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[Br]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach(e=>{var t;this.getProvider(e).updateNamespace((t=this.session)==null?void 0:t.namespaces[e])})}setNamespaces(e){const{namespaces:t={},optionalNamespaces:i={},sessionProperties:s,scopedProperties:n}=e;this.optionalNamespaces=Xi(t,i),this.sessionProperties=s,this.scopedProperties=n}validateChain(e){const[t,i]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,i];if(t&&!Object.keys(this.namespaces||{}).map(o=>Fr(o)).includes(t))throw new Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&i)return[t,i];const s=Fr(Object.keys(this.namespaces)[0]),n=this.rpcProviders[s].getDefaultChain();return[s,n]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;const[i,s]=this.validateChain(e);if(!s)return;this.updateNamespaceChain(i,s),this.events.emit("chainChanged",s);const n=this.getProvider(i).getDefaultChain();t||this.getProvider(i).setDefaultChain(s),this.emitAccountsChangedOnChainChange({namespace:i,previousChainId:n,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:t,newChainId:i}){var s,n;try{if(t===i)return;const o=(n=(s=this.session)==null?void 0:s.namespaces[e])==null?void 0:n.accounts;if(!o)return;const a=o.filter(c=>c.includes(`${i}:`)).map(Hu);if(!lt(a))return;this.events.emit("accountsChanged",a)}catch(o){this.logger.warn("Failed to emit accountsChanged on chain change",o)}}updateNamespaceChain(e,t){if(!this.namespaces)return;const i=this.namespaces[e]?e:`${e}:${t}`,s={chains:[],methods:[],events:[],defaultChain:t};this.namespaces[i]?this.namespaces[i]&&(this.namespaces[i].defaultChain=t):this.namespaces[i]=s}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 i;const s=((i=this.session)==null?void 0:i.topic)||"";await this.client.core.storage.setItem(`${Zi}/${e}${s}`,t)}async getFromStore(e){var t;const i=((t=this.session)==null?void 0:t.topic)||"";return await this.client.core.storage.getItem(`${Zi}/${e}${i}`)}async deleteFromStore(e){var t;const i=((t=this.session)==null?void 0:t.topic)||"";await this.client.core.storage.removeItem(`${Zi}/${e}${i}`)}async cleanupStorage(){var e;try{if(((e=this.client)==null?void 0:e.session.length)>0)return;const t=await this.client.core.storage.getKeys();for(const i of t)i.startsWith(Zi)&&await this.client.core.storage.removeItem(i)}catch(t){this.logger.warn("Failed to cleanup storage",t)}}};const KO=VO,WO="wc",GO="ethereum_provider",YO=`${WO}@2:${GO}:`,JO="https://rpc.walletconnect.org/v1/",ws=["eth_sendTransaction","personal_sign"],vd=["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"],bs=["chainChanged","accountsChanged"],Ed=["chainChanged","accountsChanged","message","disconnect","connect"],ZO=async()=>{const{createAppKit:r}=await el(()=>
13import("./core-DqgIVBms.js").then(e=>e.X),__vite__mapDeps([5,1,2]));return r};var QO=Object.defineProperty,XO=Object.defineProperties,eP=Object.getOwnPropertyDescriptors,Ju=Object.getOwnPropertySymbols,tP=Object.prototype.hasOwnProperty,rP=Object.prototype.propertyIsEnumerable,bo=(r,e,t)=>e in r?QO(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Xt=(r,e)=>{for(var t in e||(e={}))tP.call(e,t)&&bo(r,t,e[t]);if(Ju)for(var t of Ju(e))rP.call(e,t)&&bo(r,t,e[t]);return r},di=(r,e)=>XO(r,eP(e)),ze=(r,e,t)=>bo(r,typeof e!="symbol"?e+"":e,t);function vs(r){return Number(r[0].split(":")[1])}function ts(r){return`0x${r.toString(16)}`}function iP(r){const{chains:e,optionalChains:t,methods:i,optionalMethods:s,events:n,optionalEvents:o,rpcMap:a}=r;if(!lt(e))throw new Error("Invalid chains");const c={chains:e,methods:i||ws,events:n||bs,rpcMap:Xt({},e.length?{[vs(e)]:a[vs(e)]}:{})},u=n?.filter(f=>!bs.includes(f)),l=i?.filter(f=>!ws.includes(f));if(!t&&!o&&!s&&!(u!=null&&u.length)&&!(l!=null&&l.length))return{required:e.length?c:void 0};const h=u?.length&&l?.length||!t,d={chains:[...new Set(h?c.chains.concat(t||[]):t)],methods:[...new Set(c.methods.concat(s!=null&&s.length?s:vd))],events:[...new Set(c.events.concat(o!=null&&o.length?o:Ed))],rpcMap:a};return{required:e.length?c:void 0,optional:t.length?d:void 0}}class qs{constructor(){ze(this,"events",new Ye.EventEmitter),ze(this,"namespace","eip155"),ze(this,"accounts",[]),ze(this,"signer"),ze(this,"chainId",1),ze(this,"modal"),ze(this,"rpc"),ze(this,"STORAGE_KEY",YO),ze(this,"on",(e,t)=>(this.events.on(e,t),this)),ze(this,"once",(e,t)=>(this.events.once(e,t),this)),ze(this,"removeListener",(e,t)=>(this.events.removeListener(e,t),this)),ze(this,"off",(e,t)=>(this.events.off(e,t),this)),ze(this,"parseAccount",e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e),this.signer={},this.rpc={}}static async init(e){const t=new qs;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,i){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),i)}get connected(){return this.signer.client?this.signer.client.core.relayer.connected:!1}get connecting(){return this.signer.client?this.signer.client.core.relayer.connecting:!1}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){var t;if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);const{required:i,optional:s}=iP(this.rpc);try{const n=await new Promise(async(a,c)=>{var u,l;this.rpc.showQrModal&&((u=this.modal)==null||u.open(),(l=this.modal)==null||l.subscribeState(d=>{!d.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),c(new Error("Connection request reset. Please try again.")))}));const h=e!=null&&e.scopedProperties?{[this.namespace]:e.scopedProperties}:void 0;await this.signer.connect(di(Xt({namespaces:Xt({},i&&{[this.namespace]:i})},s&&{optionalNamespaces:{[this.namespace]:s}}),{pairingTopic:e?.pairingTopic,scopedProperties:h})).then(d=>{a(d)}).catch(d=>{var f;(f=this.modal)==null||f.showErrorMessage("Unable to connect"),c(new Error(d.message))})});if(!n)return;const o=za(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:o),this.setAccounts(o),this.events.emit("connect",{chainId:ts(this.chainId)})}catch(n){throw this.signer.logger.error(n),n}finally{(t=this.modal)==null||t.close()}}async authenticate(e,t){var i;if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e?.chains});try{const s=await new Promise(async(o,a)=>{var c,u;this.rpc.showQrModal&&((c=this.modal)==null||c.open(),(u=this.modal)==null||u.subscribeState(l=>{!l.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),a(new Error("Connection request reset. Please try again.")))})),await this.signer.authenticate(di(Xt({},e),{chains:this.rpc.chains}),t).then(l=>{o(l)}).catch(l=>{var h;(h=this.modal)==null||h.showErrorMessage("Unable to connect"),a(new Error(l.message))})}),n=s.session;if(n){const o=za(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:o),this.setAccounts(o),this.events.emit("connect",{chainId:ts(this.chainId)})}return s}catch(s){throw this.signer.logger.error(s),s}finally{(i=this.modal)==null||i.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=>{const{params:t}=e,{event:i}=t;i.name==="accountsChanged"?(this.accounts=this.parseAccounts(i.data),this.events.emit("accountsChanged",this.accounts)):i.name==="chainChanged"?this.setChainId(this.formatChainId(i.data)):this.events.emit(i.name,i.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=>{const t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",ts(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",di(Xt({},te("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 typeof e=="string"?e.startsWith(`${this.namespace}:`):!1}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){const t=e.filter(i=>this.isCompatibleChainId(i)).map(i=>this.parseChainId(i));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",ts(this.chainId)),this.persist())}setChainId(e){if(this.isCompatibleChainId(e)){const t=this.parseChainId(e);this.chainId=t,this.switchEthereumChain(t)}}parseAccountId(e){const[t,i,s]=e.split(":");return{chainId:`${t}:${i}`,address:s}}setAccounts(e){this.accounts=e.filter(t=>this.parseChainId(this.parseAccountId(t).chainId)===this.chainId).map(t=>this.parseAccountId(t).address),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,i;const s=(t=e?.chains)!=null?t:[],n=(i=e?.optionalChains)!=null?i:[],o=s.concat(n);if(!o.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const a=s.length?e?.methods||ws:[],c=s.length?e?.events||bs:[],u=e?.optionalMethods||[],l=e?.optionalEvents||[],h=e?.rpcMap||this.buildRpcMap(o,e.projectId),d=e?.qrModalOptions||void 0;return{chains:s?.map(f=>this.formatChainId(f)),optionalChains:n.map(f=>this.formatChainId(f)),methods:a,events:c,optionalMethods:u,optionalEvents:l,rpcMap:h,showQrModal:!!(e!=null&&e.showQrModal),qrModalOptions:d,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){const i={};return e.forEach(s=>{i[s]=this.getRpcUrl(s,t)}),i}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?vs(this.rpc.chains):vs(this.rpc.optionalChains),this.signer=await KO.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 t;try{const i=await ZO(),{convertWCMToAppKitOptions:s}=await Promise.resolve().then(function(){return fP}),n=s(di(Xt({},this.rpc.qrModalOptions),{chains:[...new Set([...this.rpc.chains,...this.rpc.optionalChains])],metadata:this.rpc.metadata,projectId:this.rpc.projectId}));if(!n.networks.length)throw new Error("No networks found for WalletConnect·");t=i(di(Xt({},n),{universalProvider:this.signer,manualWCControl:!0}))}catch(i){throw console.warn(i),new Error("To use QR modal, please install @reown/appkit package")}if(t)try{this.modal=t}catch(i){throw this.signer.logger.error(i),new Error("Could not generate WalletConnectMod
13al Instance")}}}loadConnectOpts(e){if(!e)return;const{chains:t,optionalChains:i,rpcMap:s}=e;t&<(t)&&(this.rpc.chains=t.map(n=>this.formatChainId(n)),t.forEach(n=>{this.rpc.rpcMap[n]=s?.[n]||this.getRpcUrl(n)})),i&<(i)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=i?.map(n=>this.formatChainId(n)),i.forEach(n=>{this.rpc.rpcMap[n]=s?.[n]||this.getRpcUrl(n)}))}getRpcUrl(e,t){var i;return((i=this.rpc.rpcMap)==null?void 0:i[e])||`${JO}?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{const 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(t=>this.signer.logger.warn(t))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return typeof e=="string"||e instanceof String?[this.parseAccount(e)]:e.map(t=>this.parseAccount(t))}}const sP=qs;var nP=Object.defineProperty,oP=Object.defineProperties,aP=Object.getOwnPropertyDescriptors,Zu=Object.getOwnPropertySymbols,cP=Object.prototype.hasOwnProperty,uP=Object.prototype.propertyIsEnumerable,Qu=(r,e,t)=>e in r?nP(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,_d=(r,e)=>{for(var t in e||(e={}))cP.call(e,t)&&Qu(r,t,e[t]);if(Zu)for(var t of Zu(e))uP.call(e,t)&&Qu(r,t,e[t]);return r},lP=(r,e)=>oP(r,aP(e));function hP(r){if(r)return{"--w3m-font-family":r["--wcm-font-family"],"--w3m-accent":r["--wcm-accent-color"],"--w3m-color-mix":r["--wcm-background-color"],"--w3m-z-index":r["--wcm-z-index"]?Number(r["--wcm-z-index"]):void 0,"--w3m-qr-color":r["--wcm-accent-color"],"--w3m-font-size-master":r["--wcm-text-medium-regular-size"],"--w3m-border-radius-master":r["--wcm-container-border-radius"],"--w3m-color-mix-strength":0}}const dP=r=>{const[e,t]=r.split(":");return Id({id:t,caipNetworkId:r,chainNamespace:e,name:"",nativeCurrency:{name:"",symbol:"",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}})};function pP(r){var e,t,i,s,n,o,a;const c=(e=r.chains)==null?void 0:e.map(dP).filter(Boolean);if(c.length===0)throw new Error("At least one chain must be specified");const u=c.find(h=>{var d;return h.id===((d=r.defaultChain)==null?void 0:d.id)}),l={projectId:r.projectId,networks:c,themeMode:r.themeMode,themeVariables:hP(r.themeVariables),chainImages:r.chainImages,connectorImages:r.walletImages,defaultNetwork:u,metadata:lP(_d({},r.metadata),{name:((t=r.metadata)==null?void 0:t.name)||"WalletConnect",description:((i=r.metadata)==null?void 0:i.description)||"Connect to WalletConnect-compatible wallets",url:((s=r.metadata)==null?void 0:s.url)||"https://walletconnect.org",icons:((n=r.metadata)==null?void 0:n.icons)||["https://walletconnect.org/walletconnect-logo.png"]}),showWallets:!0,featuredWalletIds:r.explorerRecommendedWalletIds==="NONE"?[]:Array.isArray(r.explorerRecommendedWalletIds)?r.explorerRecommendedWalletIds:[],excludeWalletIds:r.explorerExcludedWalletIds==="ALL"?[]:Array.isArray(r.explorerExcludedWalletIds)?r.explorerExcludedWalletIds:[],enableEIP6963:!1,enableInjected:!1,enableCoinbase:!0,enableWalletConnect:!0,features:{email:!1,socials:!1}};if((o=r.mobileWallets)!=null&&o.length||(a=r.desktopWallets)!=null&&a.length){const h=[...(r.mobileWallets||[]).map(p=>({id:p.id,name:p.name,links:p.links})),...(r.desktopWallets||[]).map(p=>({id:p.id,name:p.name,links:{native:p.links.native,universal:p.links.universal}}))],d=[...l.featuredWalletIds||[],...l.excludeWalletIds||[]],f=h.filter(p=>!d.includes(p.id));f.length&&(l.customWallets=f)}return l}function Id(r){return _d({formatters:void 0,fees:void 0,serializers:void 0},r)}var fP=Object.freeze({__proto__:null,convertWCMToAppKitOptions:pP,defineChain:Id});const o$=Object.freeze(Object.defineProperty({__proto__:null,EthereumProvider:sP,OPTIONAL_EVENTS:Ed,OPTIONAL_METHODS:vd,REQUIRED_EVENTS:bs,REQUIRED_METHODS:ws,default:qs},Symbol.toStringTag,{value:"Module"}));
13export{zE as A,X1 as B,aw as C,Lo as D,Ne as E,Bs as F,Ns as G,Qp as H,dr as I,lm as J,Bt as K,cr as L,nr as M,Eo as N,Bi as O,La as P,Hl as Q,js as R,wt as S,et as T,mt as U,ht as V,o$ as W,ga as a,Mp as b,bP as c,wP as d,_s as e,_P as f,EP as g,Pp as h,tt as i,Le as j,U as k,jt as l,Vd as m,gi as n,Ye as o,Rs as p,Z0 as q,vP as r,Ln as s,hl as t,OE as u,Ht as v,Xp as w,pr as x,ke as y,rt as z};
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.