vendor: 6,093 bytes, line 1
1"use strict";(self.webpackChunkseascape_web=self.webpackChunkseascape_web||[]).push([[5235],{20933:function(e,t,r){r.r(t),r.d(t,{__assign:function(){return a},__asyncDelegator:function(){return I},__asyncGenerator:function(){return E},__asyncValues:function(){return S},__await:function(){return v},__awaiter:function(){return d},__classPrivateFieldGet:function(){return x},__classPrivateFieldSet:function(){return R},__createBinding:function(){return f},__decorate:function(){return h},__exportStar:function(){return g},__extends:function(){return o},__generator:function(){return p},__importDefault:function(){return _},__importStar:function(){return O},__makeTemplateObject:function(){return P},__metadata:function(){return u},__param:function(){return l},__read:function(){return m},__rest:function(){return c},__spread:function(){return w},__spreadArrays:function(){return b},__values:function(){return y}});var i=r(52677),n=r.n(i),s=function(e,t){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},s(e,t)};function o(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var a=function(){return a=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},a.apply(this,arguments)};function c(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r}function h(e,t,r,i){var s,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"===("undefined"==typeof Reflect?"undefined":n()(Reflect))&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var c=e.length-1;c>=0;c--)(s=e[c])&&(a=(o<3?s(a):o>3?s(t,r,a):s(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}function l(e,t){return function(r,i){t(r,i,e)}}function u(e,t){if("object"===("undefined"==typeof Reflect?"undefined":n()(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function d(e,t,r,i){return new(r||(r=Promise))((function(n,s){function o(e){try{c(i.next(e))}catch(e){s(e)}}function a(e){try{c(i.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}c((i=i.apply(e,t||[])).next())}))}function p(e,t){var r,i,n,s,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(n=o.trys,(n=n.length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){o.label=s[1];break}if(6===s[0]&&o.label<n[1]){o.label=n[1],n=s;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(s);break}n[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],i=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function f(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}function g(e,t){for(var r in e)"default"===r||t.hasOwnProperty(r)||(t[r]=e[r])}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,n,s=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return o}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function b(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var i=Array(e),n=0;for(t=0;t<r;t++)for(var s=arguments[t],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i}function v(e){return this instanceof v?(this.v=e,this):new v(e)}function E(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,n=r.apply(e,t||[]),s=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(e){n[e]&&(i[e]=function(t){return new Promise((function(r,i){s.push([e,t,r,i])>1||a(e,t)}))})}function a(e,t){try{(r=n[e](t)).value instanceof v?Promise.resolve(r.value.v).then(c,h):l(s[0][2],r)}catch(e){l(s[0][3],e)}var r}function c(e){a("next",e)}function h(e){a("throw",e)}function l(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function I(e){var t,r;return t={},i("next"),i("throw",(function(e){throw e})),i("return"),t[Symbol.iterator]=function(){return this},t;function i(i,n){t[i]=e[i]?function(t){return(r=!r)?{value:v(e[i](t)),done:"return"===i}:n?n(t):t}:n}}function S(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=y(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=e[r]&&function(t){return new Promise((function(i,n){(function(e,t,r,i){Promise.resolve(i).then((function(t){e({value:t,done:r})}),t)})(i,n,(t=e[r](t)).done,t.value)}))}}}function P(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
1function O(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _(e){return e&&e.__esModule?e:{default:e}}function x(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function R(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}},62108:function(e,t,r){r.r(t),r.d(t,{__assign:function(){return a},__asyncDelegator:function(){return I},__asyncGenerator:function(){return E},__asyncValues:function(){return S},__await:function(){return v},__awaiter:function(){return d},__classPrivateFieldGet:function(){return x},__classPrivateFieldSet:function(){return R},__createBinding:function(){return f},__decorate:function(){return h},__exportStar:function(){return g},__extends:function(){return o},__generator:function(){return p},__importDefault:function(){return _},__importStar:function(){return O},__makeTemplateObject:function(){return P},__metadata:function(){return u},__param:function(){return l},__read:function(){return m},__rest:function(){return c},__spread:function(){return w},__spreadArrays:function(){return b},__values:function(){return y}});
vendor: 5,180 bytes, line 1
1var i=r(52677),n=r.n(i),s=function(e,t){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},s(e,t)};function o(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var a=function(){return a=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},a.apply(this,arguments)};function c(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(r[i[n]]=e[i[n]])}return r}function h(e,t,r,i){var s,o=arguments.length,a=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"===("undefined"==typeof Reflect?"undefined":n()(Reflect))&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,i);else for(var c=e.length-1;c>=0;c--)(s=e[c])&&(a=(o<3?s(a):o>3?s(t,r,a):s(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}function l(e,t){return function(r,i){t(r,i,e)}}function u(e,t){if("object"===("undefined"==typeof Reflect?"undefined":n()(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function d(e,t,r,i){return new(r||(r=Promise))((function(n,s){function o(e){try{c(i.next(e))}catch(e){s(e)}}function a(e){try{c(i.throw(e))}catch(e){s(e)}}function c(e){var t;e.done?n(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(o,a)}c((i=i.apply(e,t||[])).next())}))}function p(e,t){var r,i,n,s,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(n=o.trys,(n=n.length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){o.label=s[1];break}if(6===s[0]&&o.label<n[1]){o.label=n[1],n=s;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(s);break}n[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],i=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function f(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}function g(e,t){for(var r in e)"default"===r||t.hasOwnProperty(r)||(t[r]=e[r])}function y(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],i=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function m(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var i,n,s=r.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(e){n={error:e}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return o}function w(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}function b(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var i=Array(e),n=0;for(t=0;t<r;t++)for(var s=arguments[t],o=0,a=s.length;o<a;o++,n++)i[n]=s[o];return i}function v(e){return this instanceof v?(this.v=e,this):new v(e)}function E(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,n=r.apply(e,t||[]),s=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(e){n[e]&&(i[e]=function(t){return new Promise((function(r,i){s.push([e,t,r,i])>1||a(e,t)}))})}function a(e,t){try{(r=n[e](t)).value instanceof v?Promise.resolve(r.value.v).then(c,h):l(s[0][2],r)}catch(e){l(s[0][3],e)}var r}function c(e){a("next",e)}function h(e){a("throw",e)}function l(e,t){e(t),s.shift(),s.length&&a(s[0][0],s[0][1])}}function I(e){var t,r;return t={},i("next"),i("throw",(function(e){throw e})),i("return"),t[Symbol.iterator]=function(){return this},t;function i(i,n){t[i]=e[i]?function(t){return(r=!r)?{value:v(e[i](t)),done:"return"===i}:n?n(t):t}:n}}function S(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=y(e),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(r){t[r]=e[r]&&function(t){return new Promise((function(i,n){(function(e,t,r,i){Promise.resolve(i).then((function(t){e({value:t,done:r})}),t)})(i,n,(t=e[r](t)).done,t.value)}))}}}function P(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}
1function O(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _(e){return e&&e.__esModule?e:{default:e}}function x(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function R(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}},40926:function(e,t,r){function i(){return(null===r.g||void 0===r.g?void 0:r.g.crypto)||(null===r.g||void 0===r.g?void 0:r.g.msCrypto)||{}}function n(){const e=i();return e.subtle||e.webkitSubtle}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowserCryptoAvailable=t.getSubtleCrypto=t.getBrowerCrypto=void 0,t.getBrowerCrypto=i,t.getSubtleCrypto=n,t.isBrowserCryptoAvailable=function(){return!!i()&&!!n()}},88618:function(e,t,r){var i=r(34155);function n(){return"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product}function s(){return void 0!==i&&void 0!==i.versions&&void 0!==i.versions.node}Object.defineProperty(t,"__esModule",{value:!0}),t.isBrowser=t.isNode=t.isReactNative=void 0,t.isReactNative=n,t.isNode=s,t.isBrowser=function(){return!n()&&!s()}},1468:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});const i=r(20933);i.__exportStar(r(40926),t),i.__exportStar(r(88618),t)},6583:function(e,t,r){r.d(t,{EthereumProvider:function(){return Cf}});var i=r(17187),n=r.n(i),s=r(43631),o=r(66736),a=r(62873),c=r(65755);const h="2.23.2";let l={getDocsUrl:({docsBaseUrl:e,docsPath:t="",docsSlug:r})=>t?`${e??"https://viem.sh"}${t}${r?`#${r}`:""}`:void 0,version:`viem@${h}`};class u extends Error{constructor(e,t={}){const r=t.cause instanceof u?t.cause.details:t.cause?.message?t.cause.message:t.details,i=t.cause instanceof u&&t.cause.docsPath||t.docsPath,n=l.getDocsUrl?.({...t,docsPath:i});super([e||"An error occurred.","",...t.metaMessages?[...t.metaMessages,""]:[],...n?[`Docs: ${n}`]:[],...r?[`Details: ${r}`]:[],...l.version?[`Version: ${l.version}`]:[]].join("\n"),t.cause?{cause:t.cause}:void 0),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"BaseError"}),this.details=r,this.docsPath=i,this.metaMessages=t.metaMessages,this.name=t.name??this.name,this.shortMessage=e,this.version=h}walk(e){return d(this,e)}}function d(e,t){return t?.(e)?e:e&&"object"==typeof e&&"cause"in e&&void 0!==e.cause?d(e.cause,t):t?null:e}function p(e,{strict:t=!0}={}){return!!e&&("string"==typeof e&&(t?/^0x[0-9a-fA-F]*$/.test(e):e.startsWith("0x")))}class f extends u{constructor({size:e,targetSize:t,type:r}){super(`${r.charAt(0).toUpperCase()}${r.slice(1).toLowerCase()} size (${e}) exceeds padding size (${t}).`,{name:"SizeExceedsPaddingSizeError"})}}function g(e,{dir:t,size:r=32}={}){return"string"==typeof e?function(e,{dir:t,size:r=32}={}){if(null===r)return e;const i=e.replace("0x","");if(i.length>2*r)throw new f({size:Math.ceil(i.length/2),targetSize:r,type:"hex"});return`0x${i["right"===t?"padEnd":"padStart"](2*r,"0")}`}(e,{dir:t,size:r}):function(e,{dir:t,size:r=32}={}){if(null===r)return e;if(e.length>r)throw new f({size:e.length,targetSize:r,type:"bytes"});const i=new Uint8Array(r);for(let n=0;n<r;n++){const s="right"===t;i[s?n:r-n-1]=e[s?n:e.length-n-1]}return i}(e,{dir:t,size:r})}class y extends u{constructor({max:e,min:t,signed:r,size:i,value:n}){super(`Number "${n}" is not in safe ${i?`${8*i}-bit ${r?"signed":"unsigned"} `:""}integer range ${e?`(${t} to ${e})`:`(above ${t})`}`,{name:"IntegerOutOfRangeError"})}}class m extends u{constructor({givenSize:e,maxSize:t}
1){super(`Size cannot exceed ${t} bytes. Given size: ${e} bytes.`,{name:"SizeOverflowError"})}}function w(e){return p(e,{strict:!1})?Math.ceil((e.length-2)/2):e.length}function b(e,{size:t}){if(w(e)>t)throw new m({givenSize:w(e),maxSize:t})}function v(e,t={}){const{signed:r}=t;t.size&&b(e,{size:t.size});const i=BigInt(e);if(!r)return i;const n=(e.length-2)/2;return i<=(1n<<8n*BigInt(n)-1n)-1n?i:i-BigInt(`0x${"f".padStart(2*n,"f")}`)-1n}function E(e,t={}){return Number(v(e,t))}const I=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function S(e,t={}){return"number"==typeof e||"bigint"==typeof e?O(e,t):"string"==typeof e?function(e,t={}){const r=_.encode(e);return P(r,t)}(e,t):"boolean"==typeof e?function(e,t={}){const r=`0x${Number(e)}`;if("number"==typeof t.size)return b(r,{size:t.size}),g(r,{size:t.size});return r}(e,t):P(e,t)}function P(e,t={}){let r="";for(let t=0;t<e.length;t++)r+=I[e[t]];const i=`0x${r}`;return"number"==typeof t.size?(b(i,{size:t.size}),g(i,{dir:"right",size:t.size})):i}function O(e,t={}){const{signed:r,size:i}=t,n=BigInt(e);let s;i?s=r?(1n<<8n*BigInt(i)-1n)-1n:2n**(8n*BigInt(i))-1n:"number"==typeof e&&(s=BigInt(Number.MAX_SAFE_INTEGER));const o="bigint"==typeof s&&r?-s-1n:0;if(s&&n>s||n<o){const t="bigint"==typeof e?"n":"";throw new y({max:s?`${s}${t}`:void 0,min:`${o}${t}`,signed:r,size:i,value:`${e}${t}`})}const a=`0x${(r&&n<0?(1n<<BigInt(8*i))+BigInt(n):n).toString(16)}`;return i?g(a,{size:i}):a}const _=new TextEncoder;const x=new TextEncoder;function R(e,t={}){return"number"==typeof e||"bigint"==typeof e?function(e,t){const r=O(e,t);return D(r)}(e,t):"boolean"==typeof e?function(e,t={}){const r=new Uint8Array(1);if(r[0]=Number(e),"number"==typeof t.size)return b(r,{size:t.size}),g(r,{size:t.size});return r}(e,t):p(e)?D(e,t):L(e,t)}const A=48,C=57,N=65,T=70,j=97,k=102;function U(e){return e>=A&&e<=C?e-A:e>=N&&e<=T?e-(N-10):e>=j&&e<=k?e-(j-10):void 0}function D(e,t={}){let r=e;t.size&&(b(r,{size:t.size}),r=g(r,{dir:"right",size:t.size}));let i=r.slice(2);i.length%2&&(i=`0${i}`);const n=i.length/2,s=new Uint8Array(n);for(let e=0,t=0;e<n;e++){const r=U(i.charCodeAt(t++)),n=U(i.charCodeAt(t++));if(void 0===r||void 0===n)throw new u(`Invalid byte sequence ("${i[t-2]}${i[t-1]}" in "${i}").`);s[e]=16*r+n}return s}function L(e,t={}){const r=x.encode(e);return"number"==typeof t.size?(b(r,{size:t.size}),g(r,{dir:"right",size:t.size})):r}var q=r(12518);const B=BigInt(2**32-1),M=BigInt(32);function $(e,t=!1){return t?{h:Number(e&B),l:Number(e>>M&B)}:{h:0|Number(e>>M&B),l:0|Number(e&B)}}function z(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let n=0;n<e.length;n++){const{h:s,l:o}=$(e[n],t);[r[n],i[n]]=[s,o]}return[r,i]}const V=(e,t,r)=>e<<r|t>>>32-r,H=(e,t,r)=>t<<r|e>>>32-r,K=(e,t,r)=>t<<r-32|e>>>64-r,F=(e,t,r)=>e<<r-32|t>>>64-r;var W=r(91220);const J=[],G=[],Y=[],Z=BigInt(0),Q=BigInt(1),X=BigInt(2),ee=BigInt(7),te=BigInt(256),re=BigInt(113);for(let e=0,t=Q,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],J.push(2*(5*i+r)),G.push((e+1)*(e+2)/2%64);let n=Z;for(let e=0;e<7;e++)t=(t<<Q^(t>>ee)*re)%te,t&X&&(n^=Q<<(Q<<BigInt(e))-Q);Y.push(n)}const[ie,ne]=z(Y,!0),se=(e,t,r)=>r>32?K(e,t,r):V(e,t,r),oe=(e,t,r)=>r>32?F(e,t,r):H(e,t,r);class ae extends W.kb{constructor(e,t,r,i=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,q.k8)(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,W.Jq)(this.state)}keccak(){W.iA||(0,W.l1)(this.state32),function(e,t=24){const r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){const i=(t+8)%10,n=(t+2)%10,s=r[n],o=r[n+1],a=se(s,o,1)^r[i],c=oe(s,o,1)^r[i+1];for(let r=0;r<50;r+=10)e[t+r]^=a,e[t+r+1]^=c}let t=e[2],n=e[3];for(let r=0;r<24;r++){const i=G[r],s=se(t,n,i),o=oe(t,n,i),a=J[r];t=e[a],n=e[a+1],e[a]=s,e[a+1]=o}for(let t=0;t<50;t+=10){for(let i=0;i<10;i++)r[i]=e[t+i];for(let i=0;i<10;i++)e[t+i]^=~r[(i+2)%10]&r[(i+4)%10]}e[0]^=ie[i],e[1]^=ne[i]}r.fill(0)}(this.state32,this.rounds),W.iA||(0,W.l1)(this.state32),this.posOut=0,this.pos=0}update(e){(0,q.$h)(this);const{blockLen:t,state:r}=this,i=(e=(0,W.O0)(e)).length;for(let n=0;n<i;){const s=Math.min(t-this.pos,i-n);for(let t=0;t<s;t++)r[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:r,blockLen:i}=this;e[r]^=t,0!=(128&t)&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){(0,q.$h)(this,!1),(0,q.gk)(e),this.finish();const t=this.state,{blockLen:r}=this;for(let i=0,n=e.length;i<n;){this.posOut>=r&&this.keccak();const s=Math.min(r-this.posOut,n-i);e.set(t.subarray(this.posOut,this.posOut+s),i),this.posOut+=s,i+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return(0,q.k8)(e),this.xofInto(new Uint8Array(e))}digestInto(e){if((0,q.eB)(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:r,outputLen:i,rounds:n,enableXOF:s}=this;return e||(e=new ae(t,r,i,s,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=r,e.outputLen=i,e.enableXOF=s,e.destroyed=this.destroyed,e}}const ce=(e,t,r)=>(0,W.hE)((()=>new ae(t,e,r))),he=ce(1,136,32);function le(e,t){const r=t||"hex",i=he(p(e,{strict:!1})?R(e):e);return"bytes"===r?i:S(i)}class ue 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)&&void 0!==t&&(this.delete(e),super.set(e,t)),t}set(e,t){if(super.set(e,t),this.maxSize&&this.size>this.maxSize){const e=this.keys().next().value;e&&this.delete(e)}return this}}const de=new ue(8192);function pe(e,t){if(de.has(`${e}.${t}`))return de.get(`${e}.${t}`);const r=t?`${t}${e.toLowerCase()}`:e.substring(2).toLowerCase(),i=le(L(r),"bytes"),n=(t?r.substring(`${t}0x`.length):r).split("");for(let e=0;e<40;e+=2)i[e>>1]>>4>=8&&n[e]&&(n[e]=n[e].toUpperCase()),(15&i[e>>1])>
1=8&&n[e+1]&&(n[e+1]=n[e+1].toUpperCase());const s=`0x${n.join("")}`;return de.set(`${e}.${t}`,s),s}function fe(e){if(0===e||1===e)return e;if(27===e)return 0;if(28===e)return 1;throw new Error("Invalid yParityOrV value")}async function ge({hash:e,signature:t}){return i=await async function({hash:e,signature:t}){const i=p(e)?e:S(e),{secp256k1:n}=await r.e(6709).then(r.bind(r,6709)),s=(()=>{if("object"==typeof t&&"r"in t&&"s"in t){const{r:e,s:r,v:i,yParity:s}=t,o=fe(Number(s??i));return new n.Signature(v(e),v(r)).addRecoveryBit(o)}const e=p(t)?t:S(t),r=fe(E(`0x${e.slice(130)}`));return n.Signature.fromCompact(e.substring(2,130)).addRecoveryBit(r)})();return`0x${s.recoverPublicKey(i.substring(2)).toHex(!1)}`}({hash:e,signature:t}),pe(`0x${le(`0x${i.substring(4)}`).substring(26)}`);var i}var ye=r(39578),me=r(49392),we=r(69391),be=r(37968),ve=r(34155),Ee=r(48764).Buffer;const Ie=":";function Se(e){const[t,r]=e.split(Ie);return{namespace:t,reference:r}}function Pe(e,t=[]){const r=[];return Object.keys(e).forEach((i=>{if(t.length&&!t.includes(i))return;const n=e[i];r.push(...n.accounts)})),r}function Oe(e,t){return e.includes(":")?[e]:t.chains||[]}var _e=Object.defineProperty,xe=Object.defineProperties,Re=Object.getOwnPropertyDescriptors,Ae=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,Te=(e,t,r)=>t in e?_e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,je=(e,t)=>{for(var r in t||(t={}))Ce.call(t,r)&&Te(e,r,t[r]);if(Ae)for(var r of Ae(t))Ne.call(t,r)&&Te(e,r,t[r]);return e};const ke="react-native",Ue="node",De="browser",Le="unknown",qe="js";function Be(){return typeof ve<"u"&&typeof ve.versions<"u"&&typeof ve.versions.node<"u"}function Me(){return!(0,a.getDocument)()&&!!(0,a.getNavigator)()&&"ReactNative"===navigator.product}function $e(){return!Be()&&!!(0,a.getNavigator)()&&!!(0,a.getDocument)()}function ze(){return Me()?ke:Be()?Ue:$e()?De:Le}function Ve(){var e;try{return Me()&&typeof r.g<"u"&&typeof(null==r.g?void 0:r.g.Application)<"u"?null==(e=r.g.Application)?void 0:e.applicationId:void 0}catch{return}}function He(e){var t,r;const i=Ke();try{return null!=e&&e.url&&i.url&&new URL(e.url).host!==new URL(i.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${e.url} differs from the actual page url:${i.url}. This is probably unintended and can lead to issues.`),e.url=i.url),null!=(t=e?.icons)&&t.length&&e.icons.length>0&&(e.icons=e.icons.filter((e=>""!==e))),((e,t)=>xe(e,Re(t)))(je(je({},i),e),{url:e?.url||i.url,name:e?.name||i.name,description:e?.description||i.description,icons:null!=(r=e?.icons)&&r.length&&e.icons.length>0?e.icons:i.icons})}catch(t){return console.warn("Error populating app metadata",t),e||i}}function Ke(){return(0,c.D)()||{name:"",description:"",url:"",icons:[""]}}function Fe(e,t,i){const n=function(){if(ze()===ke&&typeof r.g<"u"&&typeof(null==r.g?void 0:r.g.Platform)<"u"){const{OS:e,Version:t}=r.g.Platform;return[e,t].join("-")}const e=(0,s.qY)();if(null===e)return"unknown";const t=e.os?e.os.replace(" ","").toLowerCase():"unknown";return"browser"===e.type?[t,e.name,e.version].join("-"):[t,e.version].join("-")}(),o=function(){var e;const t=ze();return t===De?[t,(null==(e=(0,a.getLocation)())?void 0:e.host)||"unknown"].join(":"):t}();return[[e,t].join("-"),[qe,i].join("-"),n,o].join("/")}function We({protocol:e,version:t,relayUrl:r,sdkVersion:i,auth:n,projectId:s,useOnCloseEvent:o,bundleId:a,packageName:c}){const h=r.split("?"),l={auth:n,ua:Fe(e,t,i),projectId:s,useOnCloseEvent:o||void 0,packageName:c||void 0,bundleId:a||void 0},u=function(e,t){const r=new URLSearchParams(e);for(const e of Object.keys(t).sort())if(t.hasOwnProperty(e)){const i=t[e];void 0!==i&&r.set(e,i)}return r.toString()}(h[1]||"",l);return h[0]+"?"+u}function Je(e,t){return e.filter((e=>t.includes(e))).length===e.length}function Ge(e){return Object.fromEntries(e.entries())}function Ye(e){return new Map(Object.entries(e))}function Ze(e=o.FIVE_MINUTES,t){const r=(0,o.toMiliseconds)(e||o.FIVE_MINUTES);let i,n,s,a;return{resolve:e=>
1{s&&i&&(clearTimeout(s),i(e),a=Promise.resolve(e))},reject:e=>{s&&n&&(clearTimeout(s),n(e))},done:()=>new Promise(((e,o)=>{if(a)return e(a);s=setTimeout((()=>{const e=new Error(t);a=Promise.reject(e),o(e)}),r),i=e,n=o}))}}function Qe(e,t,r){return new Promise((async(i,n)=>{const s=setTimeout((()=>n(new Error(r))),t);try{i(await e)}catch(e){n(e)}clearTimeout(s)}))}function Xe(e,t){if("string"==typeof t&&t.startsWith(`${e}:`))return t;if("topic"===e.toLowerCase()){if("string"!=typeof t)throw new Error('Value must be "string" for expirer target type: topic');return`topic:${t}`}if("id"===e.toLowerCase()){if("number"!=typeof t)throw new Error('Value must be "number" for expirer target type: id');return`id:${t}`}throw new Error(`Unknown expirer target type: ${e}`)}function et(e){const[t,r]=e.split(":"),i={id:void 0,topic:void 0};if("topic"===t&&"string"==typeof r)i.topic=r;else{if("id"!==t||!Number.isInteger(Number(r)))throw new Error(`Invalid target, expected id:number or topic:string, got ${t}:${r}`);i.id=Number(r)}return i}function tt(e,t){return(0,o.fromMiliseconds)((t||Date.now())+(0,o.toMiliseconds)(e))}function rt(e){return Date.now()>=(0,o.toMiliseconds)(e)}function it(e,t){return`${e}${t?`:${t}`:""}`}function nt(e=[],t=[]){return[...new Set([...e,...t])]}async function st({id:e,topic:t,wcDeepLink:i}){var n;try{if(!i)return;const s=("string"==typeof i?JSON.parse(i):i)?.href;if("string"!=typeof s)return;const o=function(e,t,r){const i=`requestId=${t}&sessionTopic=${r}`;e.endsWith("/")&&(e=e.slice(0,-1));let n=`${e}`;if(e.startsWith("https://t.me")){n=`${n}${e.includes("?")?"&startapp=":"?startapp="}${function(e,t=!1){const r=Ee.from(e).toString("base64");return t?r.replace(/[=]/g,""):r}(i,!0)}`}else n=`${n}/wc?${i}`;return n}(s,e,t),c=ze();if(c===De){if(null==(n=(0,a.getDocument)())||!n.hasFocus())return void console.warn("Document does not have focus, skipping deeplink.");!function(e){let t="_self";!function(){try{return window.self!==window.top}catch{return!1}}()?(typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)||e.startsWith("https://")||e.startsWith("http://"))&&(t="_blank"):t="_top",window.open(e,t,"noreferrer noopener")}(o)}else c===ke&&typeof(null==r.g?void 0:r.g.Linking)<"u"&&await r.g.Linking.openURL(o)}catch(e){console.error(e)}}function ot(e,t){if(!e.includes(t))return null;const r=e.split(/([&,?,=])/),i=r.indexOf(t);return r[i+2]}function at(){return typeof crypto<"u"&&null!=crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,(e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}function ct(){return typeof ve<"u"&&"true"==={NODE_ENV:"production",PUBLIC_PATH:"/"}.IS_VITEST}function ht(e){return Ee.from(e,"base64").toString("utf-8")}function lt(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function ut(e,...t){if(!function(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function dt(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");lt(e.outputLen),lt(e.blockLen)}function pt(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function ft(e,t){ut(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}const gt=BigInt(2**32-1),yt=BigInt(32);function mt(e,t=!1){return t?{h:Number(e>),l:Number(e>>yt>)}:{h:0|Number(e>>yt>),l:0|Number(e>)}}const wt="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;function bt(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function vt(e,t){return e<<32-t|e>>>t}const Et=68===new Uint8Array(new Uint32Array([287454020]).buffer)[0];function It(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function St(e){for(let t=0;t<e.length;t++)e[t]=It(e[t])}function Pt(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e)),ut(e),e}class Ot{clone(){return this._cloneInto()}}function _t(e){const t=t=>e().update(Pt(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function xt(e=32){if(wt&&"function"==typeof wt.getRandomValues)return wt.getRandomValues(new Uint8Array(e));if(wt&&"function"==typeof wt.randomBytes)return wt.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}const Rt=[],At=[],Ct=[],Nt=BigInt(0),Tt=BigInt(1),jt=BigInt(2),kt=BigInt(7),Ut=BigInt(256),Dt=BigInt(113);for(let e=0,t=Tt,r=1,i=0;e<24;e++){[r,i]=[i,(2*r+3*i)%5],Rt.push(2*(5*i+r)),At.push((e+1)*(e+2)/2%64);let n=Nt;for(let e=0;e<7;e++)t=(t<<Tt^(t>>kt)*Dt)%Ut,t&jt&&(n^=Tt<<(Tt<<BigInt(e))-Tt);Ct.push(n)}const[Lt,qt]=function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let n=0;n<e.length;n++){const{h:s,l:o}=mt(e[n],t);[r[n],i[n]]=[s,o]}return[r,i]}(Ct,!0),Bt=(e,t,r)=>r>32?((e,t,r)=>t<<r-32|e>>>64-r)(e,t,r):((e,t,r)=>e<<r|t>>>32-r)(e,t,r),Mt=(e,t,r)=>r>32?((e,t,r)=>e<<r-32|t>>>64-r)(e,t,r):((e,t,r)=>t<<r|e>>>32-r)(e,t,r);class $t extends Ot{constructor(e,t,r,i=!1,n=24){if(super(),this.blockLen=e,this.suffix=t,this.outputLen=r,this.enableXOF=i,this.rounds=n,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,lt(r),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");var s;this.state=new Uint8Array(200),this.state32=(s=this.state,new Uint32Array(s.buffer,s.byteOffset,Math.floor(s.byteLength/4)))}
1keccak(){Et||St(this.state32),function(e,t=24){const r=new Uint32Array(10);for(let i=24-t;i<24;i++){for(let t=0;t<10;t++)r[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){const i=(t+8)%10,n=(t+2)%10,s=r[n],o=r[n+1],a=Bt(s,o,1)^r[i],c=Mt(s,o,1)^r[i+1];for(let r=0;r<50;r+=10)e[t+r]^=a,e[t+r+1]^=c}let t=e[2],n=e[3];for(let r=0;r<24;r++){const i=At[r],s=Bt(t,n,i),o=Mt(t,n,i),a=Rt[r];t=e[a],n=e[a+1],e[a]=s,e[a+1]=o}for(let t=0;t<50;t+=10){for(let i=0;i<10;i++)r[i]=e[t+i];for(let i=0;i<10;i++)e[t+i]^=~r[(i+2)%10]&r[(i+4)%10]}e[0]^=Lt[i],e[1]^=qt[i]}r.fill(0)}(this.state32,this.rounds),Et||St(this.state32),this.posOut=0,this.pos=0}update(e){pt(this);const{blockLen:t,state:r}=this,i=(e=Pt(e)).length;for(let n=0;n<i;){const s=Math.min(t-this.pos,i-n);for(let t=0;t<s;t++)r[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:r,blockLen:i}=this;e[r]^=t,0!=(128&t)&&r===i-1&&this.keccak(),e[i-1]^=128,this.keccak()}writeInto(e){pt(this,!1),ut(e),this.finish();const t=this.state,{blockLen:r}=this;for(let i=0,n=e.length;i<n;){this.posOut>=r&&this.keccak();const s=Math.min(r-this.posOut,n-i);e.set(t.subarray(this.posOut,this.posOut+s),i),this.posOut+=s,i+=s}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return lt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ft(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:r,outputLen:i,rounds:n,enableXOF:s}=this;return e||(e=new $t(t,r,i,s,n)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=n,e.suffix=r,e.outputLen=i,e.enableXOF=s,e.destroyed=this.destroyed,e}}const zt=((e,t,r)=>_t((()=>new $t(t,e,r))))(1,136,32),Vt="https://rpc.walletconnect.org/v1";function Ht(e){const t=`�Ethereum Signed Message:\n${e.length}`,r=(new TextEncoder).encode(t+e);return"0x"+Ee.from(zt(r)).toString("hex")}async function Kt(e,t,r,i,n,s){switch(r.t){case"eip191":return await async function(e,t,r){return(await ge({hash:Ht(t),signature:r})).toLowerCase()===e.toLowerCase()}(e,t,r.s);case"eip1271":return await async function(e,t,r,i,n,s){const o=Se(i);if(!o.namespace||!o.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${i}`);try{const o="0x1626ba7e",a="0000000000000000000000000000000000000000000000000000000000000040",c="0000000000000000000000000000000000000000000000000000000000000041",h=r.substring(2),l=o+Ht(t).substring(2)+a+c+h,u=await fetch(`${s||Vt}/?chainId=${i}&projectId=${n}`,{method:"POST",body:JSON.stringify({id:Ft(),jsonrpc:"2.0",method:"eth_call",params:[{to:e,data:l},"latest"]})}),{result:d}=await u.json();return!!d&&d.slice(0,o.length).toLowerCase()===o.toLowerCase()}catch(e){return console.error("isValidEip1271Signature: ",e),!1}}(e,t,r.s,i,n,s);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${r.t}`)}}function Ft(){return Date.now()+Math.floor(1e3*Math.random())}var Wt=Object.defineProperty,Jt=Object.defineProperties,Gt=Object.getOwnPropertyDescriptors,Yt=Object.getOwnPropertySymbols,Zt=Object.prototype.hasOwnProperty,Qt=Object.prototype.propertyIsEnumerable,Xt=(e,t,r)=>t in e?Wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,er=(e,t)=>{for(var r in t||(t={}))Zt.call(t,r)&&Xt(e,r,t[r]);if(Yt)for(var r of Yt(t))Qt.call(t,r)&&Xt(e,r,t[r]);return e},tr=(e,t)=>Jt(e,Gt(t));const rr=e=>e?.split(":"),ir=e=>{const t=e&&rr(e);if(t)return t[2]+":"+t[3]},nr=e=>{const t=e&&rr(e);if(t)return t.pop()};async function sr(e){const{cacao:t,projectId:r}=e,{s:i,p:n}=t,s=or(n,n.iss),o=nr(n.iss);return await Kt(o,s,i,ir(n.iss),r)}const or=(e,t)=>{const r=`${e.domain} wants you to sign in with your Ethereum account:`,i=nr(t);if(!e.aud&&!e.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let n=e.statement||void 0;const s=`URI: ${e.aud||e.uri}
1`,o=`Version: ${e.version}`,a=`Chain ID: ${(e=>{const t=e&&rr(e);if(t)return e.includes("did:pkh:")?t[3]:t[1]})(t)}`,c=`Nonce: ${e.nonce}`,h=`Issued At: ${e.iat}`,l=e.exp?`Expiration Time: ${e.exp}`:void 0,u=e.nbf?`Not Before: ${e.nbf}`:void 0,d=e.requestId?`Request ID: ${e.requestId}`:void 0,p=e.resources?`Resources:${e.resources.map((e=>`\n- ${e}`)).join("")}`:void 0,f=mr(e.resources);if(f){n=fr(n,lr(f))}return[r,i,"",n,"",s,o,a,c,h,l,u,d,p].filter((e=>null!=e)).join("\n")};function ar(e){if(!e)throw new Error("No recap provided, value is undefined");if(!e.att)throw new Error("No `att` property found");const t=Object.keys(e.att);if(null==t||!t.length)throw new Error("No resources found in `att` property");t.forEach((t=>{const r=e.att[t];if(Array.isArray(r))throw new Error(`Resource must be an object: ${t}`);if("object"!=typeof r)throw new Error(`Resource must be an object: ${t}`);if(!Object.keys(r).length)throw new Error(`Resource object is empty: ${t}`);Object.keys(r).forEach((e=>{const t=r[e];if(!Array.isArray(t))throw new Error(`Ability limits ${e} must be an array of objects, found: ${t}`);if(!t.length)throw new Error(`Value of ${e} is empty array, must be an array with objects`);t.forEach((t=>{if("object"!=typeof t)throw new Error(`Ability limits (${e}) must be an array of objects, found: ${t}`)}))}))}))}function cr(e,t,r={}){t=t?.sort(((e,t)=>e.localeCompare(t)));const i=t.map((t=>({[`${e}/${t}`]:[r]})));return Object.assign({},...i)}function hr(e){return ar(e),`urn:recap:${function(e){return Ee.from(JSON.stringify(e)).toString("base64")}(e).replace(/=/g,"")}`}function lr(e){const t=function(e){return JSON.parse(Ee.from(e,"base64").toString("utf-8"))}(e.replace("urn:recap:",""));return ar(t),t}function ur(e,t,r){const i=function(e,t,r,i={}){return r?.sort(((e,t)=>e.localeCompare(t))),{att:{[e]:cr(t,r,i)}}}(e,t,r);return hr(i)}function dr(e){return e&&e.includes("urn:recap:")}function pr(e,t){const r=function(e,t){ar(e),ar(t);const r=Object.keys(e.att).concat(Object.keys(t.att)).sort(((e,t)=>e.localeCompare(t))),i={att:{}};return r.forEach((r=>{var n,s;Object.keys((null==(n=e.att)?void 0:n[r])||{}).concat(Object.keys((null==(s=t.att)?void 0:s[r])||{})).sort(((e,t)=>e.localeCompare(t))).forEach((n=>{var s,o;i.att[r]=tr(er({},i.att[r]),{[n]:(null==(s=e.att[r])?void 0:s[n])||(null==(o=t.att[r])?void 0:o[n])})}))})),i}(lr(e),lr(t));return hr(r)}function fr(e="",t){ar(t);const r="I further authorize the stated URI to perform the following actions on my behalf: ";if(e.includes(r))return e;const i=[];let n=0;Object.keys(t.att).forEach((e=>{const r=Object.keys(t.att[e]).map((e=>({ability:e.split("/")[0],action:e.split("/")[1]})));r.sort(((e,t)=>e.action.localeCompare(t.action)));const s={};r.forEach((e=>{s[e.ability]||(s[e.ability]=[]),s[e.ability].push(e.action)}));const o=Object.keys(s).map((t=>(n++,`(${n}) '${t}': '${s[t].join("', '")}' for '${e}'.`)));i.push(o.join(", ").replace(".,","."))}));return`${e?e+" ":""}${`${r}${i.join(" ")}`}`}function gr(e){var t;const r=lr(e);ar(r);const i=null==(t=r.att)?void 0:t.eip155;return i?Object.keys(i).map((e=>e.split("/")[1])):[]}function yr(e){const t=lr(e);ar(t);const r=[];return Object.values(t.att).forEach((e=>{Object.values(e).forEach((e=>{var t;null!=(t=e?.[0])&&t.chains&&r.push(e[0].chains)}))})),[...new Set(r.flat())]}function mr(e){if(!e)return;const t=e?.[e.length-1];return dr(t)?t:void 0}function wr(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function br(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function vr(e,...t){if(!br(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function Er(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function Ir(e){if("boolean"!=typeof e)throw new Error(`boolean expected, not ${e}`)}const Sr=e=>new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4));if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");function Pr(e){if("string"==typeof e)e=function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))}(e);else{if(!br(e))throw new Error("Uint8Array expected, got "+typeof e);e=xr(e)}return e}function Or(e,t,r=!0){if(void 0===t)return new Uint8Array(e);if(t.length!==e)throw new Error("invalid output length, expected "+e+", got: "+t.length);if(r&&!function(e){return e.byteOffset%4==0}(t))throw new Error("invalid output, must be aligned");return t}
1function _r(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(r>>n&s),a=Number(r&s),c=i?4:0,h=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+h,a,i)}function xr(e){return Uint8Array.from(e)}function Rr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}const Ar=e=>Uint8Array.from(e.split("").map((e=>e.charCodeAt(0)))),Cr=Ar("expand 16-byte k"),Nr=Ar("expand 32-byte k"),Tr=Sr(Cr),jr=Sr(Nr);function kr(e,t){return e<<t|e>>>32-t}function Ur(e){return e.byteOffset%4==0}const Dr=2**32-1,Lr=new Uint32Array;const qr=(e,t)=>255&e[t++]|(255&e[t++])<<8;class Br{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,vr(e=Pr(e),32);const t=qr(e,0),r=qr(e,2),i=qr(e,4),n=qr(e,6),s=qr(e,8),o=qr(e,10),a=qr(e,12),c=qr(e,14);this.r[0]=8191&t,this.r[1]=8191&(t>>>13|r<<3),this.r[2]=7939&(r>>>10|i<<6),this.r[3]=8191&(i>>>7|n<<9),this.r[4]=255&(n>>>4|s<<12),this.r[5]=s>>>1&8190,this.r[6]=8191&(s>>>14|o<<2),this.r[7]=8065&(o>>>11|a<<5),this.r[8]=8191&(a>>>8|c<<8),this.r[9]=c>>>5&127;for(let t=0;t<8;t++)this.pad[t]=qr(e,16+2*t)}process(e,t,r=!1){const i=r?0:2048,{h:n,r:s}=this,o=s[0],a=s[1],c=s[2],h=s[3],l=s[4],u=s[5],d=s[6],p=s[7],f=s[8],g=s[9],y=qr(e,t+0),m=qr(e,t+2),w=qr(e,t+4),b=qr(e,t+6),v=qr(e,t+8),E=qr(e,t+10),I=qr(e,t+12),S=qr(e,t+14);let P=n[0]+(8191&y),O=n[1]+(8191&(y>>>13|m<<3)),_=n[2]+(8191&(m>>>10|w<<6)),x=n[3]+(8191&(w>>>7|b<<9)),R=n[4]+(8191&(b>>>4|v<<12)),A=n[5]+(v>>>1&8191),C=n[6]+(8191&(v>>>14|E<<2)),N=n[7]+(8191&(E>>>11|I<<5)),T=n[8]+(8191&(I>>>8|S<<8)),j=n[9]+(S>>>5|i),k=0,U=k+P*o+O*(5*g)+_*(5*f)+x*(5*p)+R*(5*d);k=U>>>13,U&=8191,U+=A*(5*u)+C*(5*l)+N*(5*h)+T*(5*c)+j*(5*a),k+=U>>>13,U&=8191;let D=k+P*a+O*o+_*(5*g)+x*(5*f)+R*(5*p);k=D>>>13,D&=8191,D+=A*(5*d)+C*(5*u)+N*(5*l)+T*(5*h)+j*(5*c),k+=D>>>13,D&=8191;let L=k+P*c+O*a+_*o+x*(5*g)+R*(5*f);k=L>>>13,L&=8191,L+=A*(5*p)+C*(5*d)+N*(5*u)+T*(5*l)+j*(5*h),k+=L>>>13,L&=8191;let q=k+P*h+O*c+_*a+x*o+R*(5*g);k=q>>>13,q&=8191,q+=A*(5*f)+C*(5*p)+N*(5*d)+T*(5*u)+j*(5*l),k+=q>>>13,q&=8191;let B=k+P*l+O*h+_*c+x*a+R*o;k=B>>>13,B&=8191,B+=A*(5*g)+C*(5*f)+N*(5*p)+T*(5*d)+j*(5*u),k+=B>>>13,B&=8191;let M=k+P*u+O*l+_*h+x*c+R*a;k=M>>>13,M&=8191,M+=A*o+C*(5*g)+N*(5*f)+T*(5*p)+j*(5*d),k+=M>>>13,M&=8191;let $=k+P*d+O*u+_*l+x*h+R*c;k=$>>>13,$&=8191,$+=A*a+C*o+N*(5*g)+T*(5*f)+j*(5*p),k+=$>>>13,$&=8191;let z=k+P*p+O*d+_*u+x*l+R*h;k=z>>>13,z&=8191,z+=A*c+C*a+N*o+T*(5*g)+j*(5*f),k+=z>>>13,z&=8191;let V=k+P*f+O*p+_*d+x*u+R*l;k=V>>>13,V&=8191,V+=A*h+C*c+N*a+T*o+j*(5*g),k+=V>>>13,V&=8191;let H=k+P*g+O*f+_*p+x*d+R*u;k=H>>>13,H&=8191,H+=A*l+C*h+N*c+T*a+j*o,k+=H>>>13,H&=8191,k=(k<<2)+k|0,k=k+U|0,U=8191&k,k>>>=13,D+=k,n[0]=U,n[1]=D,n[2]=L,n[3]=q,n[4]=B,n[5]=M,n[6]=$,n[7]=z,n[8]=V,n[9]=H}finalize(){const{h:e,pad:t}=this,r=new Uint16Array(10);let i=e[1]>>>13;e[1]&=8191;for(let t=2;t<10;t++)e[t]+=i,i=e[t]>>>13,e[t]&=8191;e[0]+=5*i,i=e[0]>>>13,e[0]&=8191,e[1]+=i,i=e[1]>>>13,e[1]&=8191,e[2]+=i,r[0]=e[0]+5,i=r[0]>>>13,r[0]&=8191;for(let t=1;t<10;t++)r[t]=e[t]+i,i=r[t]>>>13,r[t]&=8191;r[9]-=8192;let n=(1^i)-1;for(let e=0;e<10;e++)r[e]&=n;n=~n;for(let t=0;t<10;t++)e[t]=e[t]&n|r[t];e[0]=65535&(e[0]|e[1]<<13),e[1]=65535&(e[1]>>>3|e[2]<<10),e[2]=65535&(e[2]>>>6|e[3]<<7),e[3]=65535&(e[3]>>>9|e[4]<<4),e[4]=65535&(e[4]>>>12|e[5]<<1|e[6]<<14),e[5]=65535&(e[6]>>>2|e[7]<<11),e[6]=65535&(e[7]>>>5|e[8]<<8),e[7]=65535&(e[8]>>>8|e[9]<<5);let s=e[0]+t[0];e[0]=65535&s;for(let r=1;r<8;r++)s=(e[r]+t[r]|0)+(s>>>16)|0,e[r]=65535&s;Rr(r)}update(e){Er(this);const{buffer:t,blockLen:r}=this,i=(e=Pr(e)).length;for(let n=0;n<i;){const s=Math.min(r-this.pos,i-n);if(s!==r)t.set(e.subarray(n,n+s),this.pos),this.pos+=s,n+=s,this.pos===r&&(this.process(t,0,!1),this.pos=0);else for(;r<=i-n;n+=r)this.process(e,n)}return this}destroy(){Rr(this.h,this.r,this.buffer,this.pad)}digestInto(e){Er(this),function(e,t){vr(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}(e,this),this.finished=!0;const{buffer:t,h:r}=this;let{pos:i}=this;if(i){for(t[i++]=1;i<16;i++)t[i]=0;this.process(t,0,!0)}this.finalize();let n=0;for(let t=0;t<8;t++)e[n++]=r[t]>>>0,e[n++]=r[t]>>>8;return e}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const r=e.slice(0,t);return this.destroy(),r}}const Mr=function(e){const t=(t,r)=>e(r).update(Pr(t)).digest(),r=e(new Uint8Array(32));return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=t=>e(t),t}((e=>
1new Br(e)));const $r=function(e,t){const{allowShortKeys:r,extendNonceFn:i,counterLength:n,counterRight:s,rounds:o}=function(e,t){if(null==t||"object"!=typeof t)throw new Error("options must be defined");return Object.assign(e,t)}({allowShortKeys:!1,counterLength:8,counterRight:!1,rounds:20},t);if("function"!=typeof e)throw new Error("core must be a function");return wr(n),wr(o),Ir(s),Ir(r),(t,a,c,h,l=0)=>{vr(t),vr(a),vr(c);const u=c.length;if(void 0===h&&(h=new Uint8Array(u)),vr(h),wr(l),l<0||l>=Dr)throw new Error("arx: counter overflow");if(h.length<u)throw new Error(`arx: output (${h.length}) is shorter than data (${u})`);const d=[];let p,f,g=t.length;if(32===g)d.push(p=xr(t)),f=jr;else{if(16!==g||!r)throw new Error(`arx: invalid 32-byte key, got length=${g}`);p=new Uint8Array(32),p.set(t),p.set(t,16),f=Tr,d.push(p)}Ur(a)||d.push(a=xr(a));const y=Sr(p);if(i){if(24!==a.length)throw new Error("arx: extended nonce must be 24 bytes");i(f,y,Sr(a.subarray(0,16)),y),a=a.subarray(16)}const m=16-n;if(m!==a.length)throw new Error(`arx: nonce must be ${m} or 16 bytes`);if(12!==m){const e=new Uint8Array(12);e.set(a,s?0:12-a.length),a=e,d.push(a)}const w=Sr(a);return function(e,t,r,i,n,s,o,a){const c=n.length,h=new Uint8Array(64),l=Sr(h),u=Ur(n)&&Ur(s),d=u?Sr(n):Lr,p=u?Sr(s):Lr;for(let f=0;f<c;o++){if(e(t,r,i,l,o,a),o>=Dr)throw new Error("arx: counter overflow");const g=Math.min(64,c-f);if(u&&64===g){const e=f/4;if(f%4!=0)throw new Error("arx: invalid block position");for(let t,r=0;r<16;r++)t=e+r,p[t]=d[t]^l[r];f+=64}else{for(let e,t=0;t<g;t++)e=f+t,s[e]=n[e]^h[t];f+=g}}}(e,f,y,w,c,h,l,o),Rr(...d),h}}((function(e,t,r,i,n,s=20){let o=e[0],a=e[1],c=e[2],h=e[3],l=t[0],u=t[1],d=t[2],p=t[3],f=t[4],g=t[5],y=t[6],m=t[7],w=n,b=r[0],v=r[1],E=r[2],I=o,S=a,P=c,O=h,_=l,x=u,R=d,A=p,C=f,N=g,T=y,j=m,k=w,U=b,D=v,L=E;for(let e=0;e<s;e+=2)I=I+_|0,k=kr(k^I,16),C=C+k|0,_=kr(_^C,12),I=I+_|0,k=kr(k^I,8),C=C+k|0,_=kr(_^C,7),S=S+x|0,U=kr(U^S,16),N=N+U|0,x=kr(x^N,12),S=S+x|0,U=kr(U^S,8),N=N+U|0,x=kr(x^N,7),P=P+R|0,D=kr(D^P,16),T=T+D|0,R=kr(R^T,12),P=P+R|0,D=kr(D^P,8),T=T+D|0,R=kr(R^T,7),O=O+A|0,L=kr(L^O,16),j=j+L|0,A=kr(A^j,12),O=O+A|0,L=kr(L^O,8),j=j+L|0,A=kr(A^j,7),I=I+x|0,L=kr(L^I,16),T=T+L|0,x=kr(x^T,12),I=I+x|0,L=kr(L^I,8),T=T+L|0,x=kr(x^T,7),S=S+R|0,k=kr(k^S,16),j=j+k|0,R=kr(R^j,12),S=S+R|0,k=kr(k^S,8),j=j+k|0,R=kr(R^j,7),P=P+A|0,U=kr(U^P,16),C=C+U|0,A=kr(A^C,12),P=P+A|0,U=kr(U^P,8),C=C+U|0,A=kr(A^C,7),O=O+_|0,D=kr(D^O,16),N=N+D|0,_=kr(_^N,12),O=O+_|0,D=kr(D^O,8),N=N+D|0,_=kr(_^N,7);let q=0;i[q++]=o+I|0,i[q++]=a+S|0,i[q++]=c+P|0,i[q++]=h+O|0,i[q++]=l+_|0,i[q++]=u+x|0,i[q++]=d+R|0,i[q++]=p+A|0,i[q++]=f+C|0,i[q++]=g+N|0,i[q++]=y+T|0,i[q++]=m+j|0,i[q++]=w+k|0,i[q++]=b+U|0,i[q++]=v+D|0,i[q++]=E+L|0}),{counterRight:!1,counterLength:4,allowShortKeys:!1}),zr=new Uint8Array(16),Vr=(e,t)=>{e.update(t);const r=t.length%16;r&&e.update(zr.subarray(r))},Hr=new Uint8Array(32);function Kr(e,t,r,i,n){const s=e(t,r,Hr),o=Mr.create(s);n&&Vr(o,n),Vr(o,i);const a=new Uint8Array(16),c=(e=>
1new DataView(e.buffer,e.byteOffset,e.byteLength))(a);_r(c,0,BigInt(n?n.length:0),!0),_r(c,8,BigInt(i.length),!0),o.update(a);const h=o.digest();return Rr(s,a),h}const Fr=((e,t)=>{function r(r,...i){if(vr(r),void 0!==e.nonceLength){const t=i[0];if(!t)throw new Error("nonce / iv required");e.varSizeNonce?vr(t):vr(t,e.nonceLength)}const n=e.tagLength;n&&void 0!==i[1]&&vr(i[1]);const s=t(r,...i),o=(e,t)=>{if(void 0!==t){if(2!==e)throw new Error("cipher output not supported");vr(t)}};let a=!1;return{encrypt(e,t){if(a)throw new Error("cannot encrypt() twice with same key + nonce");return a=!0,vr(e),o(s.encrypt.length,t),s.encrypt(e,t)},decrypt(e,t){if(vr(e),n&&e.length<n)throw new Error("invalid ciphertext length: smaller than tagLength="+n);return o(s.decrypt.length,t),s.decrypt(e,t)}}}return Object.assign(r,e),r})({blockSize:64,nonceLength:12,tagLength:16},(Wr=$r,(e,t,r)=>({encrypt(i,n){const s=i.length;(n=Or(s+16,n,!1)).set(i);const o=n.subarray(0,-16);Wr(e,t,o,o,1);const a=Kr(Wr,e,t,o,r);return n.set(a,s),Rr(a),n},decrypt(i,n){n=Or(i.length-16,n,!1);const s=i.subarray(0,-16),o=i.subarray(-16),a=Kr(Wr,e,t,s,r);if(!function(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return 0===r}(o,a))throw new Error("invalid tag");return n.set(i.subarray(0,-16)),Wr(e,t,n,n,1),Rr(a),n}})));var Wr;class Jr extends Ot{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,dt(e);const r=Pt(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,n=new Uint8Array(i);n.set(r.length>i?e.create().update(r).digest():r);for(let e=0;e<n.length;e++)n[e]^=54;this.iHash.update(n),this.oHash=e.create();for(let e=0;e<n.length;e++)n[e]^=106;this.oHash.update(n),n.fill(0)}update(e){return pt(this),this.iHash.update(e),this}digestInto(e){pt(this),ut(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:r,finished:i,destroyed:n,blockLen:s,outputLen:o}=this;return e.finished=i,e.destroyed=n,e.blockLen=s,e.outputLen=o,e.oHash=t._cloneInto(e.oHash),e.iHash=r._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Gr=(e,t,r)=>new Jr(e,t).update(r).digest();Gr.create=(e,t)=>new Jr(e,t);const Yr=new Uint8Array([0]),Zr=new Uint8Array;const Qr=(e,t,r,i,n)=>function(e,t,r,i=32){if(dt(e),lt(i),i>255*e.outputLen)throw new Error("Length should be <= 255*HashLen");const n=Math.ceil(i/e.outputLen);void 0===r&&(r=Zr);const s=new Uint8Array(n*e.outputLen),o=Gr.create(e,t),a=o._cloneInto(),c=new Uint8Array(o.outputLen);for(let t=0;t<n;t++)Yr[0]=t+1,a.update(0===t?Zr:c).update(r).update(Yr).digestInto(c),s.set(c,e.outputLen*t),o._cloneInto(a);return o.destroy(),a.destroy(),c.fill(0),Yr.fill(0),s.slice(0,i)}(e,function(e,t,r){return dt(e),void 0===r&&(r=new Uint8Array(e.outputLen)),Gr(e,Pt(r),Pt(t))}(e,t,r),i,n);function Xr(e,t,r){return e&t^~e&r}function ei(e,t,r){return e&t^e&r^t&r}
vendor: 4,522 bytes, line 1
1class ti extends Ot{constructor(e,t,r,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=bt(this.buffer)}update(e){pt(this);const{view:t,buffer:r,blockLen:i}=this,n=(e=Pt(e)).length;for(let s=0;s<n;){const o=Math.min(i-this.pos,n-s);if(o!==i)r.set(e.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===i&&(this.process(t,0),this.pos=0);else{const t=bt(e);for(;i<=n-s;s+=i)this.process(t,s)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){pt(this),ft(e,this),this.finished=!0;const{buffer:t,view:r,blockLen:i,isLE:n}=this;let{pos:s}=this;t[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(r,0),s=0);for(let e=s;e<i;e++)t[e]=0;(function(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(r>>n&s),a=Number(r&s),c=i?4:0,h=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+h,a,i)})(r,i-8,BigInt(8*this.length),n),this.process(r,0);const o=bt(e),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const c=a/4,h=this.get();if(c>h.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e<c;e++)o.setUint32(4*e,h[e],n)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:r,length:i,finished:n,destroyed:s,pos:o}=this;return e.length=i,e.pos=o,e.finished=n,e.destroyed=s,i%t&&e.buffer.set(r),e}}const ri=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]),ii=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ni=new Uint32Array(64);class si extends ti{constructor(){super(64,32,8,!1),this.A=0|ii[0],this.B=0|ii[1],this.C=0|ii[2],this.D=0|ii[3],this.E=0|ii[4],this.F=0|ii[5],this.G=0|ii[6],this.H=0|ii[7]}get(){const{A:e,B:t,C:r,D:i,E:n,F:s,G:o,H:a}=this;return[e,t,r,i,n,s,o,a]}set(e,t,r,i,n,s,o,a){this.A=0|e,this.B=0|t,this.C=0|r,this.D=0|i,this.E=0|n,this.F=0|s,this.G=0|o,this.H=0|a}process(e,t){for(let r=0;r<16;r++,t+=4)ni[r]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=ni[e-15],r=ni[e-2],i=vt(t,7)^vt(t,18)^t>>>3,n=vt(r,17)^vt(r,19)^r>>>10;ni[e]=n+ni[e-7]+i+ni[e-16]|0}let{A:r,B:i,C:n,D:s,E:o,F:a,G:c,H:h}=this;for(let e=0;e<64;e++){const t=h+(vt(o,6)^vt(o,11)^vt(o,25))+Xr(o,a,c)+ri[e]+ni[e]|0,l=(vt(r,2)^vt(r,13)^vt(r,22))+ei(r,i,n)|0;h=c,c=a,a=o,o=s+t|0,s=n,n=i,i=r,r=t+l|0}r=r+this.A|0,i=i+this.B|0,n=n+this.C|0,s=s+this.D|0,o=o+this.E|0,a=a+this.F|0,c=c+this.G|0,h=h+this.H|0,this.set(r,i,n,s,o,a,c,h)}roundClean(){ni.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}const oi=_t((()=>new si)),ai=BigInt(0),ci=BigInt(1),hi=BigInt(2);function li(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function ui(e){if(!li(e))throw new Error("Uint8Array expected")}function di(e,t){if("boolean"!=typeof t)throw new Error(e+" boolean expected, got "+t)}const pi=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function fi(e){ui(e);let t="";for(let r=0;r<e.length;r++)t+=pi[e[r]];return t}function gi(e){const t=e.toString(16);return 1&t.length?"0"+t:t}function yi(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?ai:BigInt("0x"+e)}const mi=48,wi=57,bi=65,vi=70,Ei=97,Ii=102;function Si(e){return e>=mi&&e<=wi?e-mi:e>=bi&&e<=vi?e-(bi-10):e>=Ei&&e<=Ii?e-(Ei-10):void 0}function Pi(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);const t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const i=new Uint8Array(r);for(let t=0,n=0;t<r;t++,n+=2){const r=Si(e.charCodeAt(n)),s=Si(e.charCodeAt(n+1));
vendor: 5,964 bytes, line 1
1if(void 0===r||void 0===s){const t=e[n]+e[n+1];throw new Error('hex string expected, got non-hex character "'+t+'" at index '+n)}i[t]=16*r+s}return i}function Oi(e){return yi(fi(e))}function _i(e){return ui(e),yi(fi(Uint8Array.from(e).reverse()))}function xi(e,t){return Pi(e.toString(16).padStart(2*t,"0"))}function Ri(e,t){return xi(e,t).reverse()}function Ai(e,t,r){let i;if("string"==typeof t)try{i=Pi(t)}catch(t){throw new Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!li(t))throw new Error(e+" must be hex string or Uint8Array");i=Uint8Array.from(t)}const n=i.length;if("number"==typeof r&&n!==r)throw new Error(e+" of length "+r+" expected, got "+n);return i}function Ci(...e){let t=0;for(let r=0;r<e.length;r++){const i=e[r];ui(i),t+=i.length}const r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){const n=e[t];r.set(n,i),i+=n.length}return r}const Ni=e=>"bigint"==typeof e&&ai<=e;function Ti(e,t,r){return Ni(e)&&Ni(t)&&Ni(r)&&t<=e&&e<r}function ji(e,t,r,i){if(!Ti(t,r,i))throw new Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}function ki(e){let t;for(t=0;e>ai;e>>=ci,t+=1);return t}const Ui=e=>(hi<<BigInt(e-1))-ci,Di=e=>new Uint8Array(e),Li=e=>Uint8Array.from(e);function qi(e,t,r){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof r)throw new Error("hmacFn must be a function");let i=Di(e),n=Di(e),s=0;const o=()=>{i.fill(1),n.fill(0),s=0},a=(...e)=>r(n,i,...e),c=(e=Di())=>{n=a(Li([0]),e),i=a(),0!==e.length&&(n=a(Li([1]),e),i=a())},h=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const r=[];for(;e<t;){i=a();const t=i.slice();r.push(t),e+=i.length}return Ci(...r)};return(e,t)=>{let r;for(o(),c(e);!(r=t(h()));)c();return o(),r}}const Bi={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||li(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function Mi(e,t,r={}){const i=(t,r,i)=>{const n=Bi[r];if("function"!=typeof n)throw new Error("invalid validator function");const s=e[t];if(!(i&&void 0===s||n(s,e)))throw new Error("param "+String(t)+" is invalid. Expected "+r+", got "+s)};for(const[e,r]of Object.entries(t))i(e,r,!1);for(const[e,t]of Object.entries(r))i(e,t,!0);return e}function $i(e){const t=new WeakMap;return(r,...i)=>{const n=t.get(r);if(void 0!==n)return n;const s=e(r,...i);return t.set(r,s),s}}var zi=Object.freeze({__proto__:null,isBytes:li,abytes:ui,abool:di,bytesToHex:fi,numberToHexUnpadded:gi,hexToNumber:yi,hexToBytes:Pi,bytesToNumberBE:Oi,bytesToNumberLE:_i,numberToBytesBE:xi,numberToBytesLE:Ri,numberToVarBytesBE:function(e){return Pi(gi(e))},ensureBytes:Ai,concatBytes:Ci,equalBytes:function(e,t){if(e.length!==t.length)return!1;let r=0;for(let i=0;i<e.length;i++)r|=e[i]^t[i];return 0===r},utf8ToBytes:function(e){if("string"!=typeof e)throw new Error("string expected");return new Uint8Array((new TextEncoder).encode(e))},inRange:Ti,aInRange:ji,bitLen:ki,bitGet:function(e,t){return e>>BigInt(t)&ci},bitSet:function(e,t,r){return e|(r?ci:ai)<<BigInt(t)},bitMask:Ui,createHmacDrbg:qi,validateObject:Mi,notImplemented:()=>{throw new Error("not implemented")},memoized:$i});const Vi=BigInt(0),Hi=BigInt(1),Ki=BigInt(2),Fi=BigInt(3),Wi=BigInt(4),Ji=BigInt(5),Gi=BigInt(8);function Yi(e,t){const r=e%t;return r>=Vi?r:t+r}function Zi(e,t,r){if(t<Vi)throw new Error("invalid exponent, negatives unsupported");if(r<=Vi)throw new Error("invalid modulus");if(r===Hi)return Vi;let i=Hi;for(;t>Vi;)t&Hi&&(i=i*e%r),e=e*e%r,t>>=Hi;return i}function Qi(e,t,r){let i=e;for(;t-- >Vi;)i*=i,i%=r;return i}function Xi(e,t){if(e===Vi)throw new Error("invert: expected non-zero number");if(t<=Vi)throw new Error("invert: expected positive modulus, got "+t);let r=Yi(e,t),i=t,n=Vi,s=Hi;for(;r!==Vi;){const e=i%r,t=n-s*(i/r);i=r,r=e,n=s,s=t}if(i!==Hi)throw new Error("invert: does not exist");return Yi(n,t)}function en(e){if(e%Wi===Fi){const t=(e+Hi)/Wi;return function(e,r){const i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw new Error("Cannot find square root");return i}}if(e%Gi===Ji){const t=(e-Ji)/Gi;return function(e,r){const i=e.mul(r,Ki),n=e.pow(i,t),s=e.mul(r,n),o=e.mul(e.mul(s,Ki),n),a=e.mul(s,e.sub(o,e.ONE));if(!e.eql(e.sqr(a),r))throw new Error("Cannot find square root");return a}}return function(e){const t=(e-Hi)/Ki;let r,i,n;for(r=e-Hi,i=0;r%Ki===Vi;r/=Ki,i++);for(n=Ki;n<e&&Zi(n,t,e)!==e-Hi;n++)if(n>1e3)throw new Error("Cannot find square root: likely non-prime P");if(1===i){const t=(e+Hi)/Wi;return function(e,r){const i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw new Error("Cannot find square root");return i}}const s=(r+Hi)/Ki;return function(e,o){if(e.pow(o,t)===e.neg(e.ONE))throw new Error("Cannot find square root");let a=i,c=e.pow(e.mul(e.ONE,n),r),h=e.pow(o,s),l=e.pow(o,r);for(;!e.eql(l,e.ONE);){if(e.eql(l,e.ZERO))return e.ZERO;let t=1;for(let r=e.sqr(l);t<a&&!e.eql(r,e.ONE);t++)r=e.sqr(r);const r=e.pow(c,Hi<<BigInt(a-t-1));c=e.sqr(r),h=e.mul(h,r),l=e.mul(l,c),a=t}return h}}(e)}const tn=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function rn(e,t){const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function nn(e,t,r=!1,i={}){if(e<=Vi)throw new Error("invalid field: expected ORDER > 0, got "+e);const{nBitLength:n,nByteLength:s}=rn(e,t);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:s,MASK:Ui(n),ZERO:Vi,ONE:Hi,create:t=>Yi(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return Vi<=t&&t<e},is0:e=>e===Vi,isOdd:e=>(e&Hi)===Hi,neg:t=>Yi(-t,e),eql:(e,t)=>
1e===t,sqr:t=>Yi(t*t,e),add:(t,r)=>Yi(t+r,e),sub:(t,r)=>Yi(t-r,e),mul:(t,r)=>Yi(t*r,e),pow:(e,t)=>function(e,t,r){if(r<Vi)throw new Error("invalid exponent, negatives unsupported");if(r===Vi)return e.ONE;if(r===Hi)return t;let i=e.ONE,n=t;for(;r>Vi;)r&Hi&&(i=e.mul(i,n)),n=e.sqr(n),r>>=Hi;return i}(a,e,t),div:(t,r)=>Yi(t*Xi(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>Xi(t,e),sqrt:i.sqrt||(t=>(o||(o=en(e)),o(a,t))),invertBatch:e=>function(e,t){const r=new Array(t.length),i=t.reduce(((t,i,n)=>e.is0(i)?t:(r[n]=t,e.mul(t,i))),e.ONE),n=e.inv(i);return t.reduceRight(((t,i,n)=>e.is0(i)?t:(r[n]=e.mul(t,r[n]),e.mul(t,i))),n),r}(a,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?Ri(e,s):xi(e,s),fromBytes:e=>{if(e.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+e.length);return r?_i(e):Oi(e)}});return Object.freeze(a)}function sn(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function on(e){const t=sn(e);return t+Math.ceil(t/2)}const an=BigInt(0),cn=BigInt(1);function hn(e,t){const r=t.negate();return e?r:t}function ln(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function un(e,t){ln(e,t);return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}const dn=new WeakMap,pn=new WeakMap;function fn(e){return pn.get(e)||1}function gn(e,t,r,i){if(function(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach(((e,r)=>{if(!(e instanceof t))throw new Error("invalid point at index "+r)}))}(r,e),function(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach(((e,r)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+r)}))}(i,t),r.length!==i.length)throw new Error("arrays of points and scalars must have equal length");const n=e.ZERO,s=ki(BigInt(r.length)),o=s>12?s-3:s>4?s-2:s?2:1,a=(1<<o)-1,c=new Array(a+1).fill(n);let h=n;for(let e=Math.floor((t.BITS-1)/o)*o;e>=0;e-=o){c.fill(n);for(let t=0;t<i.length;t++){const n=i[t],s=Number(n>>BigInt(e)&BigInt(a));c[s]=c[s].add(r[t])}let t=n;for(let e=c.length-1,r=n;e>0;e--)r=r.add(c[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e<o;e++)h=h.double()}return h}function yn(e){return function(e){Mi(e,tn.reduce(((e,t)=>(e[t]="function",e)),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"}))}(e.Fp),Mi(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...rn(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}BigInt(0),BigInt(1),BigInt(2),BigInt(8);const mn=BigInt(0),wn=BigInt(1);const bn=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949");BigInt(0);const vn=BigInt(1),En=BigInt(2),In=BigInt(3),Sn=BigInt(5);BigInt(8);const Pn=function(e){const t=function(e){return Mi(e,{a:"bigint"},{montgomeryBits:"isSafeInteger",nByteLength:"isSafeInteger",adjustScalarBytes:"function",domain:"function",powPminus2:"function",Gu:"bigint"}),Object.freeze({...e})}(e),{P:r}=t,i=e=>Yi(e,r),n=t.montgomeryBits,s=Math.ceil(n/8),o=t.nByteLength,a=t.adjustScalarBytes||(e=>e),c=t.powPminus2||(e=>Zi(e,r-BigInt(2),r));function h(e,t,r){const n=i(e*(t-r));return[t=i(t-n),r=i(r+n)]}const l=(t.a-BigInt(2))/BigInt(4);function u(e){return Ri(i(e),s)}function d(e,t){const d=function(e){const t=Ai("u coordinate",e,s);return 32===o&&(t[31]&=127),_i(t)}(t),p=function(e){const t=Ai("scalar",e),r=t.length;if(r!==s&&r!==o)throw new Error("invalid scalar, expected "+s+" or "+o+" bytes, got "+r);return _i(a(t))}(e),f=function(e,t){ji("u",e,mn,r),ji("scalar",t,mn,r);const s=t,o=e;let a,u=wn,d=mn,p=e,f=wn,g=mn;for(let e=BigInt(n-1);e>=mn;e--){const t=s>>e&wn;g^=t,a=h(g,u,p),u=a[0],p=a[1],a=h(g,d,f),d=a[0],f=a[1],g=t;const r=u+d,n=i(r*r),c=u-d,y=i(c*c),m=n-y,w=p+f,b=i((p-f)*r),v=i(w*c),E=b+v,I=b-v;p=i(E*E),f=i(o*i(I*I)),u=i(n*y),d=i(m*(n+i(l*m)))}a=h(g,u,p),u=a[0],p=a[1],a=h(g,d,f),d=a[0],f=a[1];const y=c(d);return i(u*y)}(d,p);if(f===mn)throw new Error("invalid private or public key received");return u(f)}const p=u(t.Gu);function f(e){return d(e,p)}return{scalarMult:d,scalarMultBase:f,getSharedSecret:(e,t)=>d(e,t),getPublicKey:e=>f(e),utils:{randomPrivateKey:()=>t.randomBytes(t.nByteLength)},GuBytes:p}}({P:bn,a:BigInt(486662),montgomeryBits:255,nByteLength:32,Gu:BigInt(9),powPminus2:e=>{const t=bn,{pow_p_5_8:r,b2:i}=function(e){const t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),s=bn,o=e*e%s*e%s,a=Qi(o,En,s)*o%s,c=Qi(a,vn,s)*e%s,h=Qi(c,Sn,s)*c%s,l=Qi(h,t,s)*h%s,u=Qi(l,r,s)*l%s,d=Qi(u,i,s)*u%s,p=Qi(d,n,s)*d%s,f=Qi(p,n,s)*d%s,g=Qi(f,t,s)*h%s;return{pow_p_5_8:Qi(g,En,s)*e%s,b2:o}}(e);return Yi(Qi(r,In,t)*i,t)}
vendor: 4,102 bytes, line 1
1,adjustScalarBytes:function(e){return e[0]&=248,e[31]&=127,e[31]|=64,e},randomBytes:xt});function On(e){void 0!==e.lowS&&di("lowS",e.lowS),void 0!==e.prehash&&di("prehash",e.prehash)}const{bytesToNumberBE:_n,hexToBytes:xn}=zi;class Rn extends Error{constructor(e=""){super(e)}}const An={Err:Rn,_tlv:{encode:(e,t)=>{const{Err:r}=An;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(1&t.length)throw new r("tlv.encode: unpadded data");const i=t.length/2,n=gi(i);if(n.length/2&128)throw new r("tlv.encode: long form length too big");const s=i>127?gi(n.length/2|128):"";return gi(e)+s+n+t},decode(e,t){const{Err:r}=An;let i=0;if(e<0||e>256)throw new r("tlv.encode: wrong tag");if(t.length<2||t[i++]!==e)throw new r("tlv.decode: wrong tlv");const n=t[i++];let s=0;if(!!(128&n)){const e=127&n;if(!e)throw new r("tlv.decode(long): indefinite length not supported");if(e>4)throw new r("tlv.decode(long): byte length is too big");const o=t.subarray(i,i+e);if(o.length!==e)throw new r("tlv.decode: length bytes not complete");if(0===o[0])throw new r("tlv.decode(long): zero leftmost byte");for(const e of o)s=s<<8|e;if(i+=e,s<128)throw new r("tlv.decode(long): not minimal encoding")}else s=n;const o=t.subarray(i,i+s);if(o.length!==s)throw new r("tlv.decode: wrong value length");return{v:o,l:t.subarray(i+s)}}},_int:{encode(e){const{Err:t}=An;if(e<Cn)throw new t("integer: negative integers are not allowed");let r=gi(e);if(8&Number.parseInt(r[0],16)&&(r="00"+r),1&r.length)throw new t("unexpected DER parsing assertion: unpadded hex");return r},decode(e){const{Err:t}=An;if(128&e[0])throw new t("invalid signature integer: negative");if(0===e[0]&&!(128&e[1]))throw new t("invalid signature integer: unnecessary leading zero");return _n(e)}},toSig(e){const{Err:t,_int:r,_tlv:i}=An,n="string"==typeof e?xn(e):e;ui(n);const{v:s,l:o}=i.decode(48,n);if(o.length)throw new t("invalid signature: left bytes after parsing");const{v:a,l:c}=i.decode(2,s),{v:h,l:l}=i.decode(2,c);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:r.decode(a),s:r.decode(h)}},hexFromSig(e){const{_tlv:t,_int:r}=An,i=t.encode(2,r.encode(e.r))+t.encode(2,r.encode(e.s));return t.encode(48,i)}},Cn=BigInt(0),Nn=BigInt(1);BigInt(2);const Tn=BigInt(3);function jn(e){const t=function(e){const t=yn(e);Mi(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:r,Fp:i,a:n}=t;if(r){if(!i.eql(n,i.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if("object"!=typeof r||"bigint"!=typeof r.beta||"function"!=typeof r.splitScalar)throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:r}=t,i=nn(t.n,t.nBitLength),n=t.toBytes||((e,t,i)=>{const n=t.toAffine();return Ci(Uint8Array.from([4]),r.toBytes(n.x),r.toBytes(n.y))}),s=t.fromBytes||(e=>{const t=e.subarray(1);return{x:r.fromBytes(t.subarray(0,r.BYTES)),y:r.fromBytes(t.subarray(r.BYTES,2*r.BYTES))}});function o(e){const{a:i,b:n}=t,s=r.sqr(e),o=r.mul(s,e);return r.add(r.add(o,r.mul(e,i)),n)}if(!r.eql(r.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function a(e){const{allowedPrivateKeyLengths:r,nByteLength:i,wrapPrivateKey:n,n:s}=t;if(r&&"bigint"!=typeof e){if(li(e)&&(e=fi(e)),"string"!=typeof e||!r.includes(e.length))throw new Error("invalid private key");e=e.padStart(2*i,"0")}let o;try{o="bigint"==typeof e?e:Oi(Ai("private key",e,i))}catch{throw new Error("invalid private key, expected hex or "+i+" bytes, got "+typeof e)}return n&&(o=Yi(o,s)),ji("private key",o,Nn,s),o}function c(e){if(!(e instanceof u))throw new Error("ProjectivePoint expected")}const h=$i(((e,t)=>{const{px:i,py:n,pz:s}=e;if(r.eql(s,r.ONE))return{x:i,y:n};const o=e.is0();null==t&&(t=o?r.ONE:r.inv(s));const a=r.mul(i,t),c=r.mul(n,t),h=r.mul(s,t);if(o)return{x:r.ZERO,y:r.ZERO};if(!r.eql(h,r.ONE))throw new Error("invZ was invalid");return{x:a,y:c}})),l=$i((e=>
vendor: 8,986 bytes, line 1
1{if(e.is0()){if(t.allowInfinityPoint&&!r.is0(e.py))return;throw new Error("bad point: ZERO")}const{x:i,y:n}=e.toAffine();if(!r.isValid(i)||!r.isValid(n))throw new Error("bad point: x or y not FE");const s=r.sqr(n),a=o(i);if(!r.eql(s,a))throw new Error("bad point: equation left != right");if(!e.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0}));class u{constructor(e,t,i){if(this.px=e,this.py=t,this.pz=i,null==e||!r.isValid(e))throw new Error("x required");if(null==t||!r.isValid(t))throw new Error("y required");if(null==i||!r.isValid(i))throw new Error("z required");Object.freeze(this)}static fromAffine(e){const{x:t,y:i}=e||{};if(!e||!r.isValid(t)||!r.isValid(i))throw new Error("invalid affine point");if(e instanceof u)throw new Error("projective point not allowed");const n=e=>r.eql(e,r.ZERO);return n(t)&&n(i)?u.ZERO:new u(t,i,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=r.invertBatch(e.map((e=>e.pz)));return e.map(((e,r)=>e.toAffine(t[r]))).map(u.fromAffine)}static fromHex(e){const t=u.fromAffine(s(Ai("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return u.BASE.multiply(a(e))}static msm(e,t){return gn(u,i,e,t)}_setWindowSize(e){p.setWindowSize(this,e)}assertValidity(){l(this)}hasEvenY(){const{y:e}=this.toAffine();if(r.isOdd)return!r.isOdd(e);throw new Error("Field doesn't support isOdd")}equals(e){c(e);const{px:t,py:i,pz:n}=this,{px:s,py:o,pz:a}=e,h=r.eql(r.mul(t,a),r.mul(s,n)),l=r.eql(r.mul(i,a),r.mul(o,n));return h&&l}negate(){return new u(this.px,r.neg(this.py),this.pz)}double(){const{a:e,b:i}=t,n=r.mul(i,Tn),{px:s,py:o,pz:a}=this;let c=r.ZERO,h=r.ZERO,l=r.ZERO,d=r.mul(s,s),p=r.mul(o,o),f=r.mul(a,a),g=r.mul(s,o);return g=r.add(g,g),l=r.mul(s,a),l=r.add(l,l),c=r.mul(e,l),h=r.mul(n,f),h=r.add(c,h),c=r.sub(p,h),h=r.add(p,h),h=r.mul(c,h),c=r.mul(g,c),l=r.mul(n,l),f=r.mul(e,f),g=r.sub(d,f),g=r.mul(e,g),g=r.add(g,l),l=r.add(d,d),d=r.add(l,d),d=r.add(d,f),d=r.mul(d,g),h=r.add(h,d),f=r.mul(o,a),f=r.add(f,f),d=r.mul(f,g),c=r.sub(c,d),l=r.mul(f,p),l=r.add(l,l),l=r.add(l,l),new u(c,h,l)}add(e){c(e);const{px:i,py:n,pz:s}=this,{px:o,py:a,pz:h}=e;let l=r.ZERO,d=r.ZERO,p=r.ZERO;const f=t.a,g=r.mul(t.b,Tn);let y=r.mul(i,o),m=r.mul(n,a),w=r.mul(s,h),b=r.add(i,n),v=r.add(o,a);b=r.mul(b,v),v=r.add(y,m),b=r.sub(b,v),v=r.add(i,s);let E=r.add(o,h);return v=r.mul(v,E),E=r.add(y,w),v=r.sub(v,E),E=r.add(n,s),l=r.add(a,h),E=r.mul(E,l),l=r.add(m,w),E=r.sub(E,l),p=r.mul(f,v),l=r.mul(g,w),p=r.add(l,p),l=r.sub(m,p),p=r.add(m,p),d=r.mul(l,p),m=r.add(y,y),m=r.add(m,y),w=r.mul(f,w),v=r.mul(g,v),m=r.add(m,w),w=r.sub(y,w),w=r.mul(f,w),v=r.add(v,w),y=r.mul(m,v),d=r.add(d,y),y=r.mul(E,v),l=r.mul(b,l),l=r.sub(l,y),y=r.mul(b,m),p=r.mul(E,p),p=r.add(p,y),new u(l,d,p)}subtract(e){return this.add(e.negate())}is0(){return this.equals(u.ZERO)}wNAF(e){return p.wNAFCached(this,e,u.normalizeZ)}multiplyUnsafe(e){const{endo:i,n:n}=t;ji("scalar",e,Cn,n);const s=u.ZERO;if(e===Cn)return s;if(this.is0()||e===Nn)return this;if(!i||p.hasPrecomputes(this))return p.wNAFCachedUnsafe(this,e,u.normalizeZ);let{k1neg:o,k1:a,k2neg:c,k2:h}=i.splitScalar(e),l=s,d=s,f=this;for(;a>Cn||h>Cn;)a&Nn&&(l=l.add(f)),h&Nn&&(d=d.add(f)),f=f.double(),a>>=Nn,h>>=Nn;return o&&(l=l.negate()),c&&(d=d.negate()),d=new u(r.mul(d.px,i.beta),d.py,d.pz),l.add(d)}multiply(e){const{endo:i,n:n}=t;let s,o;if(ji("scalar",e,Nn,n),i){const{k1neg:t,k1:n,k2neg:a,k2:c}=i.splitScalar(e);let{p:h,f:l}=this.wNAF(n),{p:d,f:f}=this.wNAF(c);h=p.constTimeNegate(t,h),d=p.constTimeNegate(a,d),d=new u(r.mul(d.px,i.beta),d.py,d.pz),s=h.add(d),o=l.add(f)}else{const{p:t,f:r}=this.wNAF(e);s=t,o=r}return u.normalizeZ([s,o])[0]}multiplyAndAddUnsafe(e,t,r){const i=u.BASE,n=(e,t)=>t!==Cn&&t!==Nn&&e.equals(i)?e.multiply(t):e.multiplyUnsafe(t),s=n(this,t).add(n(e,r));return s.is0()?void 0:s}toAffine(e){return h(this,e)}isTorsionFree(){const{h:e,isTorsionFree:r}=t;if(e===Nn)return!0;if(r)return r(u,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:r}=t;return e===Nn?this:r?r(u,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return di("isCompressed",e),this.assertValidity(),n(u,this,e)}toHex(e=!0){return di("isCompressed",e),fi(this.toRawBytes(e))}}u.BASE=new u(t.Gx,t.Gy,r.ONE),u.ZERO=new u(r.ZERO,r.ONE,r.ZERO);const d=t.nBitLength,p=function(e,t){return{constTimeNegate:hn,hasPrecomputes(e){return 1!==fn(e)},unsafeLadder(t,r,i=e.ZERO){let n=t;for(;r>an;)r&cn&&(i=i.add(n)),n=n.double(),r>>=cn;return i},precomputeWindow(e,r){const{windows:i,windowSize:n}=un(r,t),s=[];let o=e,a=o;for(let e=0;e<i;e++){a=o,s.push(a);for(let e=1;e<n;e++)a=a.add(o),s.push(a);o=a.double()}return s},wNAF(r,i,n){const{windows:s,windowSize:o}=un(r,t);let a=e.ZERO,c=e.BASE;const h=BigInt(2**r-1),l=2**r,u=BigInt(r);for(let e=0;e<s;e++){const t=e*o;let r=Number(n&h);n>>=u,r>o&&(r-=l,n+=cn);const s=t,d=t+Math.abs(r)-1,p=e%2!=0,f=r<0;0===r?c=c.add(hn(p,i[s])):a=a.add(hn(f,i[d]))}return{p:a,f:c}},wNAFUnsafe(r,i,n,s=e.ZERO){const{windows:o,windowSize:a}=un(r,t),c=BigInt(2**r-1),h=2**r,l=BigInt(r);for(let e=0;e<o;e++){const t=e*a;if(n===an)break;let r=Number(n&c);if(n>>=l,r>a&&(r-=h,n+=cn),0===r)continue;let o=i[t+Math.abs(r)-1];r<0&&(o=o.negate()),s=s.add(o)}return s},getPrecomputes(e,t,r){let i=dn.get(t);return i||(i=this.precomputeWindow(t,e),1!==e&&dn.set(t,r(i))),i},wNAFCached(e,t,r){const i=fn(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)},wNAFCachedUnsafe(e,t,r,i){const n=fn(e);return 1===n?this.unsafeLadder(e,t,i):this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,i)},setWindowSize(e,r){ln(r,t),pn.set(e,r),dn.delete(e)}}}(u,t.endo?Math.ceil(d/2):d);return{CURVE:t,ProjectivePoint:u,normPrivateKeyToScalar:a,weierstrassEquation:o,isWithinCurveOrder:function(e){return Ti(e,Nn,t.n)}}}function kn(e){const t=function(e){const t=yn(e);return Mi(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:r,n:i}=t,n=r.BYTES+1,s=2*r.BYTES+1;function o(e){return Yi(e,i)}function a(e){return Xi(e,i)}const{ProjectivePoint:c,normPrivateKeyToScalar:h,weierstrassEquation:l,isWithinCurveOrder:u}=jn({...t,toBytes(e,t,i){const n=t.toAffine(),s=r.toBytes(n.x),o=Ci;return di("isCompressed",i),i?o(Uint8Array.from([t.hasEvenY()?2:3]),s):o(Uint8Array.from([4]),s,r.toBytes(n.y))},fromBytes(e){const t=e.length,i=e[0],o=e.subarray(1);if(t!==n||2!==i&&3!==i){if(t===s&&4===i){return{x:r.fromBytes(o.subarray(0,r.BYTES)),y:r.fromBytes(o.subarray(r.BYTES,2*r.BYTES))}}throw new Error("invalid Point, expected length of "+n+", or uncompressed "+s+", got "+t)}{const e=Oi(o);if(!Ti(e,Nn,r.ORDER))throw new Error("Point is not on curve");const t=l(e);let n;try{n=r.sqrt(t)}catch(e){const t=e instanceof Error?": "+e.message:"";throw new Error("Point is not on curve"+t)}return 1==(1&i)!==((n&Nn)===Nn)&&(n=r.neg(n)),{x:e,y:n}}}}),d=e=>fi(xi(e,t.nByteLength));function p(e){return e>i>>Nn}const f=(e,t,r)=>Oi(e.slice(t,r));class g{constructor(e,t,r){this.r=e,this.s=t,this.recovery=r,this.assertValidity()}static fromCompact(e){const r=t.nByteLength;return e=Ai("compactSignature",e,2*r),new g(f(e,0,r),f(e,r,2*r))}static fromDER(e){const{r:t,s:r}=An.toSig(Ai("DER",e));return new g(t,r)}assertValidity(){ji("r",this.r,Nn,i),ji("s",this.s,Nn,i)}addRecoveryBit(e){return new g(this.r,this.s,e)}recoverPublicKey(e){const{r:i,s:n,recovery:s}=this,h=b(Ai("msgHash",e));if(null==s||![0,1,2,3].includes(s))throw new Error("recovery id invalid");const l=2===s||3===s?i+t.n:i;if(l>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");const u=0==(1&s)?"02":"03",p=c.fromHex(u+d(l)),f=a(l),g=o(-h*f),y=o(n*f),m=c.BASE.multiplyAndAddUnsafe(p,g,y);if(!m)throw new Error("point at infinify");return m.assertValidity(),m}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,o(-this.s),this.recovery):this}toDERRawBytes(){return Pi(this.toDERHex())}toDERHex(){return An.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Pi(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}const y={isValidPrivateKey(e){try{return h(e),!0}catch{return!1}},normPrivateKeyToScalar:h,randomPrivateKey:()=>{const e=on(t.n);return function(e,t,r=!1){const i=e.length,n=sn(t),s=on(t);if(i<16||i<s||i>1024)throw new Error("expected "+s+"-1024 bytes of input, got "+i);const o=Yi(r?_i(e):Oi(e),t-Hi)+Hi;return r?Ri(o,n):xi(o,n)}(t.randomBytes(e),t.n)},precompute(e=8,t=c.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}};function m(e){const t=li(e),r="string"==typeof e,i=(t||r)&&e.length;return t?i===n||i===s:r?i===2*n||i===2*s:e instanceof c}const w=t.bits2int||function(e){if(e.length>8192)throw new Error("input is too large");const r=Oi(e),i=8*e.length-t.nBitLength;return i>0?r>>BigInt(i):r},b=t.bits2int_modN||function(e){return o(w(e))},v=Ui(t.nBitLength);function E(e){return ji("num < 2^"+t.nBitLength,e,Cn,v),xi(e,t.nByteLength)}
1function I(e,i,n=S){if(["recovered","canonical"].some((e=>e in n)))throw new Error("sign() legacy options not supported");const{hash:s,randomBytes:l}=t;let{lowS:d,prehash:f,extraEntropy:y}=n;null==d&&(d=!0),e=Ai("msgHash",e),On(n),f&&(e=Ai("prehashed msgHash",s(e)));const m=b(e),v=h(i),I=[E(v),E(m)];if(null!=y&&!1!==y){const e=!0===y?l(r.BYTES):y;I.push(Ai("extraEntropy",e))}const P=Ci(...I),O=m;return{seed:P,k2sig:function(e){const t=w(e);if(!u(t))return;const r=a(t),i=c.BASE.multiply(t).toAffine(),n=o(i.x);if(n===Cn)return;const s=o(r*o(O+n*v));if(s===Cn)return;let h=(i.x===n?0:2)|Number(i.y&Nn),l=s;return d&&p(s)&&(l=function(e){return p(e)?o(-e):e}(s),h^=1),new g(n,l,h)}}}const S={lowS:t.lowS,prehash:!1},P={lowS:t.lowS,prehash:!1};return c.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return c.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,r=!0){if(m(e))throw new Error("first arg must be private key");if(!m(t))throw new Error("second arg must be public key");return c.fromHex(t).multiply(h(e)).toRawBytes(r)},sign:function(e,r,i=S){const{seed:n,k2sig:s}=I(e,r,i),o=t;return qi(o.hash.outputLen,o.nByteLength,o.hmac)(n,s)},verify:function(e,r,i,n=P){const s=e;r=Ai("msgHash",r),i=Ai("publicKey",i);const{lowS:h,prehash:l,format:u}=n;if(On(n),"strict"in n)throw new Error("options.strict was renamed to lowS");if(void 0!==u&&"compact"!==u&&"der"!==u)throw new Error("format must be compact or der");const d="string"==typeof s||li(s),p=!d&&!u&&"object"==typeof s&&null!==s&&"bigint"==typeof s.r&&"bigint"==typeof s.s;if(!d&&!p)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let f,y;try{if(p&&(f=new g(s.r,s.s)),d){try{"compact"!==u&&(f=g.fromDER(s))}catch(e){if(!(e instanceof An.Err))throw e}!f&&"der"!==u&&(f=g.fromCompact(s))}y=c.fromHex(i)}catch{return!1}if(!f||h&&f.hasHighS())return!1;l&&(r=t.hash(r));const{r:m,s:w}=f,v=b(r),E=a(w),I=o(v*E),S=o(m*E),O=c.BASE.multiplyAndAddUnsafe(y,I,S)?.toAffine();return!!O&&o(O.x)===m},ProjectivePoint:c,Signature:g,utils:y}}function Un(e){return{hash:e,hmac:(t,...r)=>Gr(e,t,function(...e){let t=0;for(let r=0;r<e.length;r++){const i=e[r];ut(i),t+=i.length}const r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){const n=e[t];r.set(n,i),i+=n.length}return r}(...r)),randomBytes:xt}}BigInt(4);const Dn=nn(BigInt("0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff")),Ln=function(e,t){const r=t=>kn({...e,...Un(t)});return{...r(t),create:r}}({a:Dn.create(BigInt("-3")),b:BigInt("0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b"),Fp:Dn,n:BigInt("0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551"),Gx:BigInt("0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"),Gy:BigInt("0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),h:BigInt(1),lowS:!1},oi),qn="base10",Bn="base16",Mn="base64pad",$n="base64url",zn="utf8";function Vn(){const e=xt(32);return(0,we.BB)(e,Bn)}function Hn(e){const t=oi((0,we.mL)(e,Bn));return(0,we.BB)(t,Bn)}function Kn(e){const t=oi((0,we.mL)(e,zn));return(0,we.BB)(t,Bn)}function Fn(e){return(0,we.mL)(`${e}`,qn)}function Wn(e){return Number((0,we.BB)(e,qn))}function Jn(e){return e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Gn(e){const t=e.replace(/-/g,"+").replace(/_/g,"/"),r=(4-t.length%4)%4;return t+"=".repeat(r)}function Yn(e){if(2===Wn(e.type))return(0,we.BB)((0,we.zo)([e.type,e.sealed]),Mn);if(1===Wn(e.type)){if(typeof e.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");return(0,we.BB)((0,we.zo)([e.type,e.senderPublicKey,e.iv,e.sealed]),Mn)}return(0,we.BB)((0,we.zo)([e.type,e.iv,e.sealed]),Mn)}function Zn(e){const t=(e.encoding||Mn)===$n?Gn(e.encoded):e.encoded,r=(0,we.mL)(t,Mn),i=r.slice(0,1);if(1===Wn(i)){const e=33,t=e+12,n=r.slice(1,e),s=r.slice(e,t);return{type:i,sealed:r.slice(t),iv:s,senderPublicKey:n}}if(2===Wn(i)){return{type:i,sealed:r.slice(1),iv:xt(12)}}const n=r.slice(1,13);return{type:i,sealed:r.slice(13),iv:n}}function Qn(e){const t=e?.type||0;if(1===t){if(typeof e?.senderPublicKey>"u")throw new Error("missing sender public key");if(typeof e?.receiverPublicKey>"u")throw new Error("missing receiver public key")}return{type:t,senderPublicKey:e?.senderPublicKey,receiverPublicKey:e?.receiverPublicKey}}function Xn(e){return 1===e.type&&"string"==typeof e.senderPublicKey&&"string"==typeof e.receiverPublicKey}function es(e){return 2===e.type}function ts(e,t){const[r,i,n]=e.split("."),s=Ee.from(Gn(n),"base64");if(64!==s.length)throw new Error("Invalid signature length");
1const o=s.slice(0,32),a=s.slice(32,64),c=oi(`${r}.${i}`),h=function(e){const t=Ee.from(e.x,"base64"),r=Ee.from(e.y,"base64");return(0,we.zo)([new Uint8Array([4]),t,r])}(t);if(!Ln.verify((0,we.zo)([o,a]),c,h))throw new Error("Invalid signature");return(0,me.xp)(e).payload}function rs(e){return e?.relay||{protocol:"irn"}}function is(e){const t=be.iO[e];if(typeof t>"u")throw new Error(`Relay Protocol not supported: ${e}`);return t}function ns(e,t="-"){const r={},i="relay"+t;return Object.keys(e).forEach((t=>{if(t.startsWith(i)){const n=t.replace(i,""),s=e[t];r[n]=s}})),r}function ss(e){if(!e.includes("wc:")){const t=ht(e);null!=t&&t.includes("wc:")&&(e=t)}const t=(e=(e=e.includes("wc://")?e.replace("wc://",""):e).includes("wc:")?e.replace("wc:",""):e).indexOf(":"),r=-1!==e.indexOf("?")?e.indexOf("?"):void 0,i=e.substring(0,t),n=e.substring(t+1,r).split("@"),s=typeof r<"u"?e.substring(r):"",o=new URLSearchParams(s),a={};o.forEach(((e,t)=>{a[t]=e}));const c="string"==typeof a.methods?a.methods.split(","):void 0;return{protocol:i,topic:os(n[0]),version:parseInt(n[1],10),symKey:a.symKey,relay:ns(a),methods:c,expiryTimestamp:a.expiryTimestamp?parseInt(a.expiryTimestamp,10):void 0}}function os(e){return e.startsWith("//")?e.substring(2):e}function as(e){const t=new URLSearchParams,r=function(e,t="-"){const r={};return Object.keys(e).forEach((i=>{const n=i,s="relay"+t+n;e[n]&&(r[s]=e[n])})),r}(e.relay);Object.keys(r).sort().forEach((e=>{t.set(e,r[e])})),t.set("symKey",e.symKey),e.expiryTimestamp&&t.set("expiryTimestamp",e.expiryTimestamp.toString()),e.methods&&t.set("methods",e.methods.join(","));const i=t.toString();return`${e.protocol}:${e.topic}@${e.version}?${i}`}function cs(e,t,r){return`${e}?wc_ev=${r}&topic=${t}`}var hs=Object.defineProperty,ls=Object.defineProperties,us=Object.getOwnPropertyDescriptors,ds=Object.getOwnPropertySymbols,ps=Object.prototype.hasOwnProperty,fs=Object.prototype.propertyIsEnumerable,gs=(e,t,r)=>t in e?hs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ys=(e,t)=>{for(var r in t||(t={}))ps.call(t,r)&&gs(e,r,t[r]);if(ds)for(var r of ds(t))fs.call(t,r)&&gs(e,r,t[r]);return e},ms=(e,t)=>ls(e,us(t));function ws(e){const t=[];return e.forEach((e=>{const[r,i]=e.split(":");t.push(`${r}:${i}`)})),t}function bs(e){return e.includes(":")}function vs(e){return bs(e)?e.split(":")[0]:e}function Es(e){var t,r,i;const n={};if(!Rs(e))return n;for(const[s,o]of Object.entries(e)){const e=bs(s)?[s]:o.chains,a=o.methods||[],c=o.events||[],h=vs(s);n[h]=ms(ys({},n[h]),{chains:nt(e,null==(t=n[h])?void 0:t.chains),methods:nt(a,null==(r=n[h])?void 0:r.methods),events:nt(c,null==(i=n[h])?void 0:i.events)})}return n}function Is(e,t){const r=function(e){const t={};return e?.forEach((e=>{var r;const[i,n]=e.split(":");t[i]||(t[i]={accounts:[],chains:[],events:[],methods:[]}),t[i].accounts.push(e),null==(r=t[i].chains)||r.push(`${i}:${n}`)})),t}(t=t.map((e=>e.replace("did:pkh:",""))));for(const[t,i]of Object.entries(r))i.methods?i.methods=nt(i.methods,e):i.methods=e,i.events=["chainChanged","accountsChanged"];return r}const Ss={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}},Ps={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 Os(e,t){const{message:r,code:i}=Ps[e];return{message:t?`${r} ${t}`:r,code:i}}function _s(e,t){const{message:r,code:i}=Ss[e];return{message:t?`${r} ${t}`:r,code:i}}function xs(e,t){return!!Array.isArray(e)&&(!(typeof t<"u"&&e.length)||e.every(t))}function Rs(e){return Object.getPrototypeOf(e)===Object.prototype&&Object.keys(e).length}function As(e){return typeof e>"u"}function Cs(e,t){return!(!t||!As(e))||"string"==typeof e&&!!e.trim().length}function Ns(e,t){return!(!t||!As(e))||"number"==typeof e&&!isNaN(e)}function Ts(e){return!(!Cs(e,!1)||!e.includes(":"))&&2===e.split(":").length}function js(e){let t=!0;return xs(e)?e.length&&(t=e.every((e=>Cs(e,!1)))):t=!1,t}function ks(e,t,r){let i=null;return Object.entries(e).forEach((([e,n])=>{if(i)return;const s=function(e,t,r){let i=null;return xs(t)&&t.length?t.forEach((e=>{i||Ts(e)||(i=_s("UNSUPPORTED_CHAINS",`${r}, chain ${e} should be a string and conform to "namespace:chainId" format`))})):Ts(e)||(i=_s("UNSUPPORTED_CHAINS",`${r}, 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:
15"] }`)),i}(e,Oe(e,n),`${t} ${r}`);s&&(i=s)})),i}function Us(e,t){let r=null;return xs(e)?e.forEach((e=>{r||function(e){if(Cs(e,!1)&&e.includes(":")){const t=e.split(":");if(3===t.length){const e=t[0]+":"+t[1];return!!t[2]&&Ts(e)}}return!1}(e)||(r=_s("UNSUPPORTED_ACCOUNTS",`${t}, account ${e} should be a string and conform to "namespace:chainId:address" format`))})):r=_s("UNSUPPORTED_ACCOUNTS",`${t}, accounts should be an array of strings conforming to "namespace:chainId:address" format`),r}function Ds(e,t){let r=null;return Object.values(e).forEach((e=>{if(r)return;const i=function(e,t){let r=null;return js(e?.methods)?js(e?.events)||(r=_s("UNSUPPORTED_EVENTS",`${t}, events should be an array of strings or empty array for no events`)):r=_s("UNSUPPORTED_METHODS",`${t}, methods should be an array of strings or empty array for no methods`),r}(e,`${t}, namespace`);i&&(r=i)})),r}function Ls(e,t){let r=null;if(e&&Rs(e)){const i=Ds(e,t);i&&(r=i);const n=function(e,t){let r=null;return Object.values(e).forEach((e=>{if(r)return;const i=Us(e?.accounts,`${t} namespace`);i&&(r=i)})),r}(e,t);n&&(r=n)}else r=Os("MISSING_OR_INVALID",`${t}, namespaces should be an object with data`);return r}function qs(e){return Cs(e.protocol,!0)}function Bs(e){return typeof e<"u"&&null!==typeof e}function Ms(e,t){return!(!Ts(t)||!function(e){const t=[];return Object.values(e).forEach((e=>{t.push(...ws(e.accounts))})),t}(e).includes(t))}function $s(e,t,r){return!!Cs(r,!1)&&function(e,t){const r=[];return Object.values(e).forEach((e=>{ws(e.accounts).includes(t)&&r.push(...e.methods)})),r}(e,t).includes(r)}function zs(e,t,r){return!!Cs(r,!1)&&function(e,t){const r=[];return Object.values(e).forEach((e=>{ws(e.accounts).includes(t)&&r.push(...e.events)})),r}(e,t).includes(r)}function Vs(e,t,r){let i=null;const n=function(e){const t={};return Object.keys(e).forEach((r=>{var i;r.includes(":")?t[r]=e[r]:null==(i=e[r].chains)||i.forEach((i=>{t[i]={methods:e[r].methods,events:e[r].events}}))})),t}(e),s=function(e){const t={};return Object.keys(e).forEach((r=>{if(r.includes(":"))t[r]=e[r];else{ws(e[r].accounts)?.forEach((i=>{t[i]={accounts:e[r].accounts.filter((e=>e.includes(`${i}:`))),methods:e[r].methods,events:e[r].events}}))}})),t}(t),o=Object.keys(n),a=Object.keys(s),c=Hs(Object.keys(e)),h=Hs(Object.keys(t)),l=c.filter((e=>!h.includes(e)));return l.length&&(i=Os("NON_CONFORMING_NAMESPACES",`${r} namespaces keys don't satisfy requiredNamespaces.\n Required: ${l.toString()}\n Received: ${Object.keys(t).toString()}`)),Je(o,a)||(i=Os("NON_CONFORMING_NAMESPACES",`${r} namespaces chains don't satisfy required namespaces.\n Required: ${o.toString()}\n Approved: ${a.toString()}`)),Object.keys(t).forEach((e=>{if(!e.includes(":")||i)return;const n=ws(t[e].accounts);n.includes(e)||(i=Os("NON_CONFORMING_NAMESPACES",`${r} namespaces accounts don't satisfy namespace accounts for ${e}\n Required: ${e}\n Approved: ${n.toString()}`))})),o.forEach((e=>{i||(Je(n[e].methods,s[e].methods)?Je(n[e].events,s[e].events)||(i=Os("NON_CONFORMING_NAMESPACES",`${r} namespaces events don't satisfy namespace events for ${e}`)):i=Os("NON_CONFORMING_NAMESPACES",`${r} namespaces methods don't satisfy namespace methods for ${e}`))})),i}function Hs(e){return[...new Set(e.map((e=>e.includes(":")?e.split(":")[0]:e)))]}function Ks(){const e=ze();return new Promise((t=>{switch(e){case De:t($e()&&navigator?.onLine);break;case ke:t(async function(){if(Me()&&typeof r.g<"u"&&null!=r.g&&r.g.NetInfo){return(await(null==r.g?void 0:r.g.NetInfo.fetch()))?.isConnected}return!0}());break;default:t(!0)}}))}function Fs(e){switch(ze()){case De:!function(e){!Me()&&$e()&&(window.addEventListener("online",(()=>e(!0))),window.addEventListener("offline",(()=>e(!1))))}(e);break;case ke:!function(e){Me()&&typeof r.g<"u"&&null!=r.g&&r.g.NetInfo&&r.g?.NetInfo.addEventListener((t=>e(t?.isConnected)))}(e)}}const Ws={};class Js{static get(e){return Ws[e]}static set(e,t){Ws[e]=t}static delete(e){delete Ws[e]}}var Gs=r(16411),Ys=r(22229),Zs=r(91011),Qs=r(38200),Xs=Object.defineProperty,eo=(e,t,r)=>((e,t,r)=>t in e?Xs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class to extends Qs.q{constructor(e){super(),this.opts=e,eo(this,"protocol","wc"),eo(this,"version",2)}}var ro=Object.defineProperty,io=(e,t,r)=>((e,t,r)=>t in e?ro(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class no extends Qs.q{constructor(e,t){super(),this.core=e,this.logger=t,io(this,"records",new Map)}}class so{constructor(e,t){this.logger=e,this.core=t}}class oo extends Qs.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class ao extends Qs.q{constructor(e){super()}}
1class co{constructor(e,t,r,i){this.core=e,this.logger=t,this.name=r}}Object.defineProperty;class ho extends Qs.q{constructor(e,t){super(),this.relayer=e,this.logger=t}}class lo extends Qs.q{constructor(e,t){super(),this.core=e,this.logger=t}}class uo{constructor(e,t,r){this.core=e,this.logger=t,this.store=r}}class po{constructor(e,t){this.projectId=e,this.logger=t}}class fo{constructor(e,t,r){this.core=e,this.logger=t,this.telemetryEnabled=r}}Object.defineProperty;var go=r(85094),yo=r(64534),mo=r(56186),wo=r(28939),bo=r(48764).Buffer,vo=r(34155);const Eo="core",Io=`wc@2:${Eo}:`,So="error",Po={database:":memory:"},Oo="client_ed25519_seed",_o=o.ONE_DAY,xo=o.SIX_HOURS,Ro="wss://relay.walletconnect.org",Ao="relayer_message",Co="relayer_message_ack",No="relayer_connect",To="relayer_disconnect",jo="relayer_error",ko="relayer_connection_stalled",Uo="relayer_publish",Do="payload",Lo="connect",qo="disconnect",Bo="error",Mo="2.21.1",$o={link_mode:"link_mode",relay:"relay"},zo="inbound",Vo="outbound",Ho="WALLETCONNECT_LINK_MODE_APPS",Ko="subscription_created",Fo="subscription_deleted",Wo="subscription_sync",Jo="subscription_resubscribed",Go=(o.FIVE_SECONDS,{wc_pairingDelete:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:o.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:o.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:o.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:o.ONE_DAY,prompt:!1,tag:0},res:{ttl:o.ONE_DAY,prompt:!1,tag:0}}}),Yo="pairing_create",Zo="pairing_expire",Qo="pairing_delete",Xo="pairing_ping",ea="history_created",ta="history_updated",ra="history_deleted",ia="history_sync",na="expirer_created",sa="expirer_deleted",oa="expirer_expired",aa="expirer_sync",ca="https://verify.walletconnect.org",ha=ca,la=`${ha}/v3`,ua=["https://verify.walletconnect.com",ca],da="pairing_started",pa="pairing_uri_validation_success",fa="pairing_uri_not_expired",ga="store_new_pairing",ya="subscribing_pairing_topic",ma="subscribe_pairing_topic_success",wa="existing_pairing",ba="pairing_not_expired",va="emit_inactive_pairing",Ea="emit_session_proposal",Ia="no_internet_connection",Sa="malformed_pairing_uri",Pa="active_pairing_already_exists",Oa="subscribe_pairing_topic_failure",_a="pairing_expired",xa="proposal_listener_not_found",Ra="session_approve_started",Aa="session_namespaces_validation_success",Ca="subscribing_session_topic",Na="subscribe_session_topic_success",Ta="publishing_session_approve",ja="session_approve_publish_success",ka="store_session",Ua="publishing_session_settle",Da="session_settle_publish_success",La="no_internet_connection",qa="proposal_expired",Ba="subscribe_session_topic_failure",Ma="session_approve_publish_failure",$a="session_settle_publish_failure",za="session_approve_namespace_validation_failure",Va="proposal_not_found",Ha="authenticated_session_approve_started",Ka="create_authenticated_session_topic",Fa="cacaos_verified",Wa="store_authenticated_session",Ja="subscribing_authenticated_session_topic",Ga="subscribe_authenticated_session_topic_success",Ya="publishing_authenticated_session_approve",Za="no_internet_connection",Qa="invalid_cacao",Xa="subscribe_authenticated_session_topic_failure",ec="authenticated_session_approve_publish_failure",tc="authenticated_session_pending_request_not_found";var rc=function(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var n=0;n<e.length;n++){var s=e.charAt(n),o=s.charCodeAt(0);if(255!==r[o])throw new TypeError(s+" is ambiguous");r[o]=n}var a=e.length,c=e.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var i=0,n=0;e[t]===c;)i++,t++;for(var s=(e.length-t)*h+1>>>0,o=new Uint8Array(s);e[t];){var l=r[e.charCodeAt(t)];if(255===l)return;for(var u=0,d=s-1;(0!==l||u<n)&&-1!==d;d--,u++)l+=a*o[d]>>>0,o[d]=l%256>>>0,l=l/256>>>0;if(0!==l)throw new Error("Non-zero carry");n=u,t++}if(" "!==e[t]){for(var p=s-n;p!==s&&0===o[p];)p++;for(var f=new Uint8Array(i+(s-p)),g=i;p!==s;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,n=0,s=t.length;n!==s&&0===t[n];)n++,r++;for(var o=(s-n)*l+1>>>0,h=new Uint8Array(o);n!==s;){for(var u=t[n],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*h[p]>>>0,h[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw new Error("Non-zero carry");i=d,n++}for(var f=o-i;f!==o&&0===h[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(h[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw new Error(`Non-${t} character`)}}},ic=rc;const nc=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};class sc{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class oc{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name}
1 decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return cc(this,e)}}class ac{constructor(e){this.decoders=e}or(e){return cc(this,e)}decode(e){const t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const cc=(e,t)=>new ac({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class hc{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new sc(e,t,r),this.decoder=new oc(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const lc=({name:e,prefix:t,encode:r,decode:i})=>new hc(e,t,r,i),uc=({prefix:e,name:t,alphabet:r})=>{const{encode:i,decode:n}=ic(r,t);return lc({prefix:e,name:t,encode:i,decode:e=>nc(n(e))})},dc=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>lc({prefix:t,name:e,encode(e){return((e,t,r)=>{const i="="===t[t.length-1],n=(1<<r)-1;let s="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,s+=t[n&a>>o];if(o&&(s+=t[n&a<<r-o]),i)for(;s.length*r&7;)s+="=";return s})(e,i,r)},decode(t){return((e,t,r,i)=>{const n={};for(let e=0;e<t.length;++e)n[t[e]]=e;let s=e.length;for(;"="===e[s-1];)--s;const o=new Uint8Array(s*r/8|0);let a=0,c=0,h=0;for(let t=0;t<s;++t){const s=n[e[t]];if(void 0===s)throw new SyntaxError(`Non-${i} character`);c=c<<r|s,a+=r,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o})(t,i,r,e)}}),pc=lc({prefix:"\0",name:"identity",encode:e=>(e=>(new TextDecoder).decode(e))(e),decode:e=>(e=>(new TextEncoder).encode(e))(e)});var fc=Object.freeze({__proto__:null,identity:pc});const gc=dc({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var yc=Object.freeze({__proto__:null,base2:gc});const mc=dc({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var wc=Object.freeze({__proto__:null,base8:mc});const bc=uc({prefix:"9",name:"base10",alphabet:"0123456789"});var vc=Object.freeze({__proto__:null,base10:bc});const Ec=dc({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ic=dc({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Sc=Object.freeze({__proto__:null,base16:Ec,base16upper:Ic});const Pc=dc({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Oc=dc({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),_c=dc({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),xc=dc({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Rc=dc({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ac=dc({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Cc=dc({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Nc=dc({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Tc=dc({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var jc=Object.freeze({__proto__:null,base32:Pc,base32upper:Oc,base32pad:_c,base32padupper:xc,base32hex:Rc,base32hexupper:Ac,base32hexpad:Cc,base32hexpadupper:Nc,base32z:Tc});const kc=uc({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Uc=uc({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Dc=Object.freeze({__proto__:null,base36:kc,base36upper:Uc});const Lc=uc({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),qc=uc({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Bc=Object.freeze({__proto__:null,base58btc:Lc,base58flickr:qc});const Mc=dc({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
1+/",bitsPerChar:6}),$c=dc({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),zc=dc({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Vc=dc({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Hc=Object.freeze({__proto__:null,base64:Mc,base64pad:$c,base64url:zc,base64urlpad:Vc});const Kc=Array.from("ððªâð°ðððððððððððððâð»ð¥ð¾ð¿ðâ¤ðð¤£ððððððð
ððð¥ð¥°ðððð¢ð¤ðððªðâºðð¤ððððð¹ð¤¦ððââ¨ð¤·ð±ðð¸ððððððððð¤©ððð¤ðð¯ððð¶ðð¤â£ððððªðð¥ððð©ð¡ð¤ªðð¥³ð¥ð¤¤ððð³âððð´ðð¬ððð·ð»ðââ
ð¥ºððð¤ð¦âð£ððâ¹ððð âððºðð»ððððð¹ð£ð«ðððµð¤ðð´ð¤ð¼ð«â½ð¤âðð¤«ðð®ðð»ðð¶ðð²ð¿ð§¡ðâ¡ððââðð°ð¤¨ð¶ð¤ð¶ð°ðð¢ð¤ðð¨ð¨ð¤¬âððºð¤ððð±ðð¶ð¥´â¶â¡âðð¸â¬ð¨ðð¦ð·ðºâ ð
ððµðð¤²ð¤ ð¤§ððµð
ð§ð¾ððð¤ðð¤¯ð·âð§ð¯ððð¤ððâð´ð£ð¸ððð¥ð¤¢ð
ð¡ð©ðð¸ð»ð¤ð¤®ð¼ð¥µð©ððð¼ðð£ð¥"),Fc=Kc.reduce(((e,t,r)=>(e[r]=t,e)),[]),Wc=Kc.reduce(((e,t,r)=>(e[t.codePointAt(0)]=r,e)),[]);const Jc=lc({prefix:"ð",name:"base256emoji",encode:function(e){return e.reduce(((e,t)=>e+=Fc[t]),"")},decode:function(e){const t=[];for(const r of e){const e=Wc[r.codePointAt(0)];if(void 0===e)throw new Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}});var Gc=Object.freeze({__proto__:null,base256emoji:Jc}),Yc=function e(t,r,i){r=r||[];for(var n=i=i||0;t>=Zc;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-n+1,r},Zc=Math.pow(2,31);var Qc=function e(t,r){var i,n=0,s=(r=r||0,0),o=r,a=t.length;do{if(o>=a)throw e.bytes=0,new RangeError("Could not decode varint");i=t[o++],n+=s<28?(127&i)<<s:(127&i)*Math.pow(2,s),s+=7}while(i>=128);return e.bytes=o-r,n};var Xc=Math.pow(2,7),eh=Math.pow(2,14),th=Math.pow(2,21),rh=Math.pow(2,28),ih=Math.pow(2,35),nh=Math.pow(2,42),sh=Math.pow(2,49),oh=Math.pow(2,56),ah=Math.pow(2,63),ch={encode:Yc,decode:Qc,encodingLength:function(e){return e<Xc?1:e<eh?2:e<th?3:e<rh?4:e<ih?5:e<nh?6:e<sh?7:e<oh?8:e<ah?9:10}};const hh=(e,t,r=0)=>(ch.encode(e,t,r),t),lh=e=>ch.encodingLength(e),uh=(e,t)=>{const r=t.byteLength,i=lh(e),n=i+lh(r),s=new Uint8Array(n+r);return hh(e,s,0),hh(r,s,i),s.set(t,n),new dh(e,r,t,s)};
1class dh{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}const ph=({name:e,code:t,encode:r})=>new fh(e,t,r);class fh{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?uh(this.code,t):t.then((e=>uh(this.code,e)))}throw Error("Unknown type, must be binary type")}}const gh=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),yh=ph({name:"sha2-256",code:18,encode:gh("SHA-256")}),mh=ph({name:"sha2-512",code:19,encode:gh("SHA-512")});Object.freeze({__proto__:null,sha256:yh,sha512:mh});const wh=nc,bh={code:0,name:"identity",encode:wh,digest:e=>uh(0,wh(e))};Object.freeze({__proto__:null,identity:bh});new TextEncoder,new TextDecoder;const vh={...fc,...yc,...wc,...vc,...Sc,...jc,...Dc,...Bc,...Hc,...Gc};function Eh(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}const Ih=Eh("utf8","u",(e=>"u"+new TextDecoder("utf8").decode(e)),(e=>(new TextEncoder).encode(e.substring(1)))),Sh=Eh("ascii","a",(e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t}),(e=>{const t=function(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t})),Ph={utf8:Ih,"utf-8":Ih,hex:vh.base16,latin1:Sh,ascii:Sh,binary:Sh,...vh};var Oh=Object.defineProperty,_h=(e,t,r)=>((e,t,r)=>t in e?Oh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class xh{constructor(e,t){this.core=e,this.logger=t,_h(this,"keychain",new Map),_h(this,"name","keychain"),_h(this,"version","0.3"),_h(this,"initialized",!1),_h(this,"storagePrefix",Io),_h(this,"init",(async()=>{if(!this.initialized){const e=await this.getKeyChain();typeof e<"u"&&(this.keychain=e),this.initialized=!0}})),_h(this,"has",(e=>(this.isInitialized(),this.keychain.has(e)))),_h(this,"set",(async(e,t)=>{this.isInitialized(),this.keychain.set(e,t),await this.persist()})),_h(this,"get",(e=>{this.isInitialized();const t=this.keychain.get(e);if(typeof t>"u"){const{message:t}=Os("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(t)}return t})),_h(this,"del",(async e=>{this.isInitialized(),this.keychain.delete(e),await this.persist()})),this.core=e,this.logger=(0,Zs.Ep)(t,this.name)}get context(){return(0,Zs.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,Ge(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Ye(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=Os("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Rh=Object.defineProperty,Ah=(e,t,r)=>((e,t,r)=>t in e?Rh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Ch{constructor(e,t,r){this.core=e,this.logger=t,Ah(this,"name","crypto"),Ah(this,"keychain"),Ah(this,"randomSessionIdentifier",Vn()),Ah(this,"initialized",!1),Ah(this,"init",(async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)})),Ah(this,"hasKeys",(e=>(this.isInitialized(),this.keychain.has(e)))),Ah(this,"getClientId",(async()=>{this.isInitialized();const e=await this.getClientSeed(),t=me.Au(e);return me.bG(t.publicKey)})),Ah(this,"generateKeyPair",(()=>{this.isInitialized();const e=function(){const e=Pn.utils.randomPrivateKey(),t=Pn.getPublicKey(e);return{privateKey:(0,we.BB)(e,Bn),publicKey:(0,we.BB)(t,Bn)}}();return this.setPrivateKey(e.publicKey,e.privateKey)})),Ah(this,"signJWT",(async e=>{this.isInitialized();const t=await this.getClientSeed(),r=me.Au(t),i=this.randomSessionIdentifier,n=_o;return await me.vf(i,e,n,r)})),Ah(this,"generateSharedKey",((e,t,r)=>{this.isInitialized();const i=function(e,t){const r=Pn.getSharedSecret((0,we.mL)(e,Bn),(0,we.mL)(t,Bn)),i=Qr(oi,r,void 0,void 0,32);return(0,we.BB)(i,Bn)}(this.getPrivateKey(e),t);return this.setSymKey(i,r)})),Ah(this,"setSymKey",(async(e,t)=>{this.isInitialized();const r=t||Hn(e);return await this.keychain.set(r,e),r})),Ah(this,"deleteKeyPair",(async e=>{this.isInitialized(),await this.keychain.del(e)})),Ah(this,"deleteSymKey",(async e=>{this.isInitialized(),await this.keychain.del(e)})),Ah(this,"encode",(async(e,t,r)=>{this.isInitialized();const i=Qn(r),n=(0,go.u)(t);
1if(es(i))return function(e,t){const r=Fn(2),i=xt(12),n=Yn({type:r,sealed:(0,we.mL)(e,zn),iv:i});return t===$n?Jn(n):n}(n,r?.encoding);if(Xn(i)){const t=i.senderPublicKey,r=i.receiverPublicKey;e=await this.generateSharedKey(t,r)}const s=this.getSymKey(e),{type:o,senderPublicKey:a}=i;return function(e){const t=Fn(typeof e.type<"u"?e.type:0);if(1===Wn(t)&&typeof e.senderPublicKey>"u")throw new Error("Missing sender public key for type 1 envelope");const r=typeof e.senderPublicKey<"u"?(0,we.mL)(e.senderPublicKey,Bn):void 0,i=typeof e.iv<"u"?(0,we.mL)(e.iv,Bn):xt(12),n=(0,we.mL)(e.symKey,Bn),s=Yn({type:t,sealed:Fr(n,i).encrypt((0,we.mL)(e.message,zn)),iv:i,senderPublicKey:r});return e.encoding===$n?Jn(s):s}({type:o,symKey:s,message:n,senderPublicKey:a,encoding:r?.encoding})})),Ah(this,"decode",(async(e,t,r)=>{this.isInitialized();const i=function(e,t){const r=Zn({encoded:e,encoding:t?.encoding});return Qn({type:Wn(r.type),senderPublicKey:typeof r.senderPublicKey<"u"?(0,we.BB)(r.senderPublicKey,Bn):void 0,receiverPublicKey:t?.receiverPublicKey})}(t,r);if(es(i)){const e=function(e,t){const{sealed:r}=Zn({encoded:e,encoding:t});return(0,we.BB)(r,zn)}(t,r?.encoding);return(0,go.D)(e)}if(Xn(i)){const t=i.receiverPublicKey,r=i.senderPublicKey;e=await this.generateSharedKey(t,r)}try{const i=function(e){const t=(0,we.mL)(e.symKey,Bn),{sealed:r,iv:i}=Zn({encoded:e.encoded,encoding:e.encoding}),n=Fr(t,i).decrypt(r);if(null===n)throw new Error("Failed to decrypt");return(0,we.BB)(n,zn)}({symKey:this.getSymKey(e),encoded:t,encoding:r?.encoding});return(0,go.D)(i)}catch(t){this.logger.error(`Failed to decode message from topic: '${e}', clientId: '${await this.getClientId()}'`),this.logger.error(t)}})),Ah(this,"getPayloadType",((e,t=Mn)=>Wn(Zn({encoded:e,encoding:t}).type))),Ah(this,"getPayloadSenderPublicKey",((e,t=Mn)=>{const r=Zn({encoded:e,encoding:t});return r.senderPublicKey?(0,we.BB)(r.senderPublicKey,Bn):void 0})),this.core=e,this.logger=(0,Zs.Ep)(t,this.name),this.keychain=r||new xh(this.core,this.logger)}get context(){return(0,Zs.Fd)(this.logger)}async setPrivateKey(e,t){return await this.keychain.set(e,t),e}getPrivateKey(e){return this.keychain.get(e)}async getClientSeed(){let e="";try{e=this.keychain.get(Oo)}catch{e=Vn(),await this.keychain.set(Oo,e)}return function(e,t="utf8"){const r=Ph[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return"utf8"!==t&&"utf-8"!==t||null==globalThis.Buffer||null==globalThis.Buffer.from?r.decoder.decode(`${r.prefix}${e}`):globalThis.Buffer.from(e,"utf8")}(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=Os("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Nh=Object.defineProperty,Th=Object.defineProperties,jh=Object.getOwnPropertyDescriptors,kh=Object.getOwnPropertySymbols,Uh=Object.prototype.hasOwnProperty,Dh=Object.prototype.propertyIsEnumerable,Lh=(e,t,r)=>t in e?Nh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,qh=(e,t,r)=>Lh(e,"symbol"!=typeof t?t+"":t,r);class Bh extends so{constructor(e,t){super(e,t),this.logger=e,this.core=t,qh(this,"messages",new Map),qh(this,"messagesWithoutClientAck",new Map),qh(this,"name","messages"),qh(this,"version","0.3"),qh(this,"initialized",!1),qh(this,"storagePrefix",Io),qh(this,"init",(async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const e=await this.getRelayerMessages();typeof e<"u"&&(this.messages=e);const t=await this.getRelayerMessagesWithoutClientAck();typeof t<"u"&&(this.messagesWithoutClientAck=t),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}finally{this.initialized=!0}}})),qh(this,"set",(async(e,t,r)=>{this.isInitialized();const i=Kn(t);let n=this.messages.get(e);if(typeof n>"u"&&(n={}),typeof n[i]<"u")return i;if(n[i]=t,this.messages.set(e,n),r===zo){const r=this.messagesWithoutClientAck.get(e)||{};this.messagesWithoutClientAck.set(e,((e,t)=>Th(e,jh(t)))(((e,t)=>{for(var r in t||(t={}))Uh.call(t,r)&&Lh(e,r,t[r]);if(kh)for(var r of kh(t))Dh.call(t,r)&&Lh(e,r,t[r]);return e})({},r),{[i]:t}))}return await this.persist(),i})),qh(this,"get",(e=>{this.isInitialized();let t=this.messages.get(e);return typeof t>"u"&&(t={}),t})),qh(this,"getWithoutAck",(e=>{this.isInitialized();const t={};for(const r of e){const e=this.messagesWithoutClientAck.get(r)||{};t[r]=Object.values(e)}return t})),qh(this,"has",((e,t)=>
1{this.isInitialized();return typeof this.get(e)[Kn(t)]<"u"})),qh(this,"ack",(async(e,t)=>{this.isInitialized();const r=this.messagesWithoutClientAck.get(e);if(typeof r>"u")return;delete r[Kn(t)],0===Object.keys(r).length?this.messagesWithoutClientAck.delete(e):this.messagesWithoutClientAck.set(e,r),await this.persist()})),qh(this,"del",(async e=>{this.isInitialized(),this.messages.delete(e),this.messagesWithoutClientAck.delete(e),await this.persist()})),this.logger=(0,Zs.Ep)(e,this.name),this.core=t}get context(){return(0,Zs.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get storageKeyWithoutClientAck(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name+"_withoutClientAck"}async setRelayerMessages(e){await this.core.storage.setItem(this.storageKey,Ge(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,Ge(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?Ye(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<"u"?Ye(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=Os("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Mh=Object.defineProperty,$h=Object.defineProperties,zh=Object.getOwnPropertyDescriptors,Vh=Object.getOwnPropertySymbols,Hh=Object.prototype.hasOwnProperty,Kh=Object.prototype.propertyIsEnumerable,Fh=(e,t,r)=>t in e?Mh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Wh=(e,t)=>{for(var r in t||(t={}))Hh.call(t,r)&&Fh(e,r,t[r]);if(Vh)for(var r of Vh(t))Kh.call(t,r)&&Fh(e,r,t[r]);return e},Jh=(e,t)=>$h(e,zh(t)),Gh=(e,t,r)=>Fh(e,"symbol"!=typeof t?t+"":t,r);class Yh extends oo{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,Gh(this,"events",new i.EventEmitter),Gh(this,"name","publisher"),Gh(this,"queue",new Map),Gh(this,"publishTimeout",(0,o.toMiliseconds)(o.ONE_MINUTE)),Gh(this,"initialPublishTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),Gh(this,"needsTransportRestart",!1),Gh(this,"publish",(async(e,t,r)=>{var i;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:e,message:t,opts:r}});const n=r?.ttl||xo,s=rs(r),o=r?.prompt||!1,a=r?.tag||0,c=r?.id||(0,mo.getBigIntRpcId)().toString(),h={topic:e,message:t,opts:{ttl:n,relay:s,prompt:o,tag:a,id:c,attestation:r?.attestation,tvf:r?.tvf}},l=`Failed to publish payload, please try again. id:${c} tag:${a}`;try{const i=new Promise((async i=>{const s=({id:e})=>{h.opts.id===e&&(this.removeRequestFromQueue(e),this.relayer.events.removeListener(Uo,s),i(h))};this.relayer.events.on(Uo,s);const l=Qe(new Promise(((i,s)=>{this.rpcPublish({topic:e,message:t,ttl:n,prompt:o,tag:a,id:c,attestation:r?.attestation,tvf:r?.tvf}).then(i).catch((e=>{this.logger.warn(e,e?.message),s(e)}))})),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${c} tag:${a}`);try{await l,this.events.removeListener(Uo,s)}catch(e){this.queue.set(c,Jh(Wh({},h),{attempt:1})),this.logger.warn(e,e?.message)}}));this.logger.trace({type:"method",method:"publish",params:{id:c,topic:e,message:t,opts:r}}),await Qe(i,this.publishTimeout,l)}catch(e){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(e),null!=(i=r?.internal)&&i.throwOnFailedPublish)throw e}finally{this.queue.delete(c)}})),Gh(this,"on",((e,t)=>{this.events.on(e,t)})),Gh(this,"once",((e,t)=>{this.events.once(e,t)})),Gh(this,"off",((e,t)=>{this.events.off(e,t)})),Gh(this,"removeListener",((e,t)=>{this.events.removeListener(e,t)})),this.relayer=e,this.logger=(0,Zs.Ep)(t,this.name),this.registerEventListeners()}get context(){return(0,Zs.Fd)(this.logger)}async rpcPublish(e){var t,r,i,n;const{topic:s,message:o,ttl:a=xo,prompt:c,tag:h,id:l,attestation:u,tvf:d}=e,p={method:is(rs().protocol).publish,params:Wh({topic:s,message:o,ttl:a,prompt:c,tag:h,attestation:u},d),id:l};As(null==(t=p.params)?void 0:t.prompt)&&(null==(r=p.params)||delete r.prompt),As(null==(i=p.params)?void 0:i.tag)&&(null==(n=p.params)||delete n.tag),this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:p});const f=await this.relayer.request(p);return this.relayer.events.emit(Uo,e),this.logger.debug("Successfully Published Payload"),f}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach((async(e,t)=>{const r=e.attempt+1;this.queue.set(t,Jh(Wh({},e),{attempt:r}));const{topic:i,message:n,opts:s,attestation:o}=e;this.logger.warn({},`Publisher: queue->publishing: ${e.opts.id}, tag: ${e.opts.tag}, attempt: ${r}`),await this.rpcPublish(Jh(Wh({},e),{topic:i,message:n,ttl:s.ttl,prompt:s.prompt,tag:s.tag,id:s.id,attestation:o,tvf:s.tvf})),this.logger.warn({},`Publisher: queue->published: ${e.opts.id}`)}))}registerEventListeners(){this.relayer.core.heartbeat.on(Gs.Lx.pulse,(()=>{if(this.needsTransportRestart)return this.needsTransportRestart=!1,void this.relayer.events.emit(ko);this.checkQueue()})),this.relayer.on(Co,(e=>{this.removeRequestFromQueue(e.id.toString())}))}}var Zh=Object.defineProperty,Qh=(e,t,r)=>((e,t,r)=>t in e?Zh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Xh{constructor(){Qh(this,"map",new Map),Qh(this,"set",((e,t)=>
1{const r=this.get(e);this.exists(e,t)||this.map.set(e,[...r,t])})),Qh(this,"get",(e=>this.map.get(e)||[])),Qh(this,"exists",((e,t)=>this.get(e).includes(t))),Qh(this,"delete",((e,t)=>{if(typeof t>"u")return void this.map.delete(e);if(!this.map.has(e))return;const r=this.get(e);if(!this.exists(e,t))return;const i=r.filter((e=>e!==t));i.length?this.map.set(e,i):this.map.delete(e)})),Qh(this,"clear",(()=>{this.map.clear()}))}get topics(){return Array.from(this.map.keys())}}var el=Object.defineProperty,tl=Object.defineProperties,rl=Object.getOwnPropertyDescriptors,il=Object.getOwnPropertySymbols,nl=Object.prototype.hasOwnProperty,sl=Object.prototype.propertyIsEnumerable,ol=(e,t,r)=>t in e?el(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,al=(e,t)=>{for(var r in t||(t={}))nl.call(t,r)&&ol(e,r,t[r]);if(il)for(var r of il(t))sl.call(t,r)&&ol(e,r,t[r]);return e},cl=(e,t)=>tl(e,rl(t)),hl=(e,t,r)=>ol(e,"symbol"!=typeof t?t+"":t,r);class ll extends ho{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,hl(this,"subscriptions",new Map),hl(this,"topicMap",new Xh),hl(this,"events",new i.EventEmitter),hl(this,"name","subscription"),hl(this,"version","0.3"),hl(this,"pending",new Map),hl(this,"cached",[]),hl(this,"initialized",!1),hl(this,"storagePrefix",Io),hl(this,"subscribeTimeout",(0,o.toMiliseconds)(o.ONE_MINUTE)),hl(this,"initialSubscribeTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),hl(this,"clientId"),hl(this,"batchSubscribeTopicsLimit",500),hl(this,"init",(async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0})),hl(this,"subscribe",(async(e,t)=>{this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}});try{const r=rs(t),i={topic:e,relay:r,transportType:t?.transportType};this.pending.set(e,i);const n=await this.rpcSubscribe(e,r,t);return"string"==typeof n&&(this.onSubscribe(n,i),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:e,opts:t}})),n}catch(e){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(e),e}})),hl(this,"unsubscribe",(async(e,t)=>{this.isInitialized(),typeof t?.id<"u"?await this.unsubscribeById(e,t.id,t):await this.unsubscribeByTopic(e,t)})),hl(this,"isSubscribed",(e=>new Promise((t=>{t(this.topicMap.topics.includes(e))})))),hl(this,"isKnownTopic",(e=>new Promise((t=>{t(this.topicMap.topics.includes(e)||this.pending.has(e)||this.cached.some((t=>t.topic===e)))})))),hl(this,"on",((e,t)=>{this.events.on(e,t)})),hl(this,"once",((e,t)=>{this.events.once(e,t)})),hl(this,"off",((e,t)=>{this.events.off(e,t)})),hl(this,"removeListener",((e,t)=>{this.events.removeListener(e,t)})),hl(this,"start",(async()=>{await this.onConnect()})),hl(this,"stop",(async()=>{await this.onDisconnect()})),hl(this,"restart",(async()=>{await this.restore(),await this.onRestart()})),hl(this,"checkPending",(async()=>{if(!(0!==this.pending.size||this.initialized&&this.relayer.connected))return;const e=[];this.pending.forEach((t=>{e.push(t)})),await this.batchSubscribe(e)})),hl(this,"registerEventListeners",(()=>{this.relayer.core.heartbeat.on(Gs.Lx.pulse,(async()=>{await this.checkPending()})),this.events.on(Ko,(async e=>{const t=Ko;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()})),this.events.on(Fo,(async e=>{const t=Fo;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),await this.persist()}))})),this.relayer=e,this.logger=(0,Zs.Ep)(t,this.name),this.clientId=""}get context(){return(0,Zs.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let r=!1;try{r=this.getSubscription(e).topic===t}catch{}return r}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const r=this.topicMap.get(e);await Promise.all(r.map((async r=>await this.unsubscribeById(e,r,t))))}async unsubscribeById(e,t,r){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:r}});try{const i=rs(r);await this.restartToComplete({topic:e,id:t,relay:i}),await this.rpcUnsubscribe(e,t,i);const n=_s("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:r}})}catch(e){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(e),e}}async rpcSubscribe(e,t,r){var i;(!r||r?.transportType===$o.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});const n={method:is(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:n});const s=null==(i=r?.internal)?void 0:i.throwOnFailedPublish;
1try{const t=await this.getSubscriptionId(e);if(r?.transportType===$o.link_mode)return setTimeout((()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(n).catch((e=>this.logger.warn(e)))}),(0,o.toMiliseconds)(o.ONE_SECOND)),t;const i=new Promise((async t=>{const r=i=>{i.topic===e&&(this.events.removeListener(Ko,r),t(i.id))};this.events.on(Ko,r);try{const i=await Qe(new Promise(((e,t)=>{this.relayer.request(n).catch((e=>{this.logger.warn(e,e?.message),t(e)})).then(e)})),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(Ko,r),t(i)}catch{}})),a=await Qe(i,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!a&&s)throw new Error(`Subscribing to ${e} failed, please try again`);return a?t:null}catch(e){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(ko),s)throw e}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t={method:is(e[0].relay.protocol).batchSubscribe,params:{topics:e.map((e=>e.topic))}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:t});try{await await Qe(new Promise((e=>{this.relayer.request(t).catch((e=>this.logger.warn(e))).then(e)})),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(ko)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t={method:is(e[0].relay.protocol).batchFetchMessages,params:{topics:e.map((e=>e.topic))}};let r;this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:t});try{r=await await Qe(new Promise(((e,r)=>{this.relayer.request(t).catch((e=>{this.logger.warn(e),r(e)})).then(e)})),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(ko)}return r}rpcUnsubscribe(e,t,r){const i={method:is(r.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i}),this.relayer.request(i)}onSubscribe(e,t){this.setSubscription(e,cl(al({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach((e=>{this.setSubscription(e.id,al({},e)),this.pending.delete(e.topic)}))}async onUnsubscribe(e,t,r){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,r),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,al({},t)),this.topicMap.set(t.topic,e),this.events.emit(Ko,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:t}=Os("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(t)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const r=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(r.topic,e),this.events.emit(Fo,cl(al({},r),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(Wo)}async onRestart(){if(this.cached.length){const e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let r=0;r<t;r++){const t=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(t)}}this.events.emit(Jo)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size){const{message:e}=Os("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(e)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map((async e=>cl(al({}
1,e),{id:await this.getSubscriptionId(e.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 function(e){return new Promise((t=>setTimeout(t,e)))}((0,o.toMiliseconds)(o.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}=Os("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 Kn(e+await this.getClientId())}}var ul=Object.defineProperty,dl=Object.getOwnPropertySymbols,pl=Object.prototype.hasOwnProperty,fl=Object.prototype.propertyIsEnumerable,gl=(e,t,r)=>t in e?ul(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,yl=(e,t)=>{for(var r in t||(t={}))pl.call(t,r)&&gl(e,r,t[r]);if(dl)for(var r of dl(t))fl.call(t,r)&&gl(e,r,t[r]);return e},ml=(e,t,r)=>gl(e,"symbol"!=typeof t?t+"":t,r);class wl extends ao{constructor(e){super(e),ml(this,"protocol","wc"),ml(this,"version",2),ml(this,"core"),ml(this,"logger"),ml(this,"events",new i.EventEmitter),ml(this,"provider"),ml(this,"messages"),ml(this,"subscriber"),ml(this,"publisher"),ml(this,"name","relayer"),ml(this,"transportExplicitlyClosed",!1),ml(this,"initialized",!1),ml(this,"connectionAttemptInProgress",!1),ml(this,"relayUrl"),ml(this,"projectId"),ml(this,"packageName"),ml(this,"bundleId"),ml(this,"hasExperiencedNetworkDisruption",!1),ml(this,"pingTimeout"),ml(this,"heartBeatTimeout",(0,o.toMiliseconds)(o.THIRTY_SECONDS+o.FIVE_SECONDS)),ml(this,"reconnectTimeout"),ml(this,"connectPromise"),ml(this,"reconnectInProgress",!1),ml(this,"requestsInFlight",[]),ml(this,"connectTimeout",(0,o.toMiliseconds)(15*o.ONE_SECOND)),ml(this,"request",(async e=>{var t,r;this.logger.debug("Publishing Request Payload");const i=e.id||(0,mo.getBigIntRpcId)().toString();await this.toEstablishConnection();try{this.logger.trace({id:i,method:e.method,topic:null==(t=e.params)?void 0:t.topic},"relayer.request - publishing...");const n=`${i}:${(null==(r=e.params)?void 0:r.tag)||""}`;this.requestsInFlight.push(n);const s=await this.provider.request(e);return this.requestsInFlight=this.requestsInFlight.filter((e=>e!==n)),s}catch(e){throw this.logger.debug(`Failed to Publish Request: ${i}`),e}})),ml(this,"resetPingTimeout",(()=>{Be()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout((()=>{var e,t,r,i;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),null==(i=null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.terminate)||i.call(r)}catch(e){this.logger.warn(e,e?.message)}}),this.heartBeatTimeout))})),ml(this,"onPayloadHandler",(e=>{this.onProviderPayload(e),this.resetPingTimeout()})),ml(this,"onConnectHandler",(()=>{this.logger.warn({},"Relayer connected ð"),this.startPingTimeout(),this.events.emit(No)})),ml(this,"onDisconnectHandler",(()=>{this.logger.warn({},"Relayer disconnected ð"),this.requestsInFlight=[],this.onProviderDisconnect()})),ml(this,"onProviderErrorHandler",(e=>{this.logger.fatal(`Fatal socket error: ${e.message}`),this.events.emit(jo,e),this.logger.fatal("Fatal socket error received, closing transport"),this.transportClose()})),ml(this,"registerProviderListeners",(()=>{this.provider.on(Do,this.onPayloadHandler),this.provider.on(Lo,this.onConnectHandler),this.provider.on(qo,this.onDisconnectHandler),this.provider.on(Bo,this.onProviderErrorHandler)})),this.core=e.core,this.logger=typeof e.logger<"u"&&"string"!=typeof e.logger?(0,Zs.Ep)(e.logger,this.name):(0,Zs.gw)((0,Zs.jI)({level:e.logger||"error"})),this.messages=new Bh(this.logger,e.core),this.subscriber=new ll(this,this.logger),this.publisher=new Yh(this,this.logger),this.relayUrl=e?.relayUrl||Ro,this.projectId=e.projectId,Me()&&typeof r.g<"u"&&typeof(null==r.g?void 0:r.g.Platform)<"u"&&"android"===(null==r.g?void 0:r.g.Platform.OS)?this.packageName=Ve():Me()&&typeof r.g<"u"&&typeof(null==r.g?void 0:r.g.Platform)<"u"&&"ios"===(null==r.g?void 0:r.g.Platform.OS)&&(this.bundleId=Ve()),this.provider={}}
1async init(){if(this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.subscriber.hasAnyTopics)try{await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}get context(){return(0,Zs.Fd)(this.logger)}get connected(){var e,t,r;return 1===(null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.readyState)||!1}get connecting(){var e,t,r;return 0===(null==(r=null==(t=null==(e=this.provider)?void 0:e.connection)?void 0:t.socket)?void 0:r.readyState)||void 0!==this.connectPromise||!1}async publish(e,t,r){this.isInitialized(),await this.publisher.publish(e,t,r),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:$o.relay},Vo)}async subscribe(e,t){var r,i,n;this.isInitialized(),(null==t||!t.transportType||"relay"===t?.transportType)&&await this.toEstablishConnection();const s=typeof(null==(r=t?.internal)?void 0:r.throwOnFailedPublish)>"u"||(null==(i=t?.internal)?void 0:i.throwOnFailedPublish);let o,a=(null==(n=this.subscriber.topicMap.get(e))?void 0:n[0])||"";const c=t=>{t.topic===e&&(this.subscriber.off(Ko,c),o())};return await Promise.all([new Promise((e=>{o=e,this.subscriber.on(Ko,c)})),new Promise((async(r,i)=>{a=await this.subscriber.subscribe(e,yl({internal:{throwOnFailedPublish:s}},t)).catch((e=>{s&&i(e)}))||a,r()}))]),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 Qe(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){if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise((async(t,r)=>{await this.connect(e).then(t).catch(r).finally((()=>{this.connectPromise=void 0}))})),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}else this.logger.warn("Starting WS connection skipped because the client has no topics to work with.")}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 Ks())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(0===e?.length)return void this.logger.trace("Batch message events is empty. Ignoring...");const t=e.sort(((e,t)=>e.publishedAt-t.publishedAt));this.logger.debug(`Batch of ${t.length} message events sorted`);for(const e of t)try{await this.onMessageEvent(e)}catch(e){this.logger.warn(e,"Error while processing batch message event: "+e?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:r}=e;if(!t.sessionExists){const e={topic:r,expiry:tt(o.FIVE_MINUTES),relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(r,e)}this.events.emit(Ao,e),await this.recordMessageEvent(e,zo)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise((async(e,t)=>{const r=()=>
1{t(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(qo,r),await Qe(new Promise(((e,t)=>{this.provider.connect().then(e).catch(t)})),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch((e=>{t(e)})).finally((()=>{this.provider.off(qo,r),clearTimeout(this.reconnectTimeout)})),await new Promise((async(e,t)=>{const r=()=>{t(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(qo,r),await this.subscriber.start().then(e).catch(t).finally((()=>{this.provider.off(qo,r)}))})),this.hasExperiencedNetworkDisruption=!1,e()}))}catch(e){await this.subscriber.stop();const t=e;this.logger.warn({},t.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise((e=>setTimeout(e,(0,o.toMiliseconds)(1*t)))),t++}}startPingTimeout(){var e,t,r,i,n;if(Be())try{null!=(t=null==(e=this.provider)?void 0:e.connection)&&t.socket&&(null==(n=null==(i=null==(r=this.provider)?void 0:r.connection)?void 0:i.socket)||n.on("ping",(()=>{this.resetPingTimeout()}))),this.resetPingTimeout()}catch(e){this.logger.warn(e,e?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new yo.r(new wo.Z(We({sdkVersion:Mo,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:r,message:i}=e;await this.messages.set(r,i,t)}async shouldIgnoreMessageEvent(e){const{topic:t,message:r}=e;if(!r||0===r.length)return this.logger.warn(`Ignoring invalid/empty message: ${r}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;const i=this.messages.has(t,r);return i&&this.logger.warn(`Ignoring duplicate message: ${r}`),i}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),(0,mo.isJsonRpcRequest)(e)){if(!e.method.endsWith("_subscription"))return;const t=e.params,{topic:r,message:i,publishedAt:n,attestation:s}=t.data,o={topic:r,message:i,publishedAt:n,transportType:$o.relay,attestation:s};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(yl({type:"event",event:t.id},o)),this.events.emit(t.id,o),await this.acknowledgePayload(e),await this.onMessageEvent(o)}else(0,mo.isJsonRpcResponse)(e)&&this.events.emit(Co,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,zo),this.events.emit(Ao,e))}async acknowledgePayload(e){const t=(0,mo.formatJsonRpcResult)(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(Do,this.onPayloadHandler),this.provider.off(Lo,this.onConnectHandler),this.provider.off(qo,this.onDisconnectHandler),this.provider.off(Bo,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await Ks();Fs((async t=>{e!==t&&(e=t,t?await this.transportOpen().catch((e=>this.logger.error(e,e?.message))):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))})),this.core.heartbeat.on(Gs.Lx.pulse,(async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&function(){var e;return!$e()||!(0,a.getDocument)()||"visible"===(null==(e=(0,a.getDocument)())?void 0:e.visibilityState)}())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(e){this.logger.warn(e,e?.message)}}))}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(To),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout((async()=>{await this.transportOpen().catch((e=>this.logger.error(e,e?.message))),this.reconnectTimeout=void 0,this.reconnectInProgress=!1}),(0,o.toMiliseconds)(.1)))))}isInitialized(){if(!this.initialized){const{message:e}=Os("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise)return void await this.connectPromise;await this.connect()}}}function bl(){}function vl(e){if(!e||"object"!=typeof e)return!1;const t=Object.getPrototypeOf(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&"[object Object]"===Object.prototype.toString.call(e)}function El(e){return Object.getOwnPropertySymbols(e).filter((t=>Object.prototype.propertyIsEnumerable.call(e,t)))}
1function Il(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Sl="[object Arguments]",Pl="[object Object]";function Ol(e,t,r,i,n,s,o){const a=o(e,t,r,i,n,s);if(void 0!==a)return a;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":case"function":return e===t;case"number":return e===t||Object.is(e,t);case"object":return _l(e,t,s,o)}return _l(e,t,s,o)}function _l(e,t,r,i){if(Object.is(e,t))return!0;let n=Il(e),s=Il(t);if(n===Sl&&(n=Pl),s===Sl&&(s=Pl),n!==s)return!1;switch(n){case"[object String]":return e.toString()===t.toString();case"[object Number]":return function(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}(e.valueOf(),t.valueOf());case"[object Boolean]":case"[object Date]":case"[object Symbol]":return Object.is(e.valueOf(),t.valueOf());case"[object RegExp]":return e.source===t.source&&e.flags===t.flags;case"[object Function]":return e===t}const o=(r=r??new Map).get(e),a=r.get(t);if(null!=o&&null!=a)return o===t;r.set(e,t),r.set(t,e);try{switch(n){case"[object Map]":if(e.size!==t.size)return!1;for(const[n,s]of e.entries())if(!t.has(n)||!Ol(s,t.get(n),n,e,t,r,i))return!1;return!0;case"[object Set]":{if(e.size!==t.size)return!1;const n=Array.from(e.values()),s=Array.from(t.values());for(let o=0;o<n.length;o++){const a=n[o],c=s.findIndex((n=>Ol(a,n,void 0,e,t,r,i)));if(-1===c)return!1;s.splice(c,1)}return!0}case"[object Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":case"[object BigUint64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object BigInt64Array]":case"[object Float32Array]":case"[object Float64Array]":if(typeof bo<"u"&&bo.isBuffer(e)!==bo.isBuffer(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Ol(e[n],t[n],n,e,t,r,i))return!1;return!0;case"[object ArrayBuffer]":return e.byteLength===t.byteLength&&_l(new Uint8Array(e),new Uint8Array(t),r,i);case"[object DataView]":return e.byteLength===t.byteLength&&e.byteOffset===t.byteOffset&&_l(new Uint8Array(e),new Uint8Array(t),r,i);case"[object Error]":return e.name===t.name&&e.message===t.message;case Pl:{if(!(_l(e.constructor,t.constructor,r,i)||vl(e)&&vl(t)))return!1;const n=[...Object.keys(e),...El(e)],s=[...Object.keys(t),...El(t)];if(n.length!==s.length)return!1;for(let s=0;s<n.length;s++){const o=n[s],a=e[o];if(!Object.hasOwn(t,o))return!1;if(!Ol(a,t[o],o,e,t,r,i))return!1}return!0}default:return!1}}finally{r.delete(e),r.delete(t)}}function xl(e,t){return function(e,t,r){return Ol(e,t,void 0,void 0,void 0,void 0,r)}(e,t,bl)}var Rl=Object.defineProperty,Al=Object.getOwnPropertySymbols,Cl=Object.prototype.hasOwnProperty,Nl=Object.prototype.propertyIsEnumerable,Tl=(e,t,r)=>t in e?Rl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,jl=(e,t)=>{for(var r in t||(t={}))Cl.call(t,r)&&Tl(e,r,t[r]);if(Al)for(var r of Al(t))Nl.call(t,r)&&Tl(e,r,t[r]);return e},kl=(e,t,r)=>Tl(e,"symbol"!=typeof t?t+"":t,r);class Ul extends co{constructor(e,t,r,i=Io,n){super(e,t,r,i),this.core=e,this.logger=t,this.name=r,kl(this,"map",new Map),kl(this,"version","0.3"),kl(this,"cached",[]),kl(this,"initialized",!1),kl(this,"getKey"),kl(this,"storagePrefix",Io),kl(this,"recentlyDeleted",[]),kl(this,"recentlyDeletedLimit",200),kl(this,"init",(async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach((e=>{this.getKey&&null!==e&&!As(e)?this.map.set(this.getKey(e),e):function(e){var t;return null==(t=e?.proposer)?void 0:t.publicKey}(e)?this.map.set(e.id,e):function(e){return e?.topic}(e)&&this.map.set(e.topic,e)})),this.cached=[],this.initialized=!0)})),kl(this,"set",(async(e,t)=>{this.isInitialized(),this.map.has(e)?await this.update(e,t):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:e,value:t}),this.map.set(e,t),await this.persist())})),kl(this,"get",(e=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:e}),this.getData(e)))),kl(this,"getAll",(e=>(this.isInitialized(),e?this.values.filter((t=>Object.keys(e).every((r=>xl(t[r],e[r]))))):this.values))),kl(this,"update",(async(e,t)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:e,update:t});const r=jl(jl({},this.getData(e)),t);this.map.set(e,r),await this.persist()})),kl(this,"delete",(async(e,t)=>{this.isInitialized(),this.map.has(e)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",ke
1y:e,reason:t}),this.map.delete(e),this.addToRecentlyDeleted(e),await this.persist())})),this.logger=(0,Zs.Ep)(t,this.name),this.storagePrefix=i,this.getKey=n}get context(){return(0,Zs.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:t}=Os("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(t),new Error(t)}const{message:t}=Os("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(t),new Error(t)}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:e}=Os("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),new Error(e)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=Os("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Dl=Object.defineProperty,Ll=(e,t,r)=>((e,t,r)=>t in e?Dl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class ql{constructor(e,t){this.core=e,this.logger=t,Ll(this,"name","pairing"),Ll(this,"version","0.3"),Ll(this,"events",new(n())),Ll(this,"pairings"),Ll(this,"initialized",!1),Ll(this,"storagePrefix",Io),Ll(this,"ignoredPayloadTypes",[1]),Ll(this,"registeredMethods",[]),Ll(this,"init",(async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))})),Ll(this,"register",(({methods:e})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...e])]})),Ll(this,"create",(async e=>{this.isInitialized();const t=Vn(),r=await this.core.crypto.setSymKey(t),i=tt(o.FIVE_MINUTES),n={protocol:"irn"},s={topic:r,expiry:i,relay:n,active:!1,methods:e?.methods},a=as({protocol:this.core.protocol,version:this.core.version,topic:r,symKey:t,relay:n,expiryTimestamp:i,methods:e?.methods});return this.events.emit(Yo,s),this.core.expirer.set(r,i),await this.pairings.set(r,s),await this.core.relayer.subscribe(r,{transportType:e?.transportType}),{topic:r,uri:a}})),Ll(this,"pair",(async e=>{this.isInitialized();const t=this.core.eventClient.createEvent({properties:{topic:e?.uri,trace:[da]}});this.isValidPair(e,t);const{topic:r,symKey:i,relay:n,expiryTimestamp:s,methods:a}=ss(e.uri);let c;if(t.props.properties.topic=r,t.addTrace(pa),t.addTrace(fa),this.pairings.keys.includes(r)){if(c=this.pairings.get(r),t.addTrace(wa),c.active)throw t.setError(Pa),new Error(`Pairing already exists: ${r}. Please try again with a new connection URI.`);t.addTrace(ba)}const h=s||tt(o.FIVE_MINUTES),l={topic:r,relay:n,expiry:h,active:!1,methods:a};this.core.expirer.set(r,h),await this.pairings.set(r,l),t.addTrace(ga),e.activatePairing&&await this.activate({topic:r}),this.events.emit(Yo,l),t.addTrace(va),this.core.crypto.keychain.has(r)||await this.core.crypto.setSymKey(i,r),t.addTrace(ya);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{t.setError(Ia)}try{await this.core.relayer.subscribe(r,{relay:n})}catch(e){throw t.setError(Oa),e}return t.addTrace(ma),l})),Ll(this,"activate",(async({topic:e})=>{this.isInitialized();const t=tt(o.FIVE_MINUTES);this.core.expirer.set(e,t),await this.pairings.update(e,{active:!0,expiry:t})})),Ll(this,"ping",(async e=>{this.isInitialized(),await this.isValidPing(e),this.logger.warn("ping() is deprecated and will be removed in the next major release.");const{topic:t}=e;if(this.pairings.keys.includes(t)){const e=await this.sendRequest(t,"wc_pairingPing",{}),{done:r,resolve:i,reject:n}=Ze();this.events.once(it("pairing_ping",e),(({error:e})=>{e?n(e):i()})),await r()}})),Ll(this,"updateExpiry",(async({topic:e,expiry:t})=>{this.isInitialized(),await this.pairings.update(e,{expiry:t})})),Ll(this,"updateMetadata",(async({topic:e,metadata:t})=>{this.isInitialized(),await this.pairings.update(e,{peerMetadata:t})})),Ll(this,"getPairings",(()=>(this.isInitialized(),this.pairings.values))),Ll(this,"disconnect",(async e=>{this.isInitialized(),await this.isValidDisconnect(e);const{topic:t}=e;this.pairings.keys.includes(t)&&(await this.sendRequest(t,"wc_pairingDelete",_s("USER_DISCONNECTED")),await this.deletePairing(t))})),Ll(this,"formatUriFromPairing",(e=>{this.isInitialized();const{topic:t,relay:r,expiry:i,methods:n}=e,s=this.core.crypto.keychain.get(t);return as({protocol:this.core.protocol,version:this.core.version,topic:t,symKey:s,relay:r,expiryTimestamp:i,methods:n})})),Ll(this,"sendRequest",(async(e,t,r)=>{const i=(0,mo.formatJsonRpcRequest)(t,r),n=await this.core.crypto.encode(e,i),s=Go[t].req;return this.core.history.set(e,i),this.core.relayer.publish(e,n,s),i.id})),Ll(this,"sendResult",(async(e,t,r)=>{const i=(0,mo.formatJsonRpcResult)(e,r),n=await this.core.crypto.encode(t,i),s=(await this.core.history.get(t,e)).request.method,o=Go[s].res;await this.core.relayer.publish(t,n,o),await this.core.history.resolve(i)})),Ll(this,"sendError",(async(e,t,r)=>{const i=(0,mo.formatJsonRpcError)(e,r),n=await this.core.crypto.encode(t,i),s=(await this.core.history.get(t,e)).request.method,o=Go[s]?Go[s].res:Go.unregistered_method.res;await this.core.relayer.publish(t,n,o),await this.core.history.resolve(i)})),Ll(this,"deletePairing",(async(e,t)=>{await this.core.relayer.unsubscribe(e),await Promise.all([this.pairings.delete(e,_s("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(e),t?Promise.resolve():this.core.expirer.del(e)])})),Ll(this,"cleanup",(async()=>{const e=this.pairings.getAll().filter((e=>rt(e.expiry)));await Promise.all(e.map((e=>this.deletePairing(e.topic))))})),Ll(this,"onRelayEventRequest",(async e=>{const{topic:t,payload:r}=e;switch(r.method){case"wc_pairingPing":return await this.onPairingPingRequest(t,r);case"wc_pairingDelete":return await this.onPairingDeleteRequest(t,r);default:return await this.onUnknownRpcMethodRequest(t,r)}})),Ll(this,"onRelayEventResponse",(async e=>{const{topic:t,payload:r}=e,i=(await this.core.history.get(t,r.id)).request.method;return"wc_pairingPing"===i?this.onPairingPingResponse(t,r):this.onUnknownRpcMethodResponse(i)})),Ll(this,"onPairingPingRequest",(async(e,t)=>{const{id:r}=t;try{this.isValidPing({topic:e}),await this.sendResult(r,e,!0),this.events.emit(Xo,{id:r,topic:e})}catch(t){await this.sendError(r,e,t),this.logger.error(t)}})),Ll(this,"onPairingPingResponse",((e,t)=>
1{const{id:r}=t;setTimeout((()=>{(0,mo.isJsonRpcResult)(t)?this.events.emit(it("pairing_ping",r),{}):(0,mo.isJsonRpcError)(t)&&this.events.emit(it("pairing_ping",r),{error:t.error})}),500)})),Ll(this,"onPairingDeleteRequest",(async(e,t)=>{const{id:r}=t;try{this.isValidDisconnect({topic:e}),await this.deletePairing(e),this.events.emit(Qo,{id:r,topic:e})}catch(t){await this.sendError(r,e,t),this.logger.error(t)}})),Ll(this,"onUnknownRpcMethodRequest",(async(e,t)=>{const{id:r,method:i}=t;try{if(this.registeredMethods.includes(i))return;const t=_s("WC_METHOD_UNSUPPORTED",i);await this.sendError(r,e,t),this.logger.error(t)}catch(t){await this.sendError(r,e,t),this.logger.error(t)}})),Ll(this,"onUnknownRpcMethodResponse",(e=>{this.registeredMethods.includes(e)||this.logger.error(_s("WC_METHOD_UNSUPPORTED",e))})),Ll(this,"isValidPair",((e,t)=>{var r;if(!Bs(e)){const{message:r}=Os("MISSING_OR_INVALID",`pair() params: ${e}`);throw t.setError(Sa),new Error(r)}if(!function(e){function t(e){try{return typeof new URL(e)<"u"}catch{return!1}}try{if(Cs(e,!1))return!!t(e)||t(ht(e))}catch{}return!1}(e.uri)){const{message:r}=Os("MISSING_OR_INVALID",`pair() uri: ${e.uri}`);throw t.setError(Sa),new Error(r)}const i=ss(e?.uri);if(null==(r=i?.relay)||!r.protocol){const{message:e}=Os("MISSING_OR_INVALID","pair() uri#relay-protocol");throw t.setError(Sa),new Error(e)}if(null==i||!i.symKey){const{message:e}=Os("MISSING_OR_INVALID","pair() uri#symKey");throw t.setError(Sa),new Error(e)}if(null!=i&&i.expiryTimestamp&&(0,o.toMiliseconds)(i?.expiryTimestamp)<Date.now()){t.setError(_a);const{message:e}=Os("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(e)}})),Ll(this,"isValidPing",(async e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`ping() params: ${e}`);throw new Error(t)}const{topic:t}=e;await this.isValidPairingTopic(t)})),Ll(this,"isValidDisconnect",(async e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw new Error(t)}const{topic:t}=e;await this.isValidPairingTopic(t)})),Ll(this,"isValidPairingTopic",(async e=>{if(!Cs(e,!1)){const{message:t}=Os("MISSING_OR_INVALID",`pairing topic should be a string: ${e}`);throw new Error(t)}if(!this.pairings.keys.includes(e)){const{message:t}=Os("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(rt(this.pairings.get(e).expiry)){await this.deletePairing(e);const{message:t}=Os("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}})),this.core=e,this.logger=(0,Zs.Ep)(t,this.name),this.pairings=new Ul(this.core,this.logger,this.name,this.storagePrefix)}get context(){return(0,Zs.Fd)(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=Os("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(Ao,(async e=>{const{topic:t,message:r,transportType:i}=e;if(this.pairings.keys.includes(t)&&i!==$o.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(r)))try{const e=await this.core.crypto.decode(t,r);(0,mo.isJsonRpcRequest)(e)?(this.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e})):(0,mo.isJsonRpcResponse)(e)&&(await this.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e}),this.core.history.delete(t,e.id)),await this.core.relayer.messages.ack(t,r)}catch(e){this.logger.error(e)}}))}registerExpirerEvents(){this.core.expirer.on(oa,(async e=>{const{topic:t}=et(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(Zo,{topic:t}))}))}}var Bl=Object.defineProperty,Ml=(e,t,r)=>((e,t,r)=>t in e?Bl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class $l extends no{constructor(e,t){super(e,t),this.core=e,this.logger=t,Ml(this,"records",new Map),Ml(this,"events",new i.EventEmitter),Ml(this,"name","history"),Ml(this,"version","0.3"),Ml(this,"cached",[]),Ml(this,"initialized",!1),Ml(this,"storagePrefix",Io),Ml(this,"init",(async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach((e=>this.records.set(e.id,e))),this.cached=[],this.registerEventListeners(),this.initialized=!0)})),Ml(this,"set",((e,t,r)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:e,request:t,chainId:r}),this.records.has(t.id))return;const i={id:t.id,topic:e,request:{method:t.method,params:t.params||null},chainId:r,expiry:tt(o.THIRTY_DAYS)};this.records.set(i.id,i),this.persist(),this.events.emit(ea,i)})),Ml(this,"resolve",(async e=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:e}),!this.records.has(e.id))return;const t=await this.getRecord(e.id);typeof t.response>"u"&&(t.response=(0,mo.isJsonRpcError)(e)?{error:e.error}:{result:e.result},this.records.set(t.id,t),this.persist(),this.events.emit(ta,t))})),Ml(this,"get",(async(e,t)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:e,id:t}),await this.getRecord(t)))),Ml(this,"delete",((e,t)=>
1{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:t}),this.values.forEach((r=>{if(r.topic===e){if(typeof t<"u"&&r.id!==t)return;this.records.delete(r.id),this.events.emit(ra,r)}})),this.persist()})),Ml(this,"exists",(async(e,t)=>(this.isInitialized(),!!this.records.has(t)&&(await this.getRecord(t)).topic===e))),Ml(this,"on",((e,t)=>{this.events.on(e,t)})),Ml(this,"once",((e,t)=>{this.events.once(e,t)})),Ml(this,"off",((e,t)=>{this.events.off(e,t)})),Ml(this,"removeListener",((e,t)=>{this.events.removeListener(e,t)})),this.logger=(0,Zs.Ep)(t,this.name)}get context(){return(0,Zs.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach((t=>{if(typeof t.response<"u")return;const r={topic:t.topic,request:(0,mo.formatJsonRpcRequest)(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(r)})),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:t}=Os("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(t)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(ia)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:e}=Os("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),new Error(e)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(ea,(e=>{const t=ea;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})})),this.events.on(ta,(e=>{const t=ta;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})})),this.events.on(ra,(e=>{const t=ra;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})})),this.core.heartbeat.on(Gs.Lx.pulse,(()=>{this.cleanup()}))}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach((t=>{(0,o.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(ra,t,!1),e=!0)})),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=Os("NOT_INITIALIZED",this.name);throw new Error(e)}}}var zl=Object.defineProperty,Vl=(e,t,r)=>((e,t,r)=>t in e?zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Hl extends lo{constructor(e,t){super(e,t),this.core=e,this.logger=t,Vl(this,"expirations",new Map),Vl(this,"events",new i.EventEmitter),Vl(this,"name","expirer"),Vl(this,"version","0.3"),Vl(this,"cached",[]),Vl(this,"initialized",!1),Vl(this,"storagePrefix",Io),Vl(this,"init",(async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach((e=>this.expirations.set(e.target,e))),this.cached=[],this.registerEventListeners(),this.initialized=!0)})),Vl(this,"has",(e=>{try{const t=this.formatTarget(e);return typeof this.getExpiration(t)<"u"}catch{return!1}})),Vl(this,"set",((e,t)=>{this.isInitialized();const r=this.formatTarget(e),i={target:r,expiry:t};this.expirations.set(r,i),this.checkExpiry(r,i),this.events.emit(na,{target:r,expiration:i})})),Vl(this,"get",(e=>{this.isInitialized();const t=this.formatTarget(e);return this.getExpiration(t)})),Vl(this,"del",(e=>{if(this.isInitialized(),this.has(e)){const t=this.formatTarget(e),r=this.getExpiration(t);this.expirations.delete(t),this.events.emit(sa,{target:t,expiration:r})}})),Vl(this,"on",((e,t)=>{this.events.on(e,t)})),Vl(this,"once",((e,t)=>
1{this.events.once(e,t)})),Vl(this,"off",((e,t)=>{this.events.off(e,t)})),Vl(this,"removeListener",((e,t)=>{this.events.removeListener(e,t)})),this.logger=(0,Zs.Ep)(t,this.name)}get context(){return(0,Zs.Fd)(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if("string"==typeof e)return function(e){return Xe("topic",e)}(e);if("number"==typeof e)return function(e){return Xe("id",e)}(e);const{message:t}=Os("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(aa)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:e}=Os("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(e),new Error(e)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:t}=Os("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(t),new Error(t)}return t}checkExpiry(e,t){const{expiry:r}=t;(0,o.toMiliseconds)(r)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(oa,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach(((e,t)=>this.checkExpiry(t,e)))}registerEventListeners(){this.core.heartbeat.on(Gs.Lx.pulse,(()=>this.checkExpirations())),this.events.on(na,(e=>{const t=na;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})),this.events.on(oa,(e=>{const t=oa;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})),this.events.on(sa,(e=>{const t=sa;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}))}isInitialized(){if(!this.initialized){const{message:e}=Os("NOT_INITIALIZED",this.name);throw new Error(e)}}}var Kl=Object.defineProperty,Fl=(e,t,r)=>((e,t,r)=>t in e?Kl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Wl extends uo{constructor(e,t,r){super(e,t,r),this.core=e,this.logger=t,this.store=r,Fl(this,"name","verify-api"),Fl(this,"abortController"),Fl(this,"isDevEnv"),Fl(this,"verifyUrlV3",la),Fl(this,"storagePrefix",Io),Fl(this,"version",2),Fl(this,"publicKey"),Fl(this,"fetchPromise"),Fl(this,"init",(async()=>{var e;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,o.toMiliseconds)(null==(e=this.publicKey)?void 0:e.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))})),Fl(this,"register",(async e=>{if(!$e()||this.isDevEnv)return;const t=window.location.origin,{id:r,decryptedId:i}=e,n=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${t}&id=${r}&decryptedId=${i}`;try{const e=(0,a.getDocument)(),t=this.startAbortTimer(5*o.ONE_SECOND),i=await new Promise(((i,s)=>{const o=()=>{window.removeEventListener("message",c),e.body.removeChild(a),s("attestation aborted")};this.abortController.signal.addEventListener("abort",o);const a=e.createElement("iframe");a.src=n,a.style.display="none",a.addEventListener("error",o,{signal:this.abortController.signal});const c=n=>{if(n.data&&"string"==typeof n.data)try{const s=JSON.parse(n.data);if("verify_attestation"===s.type){if((0,me.xp)(s.attestation).payload.id!==r)return;clearInterval(t),e.body.removeChild(a),this.abortController.signal.removeEventListener("abort",o),window.removeEventListener("message",c),i(null===s.attestation?"":s.attestation)}}catch(e){this.logger.warn(e)}};e.body.appendChild(a),window.addEventListener("message",c,{signal:this.abortController.signal})}));return this.logger.debug("jwt attestation",i),i}catch(e){this.logger.warn(e)}return""})),Fl(this,"resolve",(async e=>{if(this.isDevEnv)return"";const{attestationId:t,hash:r,encryptedId:i}=e;if(""===t)return void this.logger.debug("resolve: attestationId is empty, skipping");if(t){if((0,me.xp)(t).payload.id!==i)return;const e=await this.isValidJwtAttestation(t);
1if(e)return e.isVerified?e:void this.logger.warn("resolve: jwt attestation: origin url not verified")}if(!r)return;const n=this.getVerifyUrl(e?.verifyUrl);return this.fetchAttestation(r,n)})),Fl(this,"fetchAttestation",(async(e,t)=>{this.logger.debug(`resolving attestation: ${e} from url: ${t}`);const r=this.startAbortTimer(5*o.ONE_SECOND),i=await fetch(`${t}/attestation/${e}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(r),200===i.status?await i.json():void 0})),Fl(this,"getVerifyUrl",(e=>{let t=e||ha;return ua.includes(t)||(this.logger.info(`verify url: ${t}, not included in trusted list, assigning default: ${ha}`),t=ha),t})),Fl(this,"fetchPublicKey",(async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const e=this.startAbortTimer(o.FIVE_SECONDS),t=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(e),await t.json()}catch(e){this.logger.warn(e)}})),Fl(this,"persistPublicKey",(async e=>{this.logger.debug("persisting public key to local storage",e),await this.store.setItem(this.storeKey,e),this.publicKey=e})),Fl(this,"removePublicKey",(async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0})),Fl(this,"isValidJwtAttestation",(async e=>{const t=await this.getPublicKey();try{if(t)return this.validateAttestation(e,t)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}const r=await this.fetchAndPersistPublicKey();try{if(r)return this.validateAttestation(e,r)}catch(e){this.logger.error(e),this.logger.warn("error validating attestation")}})),Fl(this,"getPublicKey",(async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey())),Fl(this,"fetchAndPersistPublicKey",(async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise((async e=>{const t=await this.fetchPublicKey();t&&(await this.persistPublicKey(t),e(t))}));const e=await this.fetchPromise;return this.fetchPromise=void 0,e})),Fl(this,"validateAttestation",((e,t)=>{const r=ts(e,t.publicKey),i={hasExpired:(0,o.toMiliseconds)(r.exp)<Date.now(),payload:r};if(i.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:i.payload.origin,isScam:i.payload.isScam,isVerified:i.payload.isVerified}})),this.logger=(0,Zs.Ep)(t,this.name),this.abortController=new AbortController,this.isDevEnv=ct(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return(0,Zs.Fd)(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout((()=>this.abortController.abort()),(0,o.toMiliseconds)(e))}}var Jl=Object.defineProperty,Gl=(e,t,r)=>((e,t,r)=>t in e?Jl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Yl extends po{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,Gl(this,"context","echo"),Gl(this,"registerDeviceToken",(async e=>{const{clientId:t,token:r,notificationType:i,enableEncrypted:n=!1}=e,s=`https://echo.walletconnect.com/${this.projectId}/clients`;await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:t,type:i,token:r,always_raw:n})})})),this.logger=(0,Zs.Ep)(t,this.context)}}var Zl=Object.defineProperty,Ql=Object.getOwnPropertySymbols,Xl=Object.prototype.hasOwnProperty,eu=Object.prototype.propertyIsEnumerable,tu=(e,t,r)=>t in e?Zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ru=(e,t)=>{for(var r in t||(t={}))Xl.call(t,r)&&tu(e,r,t[r]);if(Ql)for(var r of Ql(t))eu.call(t,r)&&tu(e,r,t[r]);return e},iu=(e,t,r)=>tu(e,"symbol"!=typeof t?t+"":t,r);class nu extends fo{constructor(e,t,r=!0){super(e,t,r),this.core=e,this.logger=t,iu(this,"context","event-client"),iu(this,"storagePrefix",Io),iu(this,"storageVersion",.1),iu(this,"events",new Map),iu(this,"shouldPersist",!1),iu(this,"init",(async()=>{if(!ct())try{const e={eventId:at(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:Fe(this.core.relayer.protocol,this.core.relayer.version,Mo)}}};await this.sendEvent([e])}catch(e){this.logger.warn(e)}})),iu(this,"createEvent",(e=>{const{event:t="ERROR",type:r="",properties:{topic:i,trace:n}}=e,s=at(),o=this.core.projectId||"",a=Date.now(),c=ru({eventId:s,timestamp:a,props:{event:t,type:r,properties:{topic:i,trace:n}},bundleId:o,domain:this.getAppDomain()},this.setMethods(s));return this.telemetryEnabled&&(this.events.set(s,c),this.shouldPersist=!0),c})),iu(this,"getEvent",(e=>{const{eventId:t,topic:r}=e;if(t)return this.events.get(t);const i=Array.from(this.events.values()).find((e=>e.props.properties.topic===r));return i?ru(ru({},i),this.setMethods(i.eventId)):void 0})),iu(this,"deleteEvent",(e=>{const{eventId:t}=e;this.events.delete(t),this.shouldPersist=!0})),iu(this,"setEventListeners",(()=>{this.core.heartbeat.on(Gs.Lx.pulse,(async()=>
1{this.shouldPersist&&await this.persist(),this.events.forEach((e=>{(0,o.fromMiliseconds)(Date.now())-(0,o.fromMiliseconds)(e.timestamp)>86400&&(this.events.delete(e.eventId),this.shouldPersist=!0)}))}))})),iu(this,"setMethods",(e=>({addTrace:t=>this.addTrace(e,t),setError:t=>this.setError(e,t)}))),iu(this,"addTrace",((e,t)=>{const r=this.events.get(e);r&&(r.props.properties.trace.push(t),this.events.set(e,r),this.shouldPersist=!0)})),iu(this,"setError",((e,t)=>{const r=this.events.get(e);r&&(r.props.type=t,r.timestamp=Date.now(),this.events.set(e,r),this.shouldPersist=!0)})),iu(this,"persist",(async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1})),iu(this,"restore",(async()=>{try{const e=await this.core.storage.getItem(this.storageKey)||[];if(!e.length)return;e.forEach((e=>{this.events.set(e.eventId,ru(ru({},e),this.setMethods(e.eventId)))}))}catch(e){this.logger.warn(e)}})),iu(this,"submit",(async()=>{if(!this.telemetryEnabled||0===this.events.size)return;const e=[];for(const[t,r]of this.events)r.props.type&&e.push(r);if(0!==e.length)try{if((await this.sendEvent(e)).ok)for(const t of e)this.events.delete(t.eventId),this.shouldPersist=!0}catch(e){this.logger.warn(e)}})),iu(this,"sendEvent",(async e=>{const t=this.getAppDomain()?"":"&sp=desktop";return await fetch(`https://pulse.walletconnect.org/batch?projectId=${this.core.projectId}&st=events_sdk&sv=js-${Mo}${t}`,{method:"POST",body:JSON.stringify(e)})})),iu(this,"getAppDomain",(()=>Ke().url)),this.logger=(0,Zs.Ep)(t,this.context),this.telemetryEnabled=r,r?this.restore().then((async()=>{await this.submit(),this.setEventListeners()})):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var su=Object.defineProperty,ou=Object.getOwnPropertySymbols,au=Object.prototype.hasOwnProperty,cu=Object.prototype.propertyIsEnumerable,hu=(e,t,r)=>t in e?su(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,lu=(e,t)=>
1{for(var r in t||(t={}))au.call(t,r)&&hu(e,r,t[r]);if(ou)for(var r of ou(t))cu.call(t,r)&&hu(e,r,t[r]);return e},uu=(e,t,r)=>hu(e,"symbol"!=typeof t?t+"":t,r);class du extends to{constructor(e){var t;super(e),uu(this,"protocol","wc"),uu(this,"version",2),uu(this,"name",Eo),uu(this,"relayUrl"),uu(this,"projectId"),uu(this,"customStoragePrefix"),uu(this,"events",new i.EventEmitter),uu(this,"logger"),uu(this,"heartbeat"),uu(this,"relayer"),uu(this,"crypto"),uu(this,"storage"),uu(this,"history"),uu(this,"expirer"),uu(this,"pairing"),uu(this,"verify"),uu(this,"echoClient"),uu(this,"linkModeSupportedApps"),uu(this,"eventClient"),uu(this,"initialized",!1),uu(this,"logChunkController"),uu(this,"on",((e,t)=>this.events.on(e,t))),uu(this,"once",((e,t)=>this.events.once(e,t))),uu(this,"off",((e,t)=>this.events.off(e,t))),uu(this,"removeListener",((e,t)=>this.events.removeListener(e,t))),uu(this,"dispatchEnvelope",(({topic:e,message:t,sessionExists:r})=>{if(!e||!t)return;const i={topic:e,message:t,publishedAt:Date.now(),transportType:$o.link_mode};this.relayer.onLinkMessageEvent(i,{sessionExists:r})}));const r=this.getGlobalCore(e?.customStoragePrefix);if(r)try{return this.customStoragePrefix=r.customStoragePrefix,this.logger=r.logger,this.heartbeat=r.heartbeat,this.crypto=r.crypto,this.history=r.history,this.expirer=r.expirer,this.storage=r.storage,this.relayer=r.relayer,this.pairing=r.pairing,this.verify=r.verify,this.echoClient=r.echoClient,this.linkModeSupportedApps=r.linkModeSupportedApps,this.eventClient=r.eventClient,this.initialized=r.initialized,this.logChunkController=r.logChunkController,r}catch(e){console.warn("Failed to copy global core",e)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||Ro,this.customStoragePrefix=null!=e&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const n=(0,Zs.jI)({level:"string"==typeof e?.logger&&e.logger?e.logger:So,name:Eo}),{logger:s,chunkLoggerController:o}=(0,Zs.Rt)({opts:n,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,null!=(t=this.logChunkController)&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var e,t;null!=(e=this.logChunkController)&&e.downloadLogsBlobInBrowser&&(null==(t=this.logChunkController)||t.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=(0,Zs.Ep)(s,this.name),this.heartbeat=new Gs.C$,this.crypto=new Ch(this,this.logger,e?.keychain),this.history=new $l(this,this.logger),this.expirer=new Hl(this,this.logger),this.storage=null!=e&&e.storage?e.storage:new Ys.Z(lu(lu({},Po),e?.storageOptions)),this.relayer=new wl({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new ql(this,this.logger),this.verify=new Wl(this,this.logger,this.storage),this.echoClient=new Yl(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new nu(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const t=new du(e);await t.initialize();const r=await t.crypto.getClientId();return await t.storage.setItem("WALLETCONNECT_CLIENT_ID",r),t}get context(){return(0,Zs.Fd)(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return null==(e=this.logChunkController)?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(Ho,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(Ho)||[],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}`,r=`${t}_count`;return globalThis[r]=(globalThis[r]||0)+1,globalThis[r]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[r]} times.`),globalThis[t]}catch(e){return void console.warn("Failed to get global WalletConnect core",e)}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;const r=`_walletConnectCore_${(null==(t=e.opts)?void 0:t.customStoragePrefix)||""}`;globalThis[r]=e}catch(e){console.warn("Failed to set global WalletConnect core",e)}}isGlobalCoreDisabled(){try{return typeof vo<"u"&&"true"==={NODE_ENV:"production",PUBLIC_PATH:"/"}.DISABLE_GLOBAL_CORE}catch{return!0}}}
1const pu=du;Object.defineProperty;Object.defineProperty;Object.defineProperty;var fu=Object.defineProperty,gu=(e,t,r)=>((e,t,r)=>t in e?fu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class yu{constructor(e){this.opts=e,gu(this,"protocol","wc"),gu(this,"version",2)}}class mu{constructor(e){this.client=e}}const wu="client",bu=`wc@2:${wu}:`,vu=wu,Eu="error",Iu="WALLETCONNECT_DEEPLINK_CHOICE",Su="Proposal expired",Pu=o.SEVEN_DAYS,Ou={wc_sessionPropose:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1104},res:{ttl:o.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1106},res:{ttl:o.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:o.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1112},res:{ttl:o.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:o.ONE_DAY,prompt:!1,tag:1114},res:{ttl:o.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:o.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:o.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:o.FIVE_MINUTES,prompt:!1,tag:1119}}},_u={min:o.FIVE_MINUTES,max:o.SEVEN_DAYS},xu="IDLE",Ru="ACTIVE",Au={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"}},Cu=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],Nu="[email protected]:auth:",Tu=`${Nu}:PUB_KEY`;var ju=Object.defineProperty,ku=Object.defineProperties,Uu=Object.getOwnPropertyDescriptors,Du=Object.getOwnPropertySymbols,Lu=Object.prototype.hasOwnProperty,qu=Object.prototype.propertyIsEnumerable,Bu=(e,t,r)=>t in e?ju(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Mu=(e,t)=>{for(var r in t||(t={}))Lu.call(t,r)&&Bu(e,r,t[r]);if(Du)for(var r of Du(t))qu.call(t,r)&&Bu(e,r,t[r]);return e},$u=(e,t)=>ku(e,Uu(t)),zu=(e,t,r)=>Bu(e,"symbol"!=typeof t?t+"":t,r);class Vu extends mu{constructor(e){super(e),zu(this,"name","engine"),zu(this,"events",new(n())),zu(this,"initialized",!1),zu(this,"requestQueue",{state:xu,queue:[]}),zu(this,"sessionRequestQueue",{state:xu,queue:[]}),zu(this,"requestQueueDelay",o.ONE_SECOND),zu(this,"expectedPairingMethodMap",new Map),zu(this,"recentlyDeletedMap",new Map),zu(this,"recentlyDeletedLimit",200),zu(this,"relayMessageCache",[]),zu(this,"pendingSessions",new Map),zu(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(Ou)}),this.initialized=!0,setTimeout((async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()}),(0,o.toMiliseconds)(this.requestQueueDelay)))})),zu(this,"connect",(async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();const t=$u(Mu({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(t),t.optionalNamespaces=function(e,t){var r,i,n,s,o,a;const c=Es(e),h=Es(t),l={},u=Object.keys(c).concat(Object.keys(h));for(const e of u)l[e]={chains:nt(null==(r=c[e])?void 0:r.chains,null==(i=h[e])?void 0:i.chains),methods:nt(null==(n=c[e])?void 0:n.methods,null==(s=h[e])?void 0:s.methods),events:nt(null==(o=c[e])?void 0:o.events,null==(a=h[e])?void 0:a.events)};return l}(t.requiredNamespaces,t.optionalNamespaces),t.requiredNamespaces={};const{pairingTopic:r,requiredNamespaces:i,optionalNamespaces:n,sessionProperties:s,scopedProperties:a,relays:c}=t;let h,l=r,u=!1;try{if(l){const e=this.client.core.pairing.pairings.get(l);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),u=e.active}}catch(e){throw this.client.logger.error(`connect() -> pairing.get(${l}) failed`),e}if(!l||!u){const{topic:e,uri:t}=await this.client.core.pairing.create();l=e,h=t}if(!l){const{message:e}=Os("NO_MATCHING_KEY",`connect() pairing topic: ${l}`);throw new Error(e)}const d=await this.client.core.crypto.generateKeyPair(),p=Ou.wc_sessionPropose.req.ttl||o.FIVE_MINUTES,f=tt(p),g=$u(Mu(Mu({requiredNamespaces:i,optionalNamespaces:n,relays:c??[{protocol:"irn"}],proposer:{publicKey:d,metadata:this.client.metadata},expiryTimestamp:f,pairingTopic:l},s&&{sessionProperties:s}),a&&{scopedProperties:a}),{id:(0,mo.payloadId)()}),y=it("session_connect",g.id),{reject:m,resolve:w,done:b}=Ze(p,Su),v=({id:e})=>{e===g.id&&(this.client.events.off("proposal_expire",v),this.pendingSessions.delete(g.id),this.events.emit(y,{error:{message:Su,code:0}}))};return this.client.events.on("proposal_expire",v),this.events.once(y,(({error:e,session:t})=>{this.client.events.off("proposal_expire",v),e?m(e):t&&w(t)})),await this.sendRequest({topic:l,method:"wc_sessionPropose",params:g,throwOnFailedPublish:!0,clientRpcId:g.id}),await this.setProposal(g.id,g),{uri:h,approval:b}}
1)),zu(this,"pair",(async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(e){throw this.client.logger.error("pair() failed"),e}})),zu(this,"approve",(async e=>{var t,r,i;const n=this.client.core.eventClient.createEvent({properties:{topic:null==(t=e?.id)?void 0:t.toString(),trace:[Ra]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(e){throw n.setError(La),e}try{await this.isValidProposalId(e?.id)}catch(t){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),n.setError(Va),t}try{await this.isValidApprove(e)}catch(e){throw this.client.logger.error("approve() -> isValidApprove() failed"),n.setError(za),e}const{id:s,relayProtocol:o,namespaces:a,sessionProperties:c,scopedProperties:h,sessionConfig:l}=e,u=this.client.proposal.get(s);this.client.core.eventClient.deleteEvent({eventId:n.eventId});const{pairingTopic:d,proposer:p,requiredNamespaces:f,optionalNamespaces:g}=u;let y=null==(r=this.client.core.eventClient)?void 0:r.getEvent({topic:d});y||(y=null==(i=this.client.core.eventClient)?void 0:i.createEvent({type:Ra,properties:{topic:d,trace:[Ra,Aa]}}));const m=await this.client.core.crypto.generateKeyPair(),w=p.publicKey,b=await this.client.core.crypto.generateSharedKey(m,w),v=Mu(Mu(Mu({relay:{protocol:o??"irn"},namespaces:a,controller:{publicKey:m,metadata:this.client.metadata},expiry:tt(Pu)},c&&{sessionProperties:c}),h&&{scopedProperties:h}),l&&{sessionConfig:l}),E=$o.relay;y.addTrace(Ca);try{await this.client.core.relayer.subscribe(b,{transportType:E})}catch(e){throw y.setError(Ba),e}y.addTrace(Na);const I=$u(Mu({},v),{topic:b,requiredNamespaces:f,optionalNamespaces:g,pairingTopic:d,acknowledged:!1,self:v.controller,peer:{publicKey:p.publicKey,metadata:p.metadata},controller:m,transportType:$o.relay});await this.client.session.set(b,I),y.addTrace(ka);try{y.addTrace(Ua),await this.sendRequest({topic:b,method:"wc_sessionSettle",params:v,throwOnFailedPublish:!0}).catch((e=>{throw y?.setError($a),e})),y.addTrace(Da),y.addTrace(Ta),await this.sendResult({id:s,topic:d,result:{relay:{protocol:o??"irn"},responderPublicKey:m},throwOnFailedPublish:!0}).catch((e=>{throw y?.setError(Ma),e})),y.addTrace(ja)}catch(e){throw this.client.logger.error(e),this.client.session.delete(b,_s("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(b),e}return this.client.core.eventClient.deleteEvent({eventId:y.eventId}),await this.client.core.pairing.updateMetadata({topic:d,metadata:p.metadata}),await this.client.proposal.delete(s,_s("USER_DISCONNECTED")),await this.client.core.pairing.activate({topic:d}),await this.setExpiry(b,tt(Pu)),{topic:b,acknowledged:()=>Promise.resolve(this.client.session.get(b))}})),zu(this,"reject",(async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(e){throw this.client.logger.error("reject() -> isValidReject() failed"),e}const{id:t,reason:r}=e;let i;try{i=this.client.proposal.get(t).pairingTopic}catch(e){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),e}i&&(await this.sendError({id:t,topic:i,error:r,rpcOpts:Ou.wc_sessionPropose.reject}),await this.client.proposal.delete(t,_s("USER_DISCONNECTED")))})),zu(this,"update",(async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(e){throw this.client.logger.error("update() -> isValidUpdate() failed"),e}const{topic:t,namespaces:r}=e,{done:i,resolve:n,reject:s}=Ze(),o=(0,mo.payloadId)(),a=(0,mo.getBigIntRpcId)().toString(),c=this.client.session.get(t).namespaces;return this.events.once(it("session_update",o),(({error:e})=>{e?s(e):n()})),await this.client.session.update(t,{namespaces:r}),await this.sendRequest({topic:t,method:"wc_sessionUpdate",params:{namespaces:r},throwOnFailedPublish:!0,clientRpcId:o,relayRpcId:a}).catch((e=>{this.client.logger.error(e),this.client.session.update(t,{namespaces:c}),s(e)})),{acknowledged:i}})),zu(this,"extend",(async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(e){throw this.client.logger.error("extend() -> isValidExtend() failed"),e}const{topic:t}=e,r=(0,mo.payloadId)(),{done:i,resolve:n,reject:s}=Ze();return this.events.once(it("session_extend",r),(({error:e})=>{e?s(e):n()})),await this.setExpiry(t,tt(Pu)),this.sendRequest({topic:t,method:"wc_sessionExtend",params:{},clientRpcId:r,throwOnFailedPublish:!0}).catch((e=>{s(e)})),{acknowledged:i}})),zu(this,"request",(async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(e){throw this.client.logger.error("request() -> isValidRequest() failed"),e}const{chainId:t,request:r,topic:i,expiry:n=Ou.wc_sessionRequest.req.ttl}=e,s=this.client.session.get(i);s?.transportType===$o.relay&&await this.confirmOnlineStateOrThrow();const o=(0,mo.payloadId)(),a=(0,mo.getBigIntRpcId)().toString(),{done:c,resolve:h,reject:l}=Ze(n,"Request expired. Please try again.");this.events.once(it("session_request",o),(({error:e,result:t})=>{e?l(e):h(t)}));const u="wc_sessionRequest",d=this.getAppLinkIfEnabled(s.peer.metadata,s.transportType);if(d)return await this.sendRequest({clientRpcId:o,relayRpcId:a,topic:i,method:u,params:{request:$u(Mu({},r),{expiryTimestamp:tt(n)}),chainId:t},expiry:n,throwOnFailedPublish:!0,appLink:d}).catch((e=>l(e))),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:t,id:o}),await c();const p={request:$u(Mu({},r),{expiryTimestamp:tt(n)}),chainId:t},f=this.shouldSetTVF(u,p);return await Promise.all([new Promise((async e=>{await this.sendRequest(Mu({clientRpcId:o,relayRpcId:a,topic:i,method:u,params:p,expiry:n,throwOnFailedPublish:!0},f&&{tvf:this.getTVFParams(o,p)})).catch((e=>l(e))),this.client.events.emit("session_request_sent",{topic:i,request:r,chainId:t,id:o}),e()})),new Promise((async e=>{var t;if(null==(t=s.sessionConfig)||!t.disableDeepLink){const e=await async function(e,t){let r="";try{if($e()&&(r=localStorage.getItem(t),r))return r;r=await e.getItem(t)}catch(e){console.error(e)}return r}(this.client.core.storage,Iu);await st({id:o,topic:i,wcDeepLink:e})}e()})),c()]).then((e=>e[2]))})),zu(this,"respond",(async e=>{this.isInitialized(),await this.isValidRespond(e);const{topic:t,response:r}=e,{id:i}=r,n=this.client.session.get(t);n.transportType===$o.relay&&await this.confirmOnlineStateOrThrow();const s=this.getAppLinkIfEnabled(n.peer.metadata,n.transportType);(0,mo.isJsonRpcResult)(r)?await this.sendResult({id:i,topic:t,result:r.result,throwOnFailedPublish:!0,appLink:s}
1):(0,mo.isJsonRpcError)(r)&&await this.sendError({id:i,topic:t,error:r.error,appLink:s}),this.cleanupAfterResponse(e)})),zu(this,"ping",(async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(e){throw this.client.logger.error("ping() -> isValidPing() failed"),e}const{topic:t}=e;if(this.client.session.keys.includes(t)){const e=(0,mo.payloadId)(),r=(0,mo.getBigIntRpcId)().toString(),{done:i,resolve:n,reject:s}=Ze();this.events.once(it("session_ping",e),(({error:e})=>{e?s(e):n()})),await Promise.all([this.sendRequest({topic:t,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:e,relayRpcId:r}),i()])}else this.client.core.pairing.pairings.keys.includes(t)&&(this.client.logger.warn("ping() on pairing topic is deprecated and will be removed in the next major release."),await this.client.core.pairing.ping({topic:t}))})),zu(this,"emit",(async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);const{topic:t,event:r,chainId:i}=e,n=(0,mo.getBigIntRpcId)().toString(),s=(0,mo.payloadId)();await this.sendRequest({topic:t,method:"wc_sessionEvent",params:{event:r,chainId:i},throwOnFailedPublish:!0,relayRpcId:n,clientRpcId:s})})),zu(this,"disconnect",(async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidDisconnect(e);const{topic:t}=e;if(this.client.session.keys.includes(t))await this.sendRequest({topic:t,method:"wc_sessionDelete",params:_s("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else{if(!this.client.core.pairing.pairings.keys.includes(t)){const{message:e}=Os("MISMATCHED_TOPIC",`Session or pairing topic not found: ${t}`);throw new Error(e)}await this.client.core.pairing.disconnect({topic:t})}})),zu(this,"find",(e=>(this.isInitialized(),this.client.session.getAll().filter((t=>function(e,t){const{requiredNamespaces:r}=t,i=Object.keys(e.namespaces),n=Object.keys(r);let s=!0;return!!Je(n,i)&&(i.forEach((t=>{const{accounts:i,methods:n,events:o}=e.namespaces[t],a=ws(i),c=r[t];Je(Oe(t,c),a)&&Je(c.methods,n)&&Je(c.events,o)||(s=!1)})),s)}(t,e)))))),zu(this,"getPendingSessionRequests",(()=>this.client.pendingRequest.getAll())),zu(this,"authenticate",(async(e,t)=>{var r;this.isInitialized(),this.isValidAuthenticate(e);const i=t&&this.client.core.linkModeSupportedApps.includes(t)&&(null==(r=this.client.metadata.redirect)?void 0:r.linkMode),n=i?$o.link_mode:$o.relay;n===$o.relay&&await this.confirmOnlineStateOrThrow();const{chains:s,statement:o="",uri:a,domain:c,nonce:h,type:l,exp:u,nbf:d,methods:p=[],expiry:f}=e,g=[...e.resources||[]],{topic:y,uri:m}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:n});this.client.logger.info({message:"Generated new pairing",pairing:{topic:y,uri:m}});const w=await this.client.core.crypto.generateKeyPair(),b=Hn(w);if(await Promise.all([this.client.auth.authKeys.set(Tu,{responseTopic:b,publicKey:w}),this.client.auth.pairingTopics.set(b,{topic:b,pairingTopic:y})]),await this.client.core.relayer.subscribe(b,{transportType:n}),this.client.logger.info(`sending request to new pairing topic: ${y}`),p.length>0){const{namespace:e}=Se(s[0]);let t=ur(e,"request",p);mr(g)&&(t=pr(t,g.pop())),g.push(t)}const v=f&&f>Ou.wc_sessionAuthenticate.req.ttl?f:Ou.wc_sessionAuthenticate.req.ttl,E={authPayload:{type:l??"caip122",chains:s,statement:o,aud:a,domain:c,version:"1",nonce:h,iat:(new Date).toISOString(),exp:u,nbf:d,resources:g},requester:{publicKey:w,metadata:this.client.metadata},expiryTimestamp:tt(v)},I={requiredNamespaces:{},optionalNamespaces:{eip155:{chains:s,methods:[...new Set(["personal_sign",...p])],events:["chainChanged","accountsChanged"]}},relays:[{protocol:"irn"}],pairingTopic:y,proposer:{publicKey:w,metadata:this.client.metadata},expiryTimestamp:tt(Ou.wc_sessionPropose.req.ttl),id:(0,mo.payloadId)()},{done:S,resolve:P,reject:O}=Ze(v,"Request expired"),_=(0,mo.payloadId)(),x=it("session_connect",I.id),R=it("session_request",_),A=async({error:e,session:t})=>{this.events.off(R,C),e?O(e):t&&P({session:t})},C=async e=>{var r,i,s;if(await this.deletePendingAuthRequest(_,{message:"fulfilled",code:0}),e.error){const t=_s("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return e.error.code===t.code?void 0:(this.events.off(x,A),O(e.error.message))}await this.deleteProposal(I.id),this.events.off(x,A);const{cacaos:o,responder:a}=e.result,c=[],h=[];for(const e of o){await sr({cacao:e,projectId:this.client.core.projectId})||(this.client.logger.error(e,"Signature verification failed"),O(_s("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:t}=e,r=mr(t.resources),i=[ir(t.iss)],n=nr(t.iss);if(r){const e=gr(r),t=yr(r);c.push(...e),i.push(...t)}for(const e of i)h.push(`${e}:${n}`)}const l=await this.client.core.crypto.generateSharedKey(w,a.publicKey);let u;c.length>0&&(u={topic:l,acknowledged:!0,self:{publicKey:w,metadata:this.client.metadata},peer:a,controller:a.publicKey,expiry:tt(Pu),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:y,namespaces:Is([...new Set(c)],[...new Set(h)]),transportType:n},await this.client.core.relayer.subscribe(l,{transportType:n}),await this.client.session.set(l,u),y&&await this.client.core.pairing.updateMetadata({topic:y,metadata:a.metadata}),u=this.client.session.get(l)),null!=(r=this.client.metadata.redirect)&&r.linkMode&&null!=(i=a.metadata.redirect)&&i.linkMode&&null!=(s=a.metadata.redirect)&&s.universal&&t&&(this.client.core.addLinkModeSupportedApp(a.metadata.redirect.universal),this.client.session.update(l,{transportType:$o.link_mode})),P({auths:o,session:u})};let N;this.events.once(x,A),this.events.once(R,C);try{if(i){const e=(0,mo.formatJsonRpcRequest)("wc_sessionAuthenticate",E,_);this.client.core.history.set(y,e);const r=await this.client.core.crypto.encode("",e,{type:2,encoding:$n});N=cs(t,y,r)}else await Promise.all([this.sendRequest({topic:y,method:"wc_sessionAuthenticate",params:E,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:_}),this.sendRequest({topic:y,method:"wc_sessionPropose",params:I,expiry:Ou.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:I.id})])}catch(e){throw this.events.off(x,A),this.events.off(R,C),e}return await this.setProposal(I.id,I),await this.setAuthRequest(_,{request:$u(Mu({},E),{verifyContext:{}}),pairingTopic:y,transportType:n}),{uri:N??m,response:S}})),zu(this,"approveSessionAuthenticate",(async e=>{const{id:t,auths:r}=e,i=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[Ha]}});try{this.isInitialized()}catch(e){throw i.setError(Za),e}const n=this.getPendingAuthRequest(t);if(!n)throw i.setError(tc),new Error(`Could not find pending auth request with id ${t}`);const s=n.transportType||$o.relay;s===$o.relay&&await this.confirmOnlineStateOrThrow();const o=n.requester.publicKey,a=await this.client.core.crypto.generateKeyPair(),c=Hn(o),h={type:1,receiverPublicKey:o,senderPublicKey:a},l=[],u=[];for(const e of r){if(!await sr({cacao:e,projectId:this.client.core.projectId})){i.setError(Qa);const e=_s("SESSION_SETTLEMENT_FAILED","Signature verification failed");
1throw await this.sendError({id:t,topic:c,error:e,encodeOpts:h}),new Error(e.message)}i.addTrace(Fa);const{p:r}=e,n=mr(r.resources),s=[ir(r.iss)],o=nr(r.iss);if(n){const e=gr(n),t=yr(n);l.push(...e),s.push(...t)}for(const e of s)u.push(`${e}:${o}`)}const d=await this.client.core.crypto.generateSharedKey(a,o);let p;if(i.addTrace(Ka),l?.length>0){p={topic:d,acknowledged:!0,self:{publicKey:a,metadata:this.client.metadata},peer:{publicKey:o,metadata:n.requester.metadata},controller:o,expiry:tt(Pu),authentication:r,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:n.pairingTopic,namespaces:Is([...new Set(l)],[...new Set(u)]),transportType:s},i.addTrace(Ja);try{await this.client.core.relayer.subscribe(d,{transportType:s})}catch(e){throw i.setError(Xa),e}i.addTrace(Ga),await this.client.session.set(d,p),i.addTrace(Wa),await this.client.core.pairing.updateMetadata({topic:n.pairingTopic,metadata:n.requester.metadata})}i.addTrace(Ya);try{await this.sendResult({topic:c,id:t,result:{cacaos:r,responder:{publicKey:a,metadata:this.client.metadata}},encodeOpts:h,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(n.requester.metadata,s)})}catch(e){throw i.setError(ec),e}return await this.client.auth.requests.delete(t,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:n.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:i.eventId}),{session:p}})),zu(this,"rejectSessionAuthenticate",(async e=>{this.isInitialized();const{id:t,reason:r}=e,i=this.getPendingAuthRequest(t);if(!i)throw new Error(`Could not find pending auth request with id ${t}`);i.transportType===$o.relay&&await this.confirmOnlineStateOrThrow();const n=i.requester.publicKey,s=await this.client.core.crypto.generateKeyPair(),o=Hn(n),a={type:1,receiverPublicKey:n,senderPublicKey:s};await this.sendError({id:t,topic:o,error:r,encodeOpts:a,rpcOpts:Ou.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(t,{message:"rejected",code:0}),await this.client.proposal.delete(t,_s("USER_DISCONNECTED"))})),zu(this,"formatAuthMessage",(e=>{this.isInitialized();const{request:t,iss:r}=e;return or(t,r)})),zu(this,"processRelayMessageCache",(()=>{setTimeout((async()=>{if(0!==this.relayMessageCache.length)for(;this.relayMessageCache.length>0;)try{const e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}}),50)})),zu(this,"cleanupDuplicatePairings",(async e=>{if(e.pairingTopic)try{const t=this.client.core.pairing.pairings.get(e.pairingTopic),r=this.client.core.pairing.pairings.getAll().filter((r=>{var i,n;return(null==(i=r.peerMetadata)?void 0:i.url)&&(null==(n=r.peerMetadata)?void 0:n.url)===e.peer.metadata.url&&r.topic&&r.topic!==t.topic}));if(0===r.length)return;this.client.logger.info(`Cleaning up ${r.length} duplicate pairing(s)`),await Promise.all(r.map((e=>this.client.core.pairing.disconnect({topic:e.topic})))),this.client.logger.info("Duplicate pairings clean up finished")}catch(e){this.client.logger.error(e)}})),zu(this,"deleteSession",(async e=>{var t;const{topic:r,expirerHasDeleted:i=!1,emitEvent:n=!0,id:s=0}=e,{self:o}=this.client.session.get(r);await this.client.core.relayer.unsubscribe(r),await this.client.session.delete(r,_s("USER_DISCONNECTED")),this.addToRecentlyDeleted(r,"session"),this.client.core.crypto.keychain.has(o.publicKey)&&await this.client.core.crypto.deleteKeyPair(o.publicKey),this.client.core.crypto.keychain.has(r)&&await this.client.core.crypto.deleteSymKey(r),i||this.client.core.expirer.del(r),this.client.core.storage.removeItem(Iu).catch((e=>this.client.logger.warn(e))),this.getPendingSessionRequests().forEach((e=>{e.topic===r&&this.deletePendingSessionRequest(e.id,_s("USER_DISCONNECTED"))})),r===(null==(t=this.sessionRequestQueue.queue[0])?void 0:t.topic)&&(this.sessionRequestQueue.state=xu),n&&this.client.events.emit("session_delete",{id:s,topic:r})})),zu(this,"deleteProposal",(async(e,t)=>{if(t)try{const t=this.client.proposal.get(e);this.client.core.eventClient.getEvent({topic:t.pairingTopic})?.setError(qa)}catch{}await Promise.all([this.client.proposal.delete(e,_s("USER_DISCONNECTED")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"proposal")}
1)),zu(this,"deletePendingSessionRequest",(async(e,t,r=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),r?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter((t=>t.id!==e)),r&&(this.sessionRequestQueue.state=xu,this.client.events.emit("session_request_expire",{id:e}))})),zu(this,"deletePendingAuthRequest",(async(e,t,r=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),r?Promise.resolve():this.client.core.expirer.del(e)])})),zu(this,"setExpiry",(async(e,t)=>{this.client.session.keys.includes(e)&&(this.client.core.expirer.set(e,t),await this.client.session.update(e,{expiry:t}))})),zu(this,"setProposal",(async(e,t)=>{this.client.core.expirer.set(e,tt(Ou.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)})),zu(this,"setAuthRequest",(async(e,t)=>{const{request:r,pairingTopic:i,transportType:n=$o.relay}=t;this.client.core.expirer.set(e,r.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:r.authPayload,requester:r.requester,expiryTimestamp:r.expiryTimestamp,id:e,pairingTopic:i,verifyContext:r.verifyContext,transportType:n})})),zu(this,"setPendingSessionRequest",(async e=>{const{id:t,topic:r,params:i,verifyContext:n}=e,s=i.request.expiryTimestamp||tt(Ou.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,s),await this.client.pendingRequest.set(t,{id:t,topic:r,params:i,verifyContext:n})})),zu(this,"sendRequest",(async e=>{const{topic:t,method:i,params:n,expiry:s,relayRpcId:o,clientRpcId:a,throwOnFailedPublish:c,appLink:h,tvf:l}=e,u=(0,mo.formatJsonRpcRequest)(i,n,a);let d;const p=!!h;try{const e=p?$n:Mn;d=await this.client.core.crypto.encode(t,u,{encoding:e})}catch(e){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),e}let f;if(Cu.includes(i)){const e=Kn(JSON.stringify(u)),t=Kn(d);f=await this.client.core.verify.register({id:t,decryptedId:e})}const g=Ou[i].req;if(g.attestation=f,s&&(g.ttl=s),o&&(g.id=o),this.client.core.history.set(t,u),p){const e=cs(h,t,d);await r.g.Linking.openURL(e,this.client.name)}else{const e=Ou[i].req;s&&(e.ttl=s),o&&(e.id=o),e.tvf=$u(Mu({},l),{correlationId:u.id}),c?(e.internal=$u(Mu({},e.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,d,e)):this.client.core.relayer.publish(t,d,e).catch((e=>this.client.logger.error(e)))}return u.id})),zu(this,"sendResult",(async e=>{const{id:t,topic:i,result:n,throwOnFailedPublish:s,encodeOpts:o,appLink:a}=e,c=(0,mo.formatJsonRpcResult)(t,n);let h;const l=a&&typeof(null==r.g?void 0:r.g.Linking)<"u";try{const e=l?$n:Mn;h=await this.client.core.crypto.encode(i,c,$u(Mu({},o||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${i} failed`),e}let u,d;try{u=await this.client.core.history.get(i,t);const e=u.request;try{this.shouldSetTVF(e.method,e.params)&&(d=this.getTVFParams(t,e.params,n))}catch(e){this.client.logger.warn("sendResult() -> getTVFParams() failed",e)}}catch(e){throw this.client.logger.error(`sendResult() -> history.get(${i}, ${t}) failed`),e}if(l){const e=cs(a,i,h);await r.g.Linking.openURL(e,this.client.name)}else{const e=u.request.method,r=Ou[e].res;r.tvf=$u(Mu({},d),{correlationId:t}),s?(r.internal=$u(Mu({},r.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(i,h,r)):this.client.core.relayer.publish(i,h,r).catch((e=>this.client.logger.error(e)))}await this.client.core.history.resolve(c)})),zu(this,"sendError",(async e=>{const{id:t,topic:i,error:n,encodeOpts:s,rpcOpts:o,appLink:a}=e,c=(0,mo.formatJsonRpcError)(t,n);let h;const l=a&&typeof(null==r.g?void 0:r.g.Linking)<"u";try{const e=l?$n:Mn;h=await this.client.core.crypto.encode(i,c,$u(Mu({},s||{}),{encoding:e}))}catch(e){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${i} failed`),e}let u;try{u=await this.client.core.history.get(i,t)}catch(e){throw this.client.logger.error(`sendError() -> history.get(${i}, ${t}) failed`),e}if(l){const e=cs(a,i,h);await r.g.Linking.openURL(e,this.client.name)}else{const e=u.request.method,t=o||Ou[e].res;this.client.core.relayer.publish(i,h,t)}await this.client.core.history.resolve(c)})),zu(this,"cleanup",(async()=>{const e=[],t=[];
1this.client.session.getAll().forEach((t=>{let r=!1;rt(t.expiry)&&(r=!0),this.client.core.crypto.keychain.has(t.topic)||(r=!0),r&&e.push(t.topic)})),this.client.proposal.getAll().forEach((e=>{rt(e.expiryTimestamp)&&t.push(e.id)})),await Promise.all([...e.map((e=>this.deleteSession({topic:e}))),...t.map((e=>this.deleteProposal(e)))])})),zu(this,"onProviderMessageEvent",(async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)})),zu(this,"onRelayEventRequest",(async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()})),zu(this,"processRequestsQueue",(async()=>{if(this.requestQueue.state!==Ru){for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=Ru;const e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(e){this.client.logger.warn(e)}}this.requestQueue.state=xu}else this.client.logger.info("Request queue already active, skipping...")}
1)),zu(this,"processRequest",(async e=>{const{topic:t,payload:r,attestation:i,transportType:n,encryptedId:s}=e,o=r.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:o}))switch(o){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:t,payload:r,attestation:i,encryptedId:s});case"wc_sessionSettle":return await this.onSessionSettleRequest(t,r);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(t,r);case"wc_sessionExtend":return await this.onSessionExtendRequest(t,r);case"wc_sessionPing":return await this.onSessionPingRequest(t,r);case"wc_sessionDelete":return await this.onSessionDeleteRequest(t,r);case"wc_sessionRequest":return await this.onSessionRequest({topic:t,payload:r,attestation:i,encryptedId:s,transportType:n});case"wc_sessionEvent":return await this.onSessionEventRequest(t,r);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:t,payload:r,attestation:i,encryptedId:s,transportType:n});default:return this.client.logger.info(`Unsupported request method ${o}`)}})),zu(this,"onRelayEventResponse",(async e=>{const{topic:t,payload:r,transportType:i}=e,n=(await this.client.core.history.get(t,r.id)).request.method;switch(n){case"wc_sessionPropose":return this.onSessionProposeResponse(t,r,i);case"wc_sessionSettle":return this.onSessionSettleResponse(t,r);case"wc_sessionUpdate":return this.onSessionUpdateResponse(t,r);case"wc_sessionExtend":return this.onSessionExtendResponse(t,r);case"wc_sessionPing":return this.onSessionPingResponse(t,r);case"wc_sessionRequest":return this.onSessionRequestResponse(t,r);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(t,r);default:return this.client.logger.info(`Unsupported response method ${n}`)}})),zu(this,"onRelayEventUnknownPayload",(e=>{const{topic:t}=e,{message:r}=Os("MISSING_OR_INVALID",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw new Error(r)})),zu(this,"shouldIgnorePairingRequest",(e=>{const{topic:t,requestMethod:r}=e,i=this.expectedPairingMethodMap.get(t);return!(!i||i.includes(r))&&!!(i.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)})),zu(this,"onSessionProposeRequest",(async e=>{const{topic:t,payload:r,attestation:i,encryptedId:n}=e,{params:s,id:o}=r;try{const e=this.client.core.eventClient.getEvent({topic:t});0===this.client.events.listenerCount("session_proposal")&&(console.warn("No listener for session_proposal event"),e?.setError(xa)),this.isValidConnect(Mu({},r.params));const a=s.expiryTimestamp||tt(Ou.wc_sessionPropose.req.ttl),c=Mu({id:o,pairingTopic:t,expiryTimestamp:a},s);await this.setProposal(o,c);const h=await this.getVerifyContext({attestationId:i,hash:Kn(JSON.stringify(r)),encryptedId:n,metadata:c.proposer.metadata});e?.addTrace(Ea),this.client.events.emit("session_proposal",{id:o,params:c,verifyContext:h})}catch(e){await this.sendError({id:o,topic:t,error:e,rpcOpts:Ou.wc_sessionPropose.autoReject}),this.client.logger.error(e)}})),zu(this,"onSessionProposeResponse",(async(e,t,r)=>{const{id:i}=t;if((0,mo.isJsonRpcResult)(t)){const{result:n}=t;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:n});const s=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:s});const o=s.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:o});const a=n.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:a});const c=await this.client.core.crypto.generateSharedKey(o,a);this.pendingSessions.set(i,{sessionTopic:c,pairingTopic:e,proposalId:i,publicKey:o});const h=await this.client.core.relayer.subscribe(c,{transportType:r});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:h}),await this.client.core.pairing.activate({topic:e})}else if((0,mo.isJsonRpcError)(t)){await this.client.proposal.delete(i,_s("USER_DISCONNECTED"));const e=it("session_connect",i);if(0===this.events.listenerCount(e))throw new Error(`emitting ${e} without any listeners, 954`);this.events.emit(e,{error:t.error})}})),zu(this,"onSessionSettleRequest",(async(e,t)=>{const{id:r,params:i}=t;try{this.isValidSessionSettleRequest(i);const{relay:r,controller:n,expiry:s,namespaces:o,sessionProperties:a,scopedProperties:c,sessionConfig:h}=t.params,l=[...this.pendingSessions.values()].find((t=>t.sessionTopic===e));if(!l)return this.client.logger.error(`Pending session not found for topic ${e}`);const u=this.client.proposal.get(l.proposalId),d=$u(Mu(Mu(Mu({topic:e,relay:r,expiry:s,namespaces:o,acknowledged:!0,pairingTopic:l.pairingTopic,requiredNamespaces:u.requiredNamespaces,optionalNamespaces:u.optionalNamespaces,controller:n.publicKey,self:{publicKey:l.publicKey,metadata:this.client.metadata},peer:{publicKey:n.publicKey,metadata:n.metadata}},a&&{sessionProperties:a}),c&&{scopedProperties:c}),h&&{sessionConfig:h}),{transportType:$o.relay});await this.client.session.set(d.topic,d),await this.setExpiry(d.topic,d.expiry),await this.client.core.pairing.updateMetadata({topic:l.pairingTopic,metadata:d.peer.metadata}),this.client.events.emit("session_connect",{session:d}),this.events.emit(it("session_connect",l.proposalId),{session:d}),this.pendingSessions.delete(l.proposalId),this.deleteProposal(l.proposalId,!1),this.cleanupDupl
1icatePairings(d),await this.sendResult({id:t.id,topic:e,result:!0,throwOnFailedPublish:!0})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}})),zu(this,"onSessionSettleResponse",(async(e,t)=>{const{id:r}=t;(0,mo.isJsonRpcResult)(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit(it("session_approve",r),{})):(0,mo.isJsonRpcError)(t)&&(await this.client.session.delete(e,_s("USER_DISCONNECTED")),this.events.emit(it("session_approve",r),{error:t.error}))})),zu(this,"onSessionUpdateRequest",(async(e,t)=>{const{params:r,id:i}=t;try{const t=`${e}_session_update`,n=Js.get(t);if(n&&this.isRequestOutOfSync(n,i))return this.client.logger.warn(`Discarding out of sync request - ${i}`),void this.sendError({id:i,topic:e,error:_s("INVALID_UPDATE_REQUEST")});this.isValidUpdate(Mu({topic:e},r));try{Js.set(t,i),await this.client.session.update(e,{namespaces:r.namespaces}),await this.sendResult({id:i,topic:e,result:!0,throwOnFailedPublish:!0})}catch(e){throw Js.delete(t),e}this.client.events.emit("session_update",{id:i,topic:e,params:r})}catch(t){await this.sendError({id:i,topic:e,error:t}),this.client.logger.error(t)}})),zu(this,"isRequestOutOfSync",((e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3))),zu(this,"onSessionUpdateResponse",((e,t)=>{const{id:r}=t,i=it("session_update",r);if(0===this.events.listenerCount(i))throw new Error(`emitting ${i} without any listeners`);(0,mo.isJsonRpcResult)(t)?this.events.emit(it("session_update",r),{}):(0,mo.isJsonRpcError)(t)&&this.events.emit(it("session_update",r),{error:t.error})})),zu(this,"onSessionExtendRequest",(async(e,t)=>{const{id:r}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,tt(Pu)),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_extend",{id:r,topic:e})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}})),zu(this,"onSessionExtendResponse",((e,t)=>{const{id:r}=t,i=it("session_extend",r);if(0===this.events.listenerCount(i))throw new Error(`emitting ${i} without any listeners`);(0,mo.isJsonRpcResult)(t)?this.events.emit(it("session_extend",r),{}):(0,mo.isJsonRpcError)(t)&&this.events.emit(it("session_extend",r),{error:t.error})})),zu(this,"onSessionPingRequest",(async(e,t)=>{const{id:r}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:r,topic:e})}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}})),zu(this,"onSessionPingResponse",((e,t)=>{const{id:r}=t,i=it("session_ping",r);setTimeout((()=>{if(0===this.events.listenerCount(i))throw new Error(`emitting ${i} without any listeners 2176`);(0,mo.isJsonRpcResult)(t)?this.events.emit(it("session_ping",r),{}):(0,mo.isJsonRpcError)(t)&&this.events.emit(it("session_ping",r),{error:t.error})}),500)})),zu(this,"onSessionDeleteRequest",(async(e,t)=>{const{id:r}=t;try{this.isValidDisconnect({topic:e,reason:t.params}),Promise.all([new Promise((t=>{this.client.core.relayer.once(Uo,(async()=>{t(await this.deleteSession({topic:e,id:r}))}))})),this.sendResult({id:r,topic:e,result:!0,throwOnFailedPublish:!0}),this.cleanupPendingSentRequestsForTopic({topic:e,error:_s("USER_DISCONNECTED")})]).catch((e=>this.client.logger.error(e)))}catch(e){this.client.logger.error(e)}})),zu(this,"onSessionRequest",(async e=>{var t,r,i;const{topic:n,payload:s,attestation:o,encryptedId:a,transportType:c}=e,{id:h,params:l}=s;try{await this.isValidRequest(Mu({topic:n},l));const e=this.client.session.get(n),s={id:h,topic:n,params:l,verifyContext:await this.getVerifyContext({attestationId:o,hash:Kn(JSON.stringify((0,mo.formatJsonRpcRequest)("wc_sessionRequest",l,h))),encryptedId:a,metadata:e.peer.metadata,transportType:c})};await this.setPendingSessionRequest(s),c===$o.link_mode&&null!=(t=e.peer.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(null==(r=e.peer.metadata.redirect)?void 0:r.universal),null!=(i=this.client.signConfig)&&i.disableRequestQueue?this.emitSessionRequest(s):(this.addSessionRequestToSessionRequestQueue(s),this.processSessionRequestQueue())}
1catch(e){await this.sendError({id:h,topic:n,error:e}),this.client.logger.error(e)}})),zu(this,"onSessionRequestResponse",((e,t)=>{const{id:r}=t,i=it("session_request",r);if(0===this.events.listenerCount(i))throw new Error(`emitting ${i} without any listeners`);(0,mo.isJsonRpcResult)(t)?this.events.emit(it("session_request",r),{result:t.result}):(0,mo.isJsonRpcError)(t)&&this.events.emit(it("session_request",r),{error:t.error})})),zu(this,"onSessionEventRequest",(async(e,t)=>{const{id:r,params:i}=t;try{const t=`${e}_session_event_${i.event.name}`,n=Js.get(t);if(n&&this.isRequestOutOfSync(n,r))return void this.client.logger.info(`Discarding out of sync request - ${r}`);this.isValidEmit(Mu({topic:e},i)),this.client.events.emit("session_event",{id:r,topic:e,params:i}),Js.set(t,r)}catch(t){await this.sendError({id:r,topic:e,error:t}),this.client.logger.error(t)}})),zu(this,"onSessionAuthenticateResponse",((e,t)=>{const{id:r}=t;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:e,payload:t}),(0,mo.isJsonRpcResult)(t)?this.events.emit(it("session_request",r),{result:t.result}):(0,mo.isJsonRpcError)(t)&&this.events.emit(it("session_request",r),{error:t.error})})),zu(this,"onSessionAuthenticateRequest",(async e=>{var t;const{topic:r,payload:i,attestation:n,encryptedId:s,transportType:o}=e;try{const{requester:e,authPayload:a,expiryTimestamp:c}=i.params,h=await this.getVerifyContext({attestationId:n,hash:Kn(JSON.stringify(i)),encryptedId:s,metadata:e.metadata,transportType:o}),l={requester:e,pairingTopic:r,id:i.id,authPayload:a,verifyContext:h,expiryTimestamp:c};await this.setAuthRequest(i.id,{request:l,pairingTopic:r,transportType:o}),o===$o.link_mode&&null!=(t=e.metadata.redirect)&&t.universal&&this.client.core.addLinkModeSupportedApp(e.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:r,params:i.params,id:i.id,verifyContext:h})}catch(e){this.client.logger.error(e);const t=i.params.requester.publicKey,n=await this.client.core.crypto.generateKeyPair(),s=this.getAppLinkIfEnabled(i.params.requester.metadata,o),a={type:1,receiverPublicKey:t,senderPublicKey:n};await this.sendError({id:i.id,topic:r,error:e,encodeOpts:a,rpcOpts:Ou.wc_sessionAuthenticate.autoReject,appLink:s})}})),zu(this,"addSessionRequestToSessionRequestQueue",(e=>{this.sessionRequestQueue.queue.push(e)})),zu(this,"cleanupAfterResponse",(e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout((()=>{this.sessionRequestQueue.state=xu,this.processSessionRequestQueue()}),(0,o.toMiliseconds)(this.requestQueueDelay))})),zu(this,"cleanupPendingSentRequestsForTopic",(({topic:e,error:t})=>{const r=this.client.core.history.pending;r.length>0&&r.filter((t=>t.topic===e&&"wc_sessionRequest"===t.request.method)).forEach((e=>{const r=it("session_request",e.request.id);if(0===this.events.listenerCount(r))throw new Error(`emitting ${r} without any listeners`);this.events.emit(it("session_request",e.request.id),{error:t})}))})),zu(this,"processSessionRequestQueue",(()=>{if(this.sessionRequestQueue.state===Ru)return void this.client.logger.info("session request queue is already active.");const e=this.sessionRequestQueue.queue[0];if(e)try{this.sessionRequestQueue.state=Ru,this.emitSessionRequest(e)}catch(e){this.client.logger.error(e)}else this.client.logger.info("session request queue is empty.")})),zu(this,"emitSessionRequest",(e=>{this.client.events.emit("session_request",e)})),zu(this,"onPairingCreated",(e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;const t=this.client.proposal.getAll().find((t=>t.pairingTopic===e.topic));
1t&&this.onSessionProposeRequest({topic:e.topic,payload:(0,mo.formatJsonRpcRequest)("wc_sessionPropose",$u(Mu({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id)})})),zu(this,"isValidConnect",(async e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw new Error(t)}const{pairingTopic:t,requiredNamespaces:r,optionalNamespaces:i,sessionProperties:n,scopedProperties:s,relays:o}=e;if(As(t)||await this.isValidPairingTopic(t),!function(e,t){let r=!1;return t&&!e?r=!0:e&&xs(e)&&e.length&&e.forEach((e=>{r=qs(e)})),r}(o,!0)){const{message:e}=Os("MISSING_OR_INVALID",`connect() relays: ${o}`);throw new Error(e)}if(!As(r)&&0!==Rs(r)){const e="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(e):this.client.logger.warn(e),this.validateNamespaces(r,"requiredNamespaces")}if(!As(i)&&0!==Rs(i)&&this.validateNamespaces(i,"optionalNamespaces"),As(n)||this.validateSessionProps(n,"sessionProperties"),!As(s)){this.validateSessionProps(s,"scopedProperties");const e=Object.keys(r||{}).concat(Object.keys(i||{}));if(!Object.keys(s).every((t=>e.includes(t))))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(s)}, required/optional namespaces: ${JSON.stringify(e)}`)}})),zu(this,"validateNamespaces",((e,t)=>{const r=function(e,t,r){let i=null;if(e&&Rs(e)){const n=Ds(e,t);n&&(i=n);const s=ks(e,t,r);s&&(i=s)}else i=Os("MISSING_OR_INVALID",`${t}, ${r} should be an object with data`);return i}(e,"connect()",t);if(r)throw new Error(r.message)})),zu(this,"isValidApprove",(async e=>{if(!Bs(e))throw new Error(Os("MISSING_OR_INVALID",`approve() params: ${e}`).message);const{id:t,namespaces:r,relayProtocol:i,sessionProperties:n,scopedProperties:s}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);const o=this.client.proposal.get(t),a=Ls(r,"approve()");if(a)throw new Error(a.message);const c=Vs(o.requiredNamespaces,r,"approve()");if(c)throw new Error(c.message);if(!Cs(i,!0)){const{message:e}=Os("MISSING_OR_INVALID",`approve() relayProtocol: ${i}`);throw new Error(e)}if(As(n)||this.validateSessionProps(n,"sessionProperties"),!As(s)){this.validateSessionProps(s,"scopedProperties");const e=new Set(Object.keys(r));if(!Object.keys(s).every((t=>e.has(t))))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(s)}, approved namespaces: ${Array.from(e).join(", ")}`)}})),zu(this,"isValidReject",(async e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`reject() params: ${e}`);throw new Error(t)}const{id:t,reason:r}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!function(e){return!!(e&&"object"==typeof e&&e.code&&Ns(e.code,!1)&&e.message&&Cs(e.message,!1))}(r)){const{message:e}=Os("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(r)}`);throw new Error(e)}})),zu(this,"isValidSessionSettleRequest",(e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw new Error(t)}
1const{relay:t,controller:r,namespaces:i,expiry:n}=e;if(!qs(t)){const{message:e}=Os("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(e)}const s=function(e,t){let r=null;return Cs(e?.publicKey,!1)||(r=Os("MISSING_OR_INVALID",`${t} controller public key should be a string`)),r}(r,"onSessionSettleRequest()");if(s)throw new Error(s.message);const o=Ls(i,"onSessionSettleRequest()");if(o)throw new Error(o.message);if(rt(n)){const{message:e}=Os("EXPIRED","onSessionSettleRequest()");throw new Error(e)}})),zu(this,"isValidUpdate",(async e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`update() params: ${e}`);throw new Error(t)}const{topic:t,namespaces:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const i=this.client.session.get(t),n=Ls(r,"update()");if(n)throw new Error(n.message);const s=Vs(i.requiredNamespaces,r,"update()");if(s)throw new Error(s.message)})),zu(this,"isValidExtend",(async e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`extend() params: ${e}`);throw new Error(t)}const{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)})),zu(this,"isValidRequest",(async e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`request() params: ${e}`);throw new Error(t)}const{topic:t,request:r,chainId:i,expiry:n}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const{namespaces:s}=this.client.session.get(t);if(!Ms(s,i)){const{message:e}=Os("MISSING_OR_INVALID",`request() chainId: ${i}`);throw new Error(e)}if(!function(e){return!(As(e)||!Cs(e.method,!1))}(r)){const{message:e}=Os("MISSING_OR_INVALID",`request() ${JSON.stringify(r)}`);throw new Error(e)}if(!$s(s,i,r.method)){const{message:e}=Os("MISSING_OR_INVALID",`request() method: ${r.method}`);throw new Error(e)}if(n&&!function(e,t){return Ns(e,!1)&&e<=t.max&&e>=t.min}(n,_u)){const{message:e}=Os("MISSING_OR_INVALID",`request() expiry: ${n}. Expiry must be a number (in seconds) between ${_u.min} and ${_u.max}`);throw new Error(e)}})),zu(this,"isValidRespond",(async e=>{var t;if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`respond() params: ${e}`);throw new Error(t)}const{topic:r,response:i}=e;try{await this.isValidSessionTopic(r)}catch(r){throw null!=(t=e?.response)&&t.id&&this.cleanupAfterResponse(e),r}if(!function(e){return!(As(e)||As(e.result)&&As(e.error)||!Ns(e.id,!1)||!Cs(e.jsonrpc,!1))}(i)){const{message:e}=Os("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(i)}`);throw new Error(e)}})),zu(this,"isValidPing",(async e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`ping() params: ${e}`);throw new Error(t)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)})),zu(this,"isValidEmit",(async e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`emit() params: ${e}`);throw new Error(t)}const{topic:t,event:r,chainId:i}=e;await this.isValidSessionTopic(t);const{namespaces:n}=this.client.session.get(t);if(!Ms(n,i)){const{message:e}=Os("MISSING_OR_INVALID",`emit() chainId: ${i}`);throw new Error(e)}if(!function(e){return!(As(e)||!Cs(e.name,!1))}(r)){const{message:e}=Os("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(r)}`);throw new Error(e)}if(!zs(n,i,r.name)){const{message:e}=Os("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(r)}`);throw new Error(e)}})),zu(this,"isValidDisconnect",(async e=>{if(!Bs(e)){const{message:t}=Os("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw new Error(t)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)})),zu(this,"isValidAuthenticate",(e=>{const{chains:t,uri:r,domain:i,nonce:n}=e;if(!Array.isArray(t)||0===t.length)throw new Error("chains is required and must be a non-empty array");if(!Cs(r,!1))throw new Error("uri is required parameter");if(!Cs(i,!1))throw new Error("domain is required parameter");if(!Cs(n,!1))throw new Error("nonce is required parameter");if([...new Set(t.map((e=>Se(e).namespace)))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:s}=Se(t[0]);if("eip155"!==s)throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}
1)),zu(this,"getVerifyContext",(async e=>{const{attestationId:t,hash:r,encryptedId:i,metadata:n,transportType:s}=e,o={verified:{verifyUrl:n.verifyUrl||ha,validation:"UNKNOWN",origin:n.url||""}};try{if(s===$o.link_mode){const e=this.getAppLinkIfEnabled(n,s);return o.verified.validation=e&&new URL(e).origin===new URL(n.url).origin?"VALID":"INVALID",o}const e=await this.client.core.verify.resolve({attestationId:t,hash:r,encryptedId:i,verifyUrl:n.verifyUrl});e&&(o.verified.origin=e.origin,o.verified.isScam=e.isScam,o.verified.validation=e.origin===new URL(n.url).origin?"VALID":"INVALID")}catch(e){this.client.logger.warn(e)}return this.client.logger.debug(`Verify context: ${JSON.stringify(o)}`),o})),zu(this,"validateSessionProps",((e,t)=>{Object.values(e).forEach(((r,i)=>{if(null==r){const{message:n}=Os("MISSING_OR_INVALID",`${t} must contain an existing value for each key. Received: ${r} for key ${Object.keys(e)[i]}`);throw new Error(n)}}))})),zu(this,"getPendingAuthRequest",(e=>{const t=this.client.auth.requests.get(e);return"object"==typeof t?t:void 0})),zu(this,"addToRecentlyDeleted",((e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let e=0;const t=this.recentlyDeletedLimit/2;for(const r of this.recentlyDeletedMap.keys()){if(e++>=t)break;this.recentlyDeletedMap.delete(r)}}})),zu(this,"checkRecentlyDeleted",(e=>{const t=this.recentlyDeletedMap.get(e);if(t){const{message:r}=Os("MISSING_OR_INVALID",`Record was recently deleted - ${t}: ${e}`);throw new Error(r)}})),zu(this,"isLinkModeEnabled",((e,t)=>{var i,n,s,o,a,c,h,l,u;return!(!e||t!==$o.link_mode)&&(!0===(null==(n=null==(i=this.client.metadata)?void 0:i.redirect)?void 0:n.linkMode)&&void 0!==(null==(o=null==(s=this.client.metadata)?void 0:s.redirect)?void 0:o.universal)&&""!==(null==(c=null==(a=this.client.metadata)?void 0:a.redirect)?void 0:c.universal)&&void 0!==(null==(h=e?.redirect)?void 0:h.universal)&&""!==(null==(l=e?.redirect)?void 0:l.universal)&&!0===(null==(u=e?.redirect)?void 0:u.linkMode)&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(null==r.g?void 0:r.g.Linking)<"u")})),zu(this,"getAppLinkIfEnabled",((e,t)=>{var r;return this.isLinkModeEnabled(e,t)?null==(r=e?.redirect)?void 0:r.universal:void 0})),zu(this,"handleLinkModeMessage",(({url:e})=>{if(!e||!e.includes("wc_ev")||!e.includes("topic"))return;const t=ot(e,"topic")||"",r=decodeURIComponent(ot(e,"wc_ev")||""),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:$o.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:r,sessionExists:i})})),zu(this,"registerLinkModeListeners",(async()=>{var e;if(ct()||Me()&&null!=(e=this.client.metadata.redirect)&&e.linkMode){const e=null==r.g?void 0:r.g.Linking;if(typeof e<"u"){e.addEventListener("url",this.handleLinkModeMessage,this.client.name);const t=await e.getInitialURL();t&&setTimeout((()=>{this.handleLinkModeMessage({url:t})}),50)}}})),zu(this,"shouldSetTVF",((e,t)=>{if(!t||"wc_sessionRequest"!==e)return!1;const{request:r}=t;return Object.keys(Au).includes(r.method)})),zu(this,"getTVFParams",((e,t,r)=>{var i,n;try{const s=t.request.method,o=this.extractTxHashesFromResult(s,r);return $u(Mu({correlationId:e,rpcMethods:[s],chainId:t.chainId},this.isValidContractData(t.request.params)&&{contractAddresses:[null==(n=null==(i=t.request.params)?void 0:i[0])?void 0:n.to]}),{txHashes:o})}catch(e){this.client.logger.warn("Error getting TVF params",e)}return{}})),zu(this,"isValidContractData",(e=>{var t;if(!e)return!1;try{const r=e?.data||(null==(t=e?.[0])?void 0:t.data);if(!r.startsWith("0x"))return!1;const i=r.slice(2);return!!/^[0-9a-fA-F]*$/.test(i)&&i.length%2==0}catch{}return!1})),zu(this,"extractTxHashesFromResult",((e,t)=>{try{if("string"==typeof t)return[t];const r=t[Au[e].key];if(xs(r))return"solana_signAllTransactions"===e?r.map((e=>function(e){const t=atob(e),r=new Uint8Array(t.length);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);const i=r[0];if(0===i)throw new Error("No signatures found");const n=1+64*i;if(r.length<n)throw new Error("Transaction data too short for claimed signature count");if(r.length<100)throw new Error("Transaction too short");const s=Ee.from(e,"base64").slice(1,65);return ye.Z.encode(s)}(e))):r;if("string"==typeof r)return[r]}catch(e){this.client.logger.warn("Error extracting tx hashes from result",e)}return[]}))}async processPendingMessageEvents(){try{const e=this.client.session.keys,t=this.client.core.relayer.messages.getWithoutAck(e);for(const[e,r]of Object.entries(t))for(const t of r)try{await this.onProviderMessageEvent({topic:e,message:t,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${e}, message: ${t}`)}}catch(e){this.client.logger.warn("processPendingMessageEvents failed",e)}}isInitialized(){if(!this.initialized){const{message:e}=Os("NOT_INITIALIZED",this.name);throw new Error(e)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(Ao,(e=>{this.onProviderMessageEvent(e)}))}async onRelayMessage(e){const{topic:t,message:r,attestation:i,transportType:n}=e,{publicKey:s}=this.client.auth.authKeys.keys.includes(Tu)?this.client.auth.authKeys.get(Tu):{responseTopic:void 0,publicKey:void 0};try{const e=await this.client.core.crypto.decode(t,r,{receiverPublicKey:s,encoding:n===$o.link_mode?$n:Mn});(0,mo.isJsonRpcRequest)(e)?(this.client.core.history.set(t,e),await this.onRelayEventRequest({topic:t,payload:e,attestation:i,transportType:n,encryptedId:Kn(r)})):(0,mo.isJsonRpcResponse)(e)?(await this.client.core.history.resolve(e),await this.onRelayEventResponse({topic:t,payload:e,transportType:n}),this.client.core.history.delete(t,e.id)):await this.onRelayEventUnknownPayload({topic:t,payload:e,transportType:n}),await this.client.core.relayer.messages.ack(t,r)}catch(e){this.client.logger.error(e)}}registerExpirerEvents(){this.client.core.expirer.on(oa,(async e=>
1{const{topic:t,id:r}=et(e.target);return r&&this.client.pendingRequest.keys.includes(r)?await this.deletePendingSessionRequest(r,Os("EXPIRED"),!0):r&&this.client.auth.requests.keys.includes(r)?await this.deletePendingAuthRequest(r,Os("EXPIRED"),!0):void(t?this.client.session.keys.includes(t)&&(await this.deleteSession({topic:t,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:t})):r&&(await this.deleteProposal(r,!0),this.client.events.emit("proposal_expire",{id:r})))}))}registerPairingEvents(){this.client.core.pairing.events.on(Yo,(e=>this.onPairingCreated(e))),this.client.core.pairing.events.on(Qo,(e=>{this.addToRecentlyDeleted(e.topic,"pairing")}))}isValidPairingTopic(e){if(!Cs(e,!1)){const{message:t}=Os("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}=Os("NO_MATCHING_KEY",`pairing topic doesn't exist: ${e}`);throw new Error(t)}if(rt(this.client.core.pairing.pairings.get(e).expiry)){const{message:t}=Os("EXPIRED",`pairing topic: ${e}`);throw new Error(t)}}async isValidSessionTopic(e){if(!Cs(e,!1)){const{message:t}=Os("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}=Os("NO_MATCHING_KEY",`session topic doesn't exist: ${e}`);throw new Error(t)}if(rt(this.client.session.get(e).expiry)){await this.deleteSession({topic:e});const{message:t}=Os("EXPIRED",`session topic: ${e}`);throw new Error(t)}if(!this.client.core.crypto.keychain.has(e)){const{message:t}=Os("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)){if(Cs(e,!1)){const{message:t}=Os("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${e}`);throw new Error(t)}{const{message:t}=Os("MISSING_OR_INVALID",`session or pairing topic should be a string: ${e}`);throw new Error(t)}}this.isValidPairingTopic(e)}}async isValidProposalId(e){if(!function(e){return"number"==typeof e}(e)){const{message:t}=Os("MISSING_OR_INVALID",`proposal id should be a number: ${e}`);throw new Error(t)}if(!this.client.proposal.keys.includes(e)){const{message:t}=Os("NO_MATCHING_KEY",`proposal id doesn't exist: ${e}`);throw new Error(t)}if(rt(this.client.proposal.get(e).expiryTimestamp)){await this.deleteProposal(e);const{message:t}=Os("EXPIRED",`proposal id: ${e}`);throw new Error(t)}}}class Hu extends Ul{constructor(e,t){super(e,t,"proposal",bu),this.core=e,this.logger=t}}class Ku extends Ul{constructor(e,t){super(e,t,"session",bu),this.core=e,this.logger=t}}class Fu extends Ul{constructor(e,t){super(e,t,"request",bu,(e=>e.id)),this.core=e,this.logger=t}}class Wu extends Ul{constructor(e,t){super(e,t,"authKeys",Nu,(()=>Tu)),this.core=e,this.logger=t}}class Ju extends Ul{constructor(e,t){super(e,t,"pairingTopics",Nu),this.core=e,this.logger=t}}class Gu extends Ul{constructor(e,t){super(e,t,"requests",Nu,(e=>e.id)),this.core=e,this.logger=t}}var Yu=Object.defineProperty,Zu=(e,t,r)=>((e,t,r)=>t in e?Yu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Qu{constructor(e,t){this.core=e,this.logger=t,Zu(this,"authKeys"),Zu(this,"pairingTopics"),Zu(this,"requests"),this.authKeys=new Wu(this.core,this.logger),this.pairingTopics=new Ju(this.core,this.logger),this.requests=new Gu(this.core,this.logger)}
1async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var Xu=Object.defineProperty,ed=(e,t,r)=>((e,t,r)=>t in e?Xu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class td extends yu{constructor(e){super(e),ed(this,"protocol","wc"),ed(this,"version",2),ed(this,"name",vu),ed(this,"metadata"),ed(this,"core"),ed(this,"logger"),ed(this,"events",new i.EventEmitter),ed(this,"engine"),ed(this,"session"),ed(this,"proposal"),ed(this,"pendingRequest"),ed(this,"auth"),ed(this,"signConfig"),ed(this,"on",((e,t)=>this.events.on(e,t))),ed(this,"once",((e,t)=>this.events.once(e,t))),ed(this,"off",((e,t)=>this.events.off(e,t))),ed(this,"removeListener",((e,t)=>this.events.removeListener(e,t))),ed(this,"removeAllListeners",(e=>this.events.removeAllListeners(e))),ed(this,"connect",(async e=>{try{return await this.engine.connect(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"pair",(async e=>{try{return await this.engine.pair(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"approve",(async e=>{try{return await this.engine.approve(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"reject",(async e=>{try{return await this.engine.reject(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"update",(async e=>{try{return await this.engine.update(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"extend",(async e=>{try{return await this.engine.extend(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"request",(async e=>{try{return await this.engine.request(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"respond",(async e=>{try{return await this.engine.respond(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"ping",(async e=>{try{return await this.engine.ping(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"emit",(async e=>{try{return await this.engine.emit(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"disconnect",(async e=>{try{return await this.engine.disconnect(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"find",(e=>{try{return this.engine.find(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"getPendingSessionRequests",(()=>{try{return this.engine.getPendingSessionRequests()}catch(e){throw this.logger.error(e.message),e}})),ed(this,"authenticate",(async(e,t)=>{try{return await this.engine.authenticate(e,t)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"formatAuthMessage",(e=>{try{return this.engine.formatAuthMessage(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"approveSessionAuthenticate",(async e=>{try{return await this.engine.approveSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}})),ed(this,"rejectSessionAuthenticate",(async e=>{try{return await this.engine.rejectSessionAuthenticate(e)}catch(e){throw this.logger.error(e.message),e}})),this.name=e?.name||vu,this.metadata=He(e?.metadata),this.signConfig=e?.signConfig;const t=typeof e?.logger<"u"&&"string"!=typeof e?.logger?e.logger:(0,Zs.gw)((0,Zs.jI)({level:e?.logger||Eu}));this.core=e?.core||new pu(e),this.logger=(0,Zs.Ep)(t,this.name),this.session=new Ku(this.core,this.logger),this.proposal=new Hu(this.core,this.logger),this.pendingRequest=new Fu(this.core,this.logger),this.engine=new Vu(this),this.auth=new Qu(this.core,this.logger)}static async init(e){const t=new td(e);return await t.initialize(),t}get context(){return(0,Zs.Fd)(this.logger)}get pairing(){return this.core.pairing.pairings}async initialize(){this.logger.trace("Initialized");try{await this.core.start(),await this.session.init(),await this.proposal.init(),await this.pendingRequest.init(),await this.auth.init(),await this.engine.init(),this.logger.info("SignClient Initialization Success"),setTimeout((()=>{this.engine.processRelayMessageCache()}),(0,o.toMiliseconds)(o.ONE_SECOND))}catch(e){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(e.message),e}}}var rd=r(88900),id=r(48764).Buffer;const nd="error",sd="wc@2:universal_provider:",od="https://rpc.walletconnect.org/v1/",ad="generic",cd=`${od}bundler`,hd="default_chain_changed";function ld(){}function ud(e){return null==e||"object"!=typeof e&&"function"!=typeof e}function dd(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function pd(e){return"object"==typeof e&&null!==e}function fd(e){return Object.getOwnPropertySymbols(e).filter((t=>Object.prototype.propertyIsEnumerable.call(e,t)))}
1function gd(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const yd="[object RegExp]",md="[object String]",wd="[object Number]",bd="[object Boolean]",vd="[object Arguments]",Ed="[object Symbol]",Id="[object Date]",Sd="[object Map]",Pd="[object Set]",Od="[object Array]",_d="[object ArrayBuffer]",xd="[object Object]",Rd="[object DataView]",Ad="[object Uint8Array]",Cd="[object Uint8ClampedArray]",Nd="[object Uint16Array]",Td="[object Uint32Array]",jd="[object Int8Array]",kd="[object Int16Array]",Ud="[object Int32Array]",Dd="[object Float32Array]",Ld="[object Float64Array]";function qd(e,t,r,i=new Map,n){const s=n?.(e,t,r,i);if(null!=s)return s;if(ud(e))return e;if(i.has(e))return i.get(e);if(Array.isArray(e)){const t=new Array(e.length);i.set(e,t);for(let s=0;s<e.length;s++)t[s]=qd(e[s],s,r,i,n);return Object.hasOwn(e,"index")&&(t.index=e.index),Object.hasOwn(e,"input")&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){const t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){const t=new Map;i.set(e,t);for(const[s,o]of e)t.set(s,qd(o,s,r,i,n));return t}if(e instanceof Set){const t=new Set;i.set(e,t);for(const s of e)t.add(qd(s,void 0,r,i,n));return t}if(typeof id<"u"&&id.isBuffer(e))return e.subarray();if(dd(e)){const t=new(Object.getPrototypeOf(e).constructor)(e.length);i.set(e,t);for(let s=0;s<e.length;s++)t[s]=qd(e[s],s,r,i,n);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){const t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return i.set(e,t),Bd(t,e,r,i,n),t}if(typeof File<"u"&&e instanceof File){const t=new File([e],e.name,{type:e.type});return i.set(e,t),Bd(t,e,r,i,n),t}if(e instanceof Blob){const t=new Blob([e],{type:e.type});return i.set(e,t),Bd(t,e,r,i,n),t}if(e instanceof Error){const t=new e.constructor;return i.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,Bd(t,e,r,i,n),t}if("object"==typeof e&&function(e){switch(gd(e)){case vd:case Od:case _d:case Rd:case bd:case Id:case Dd:case Ld:case jd:case kd:case Ud:case Sd:case wd:case xd:case yd:case Pd:case md:case Ed:case Ad:case Cd:case Nd:case Td:return!0;default:return!1}}(e)){const t=Object.create(Object.getPrototypeOf(e));return i.set(e,t),Bd(t,e,r,i,n),t}return e}function Bd(e,t,r=e,i,n){const s=[...Object.keys(t),...fd(t)];for(let o=0;o<s.length;o++){const a=s[o],c=Object.getOwnPropertyDescriptor(e,a);(null==c||c.writable)&&(e[a]=qd(t[a],a,r,i,n))}}function Md(e,t){return function(e,t){return qd(e,void 0,e,new Map,t)}(e,((r,i,n,s)=>{const o=t?.(r,i,n,s);if(null!=o)return o;if("object"==typeof e)switch(Object.prototype.toString.call(e)){case wd:case md:case bd:{const t=new e.constructor(e?.valueOf());return Bd(t,e),t}case vd:{const t={};return Bd(t,e),t.length=e.length,t[Symbol.iterator]=e[Symbol.iterator],t}default:return}}))}function $d(e){return Md(e)}function zd(e){return null!==e&&"object"==typeof e&&"[object Arguments]"===gd(e)}function Vd(e){return dd(e)}function Hd(e){if("object"!=typeof e||null==e)return!1;if(null===Object.getPrototypeOf(e))return!0;if("[object Object]"!==Object.prototype.toString.call(e)){const t=e[Symbol.toStringTag];return!(null==t||!Object.getOwnPropertyDescriptor(e,Symbol.toStringTag)?.writable)&&e.toString()===`[object ${t}]`}let t=e;for(;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function Kd(e,t,r,i){if(ud(e)&&(e=Object(e)),null==t||"object"!=typeof t)return e;if(i.has(t))return function(e){if(ud(e))return e;if(Array.isArray(e)||dd(e)||e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);const t=Object.getPrototypeOf(e),r=t.constructor;if(e instanceof Date||e instanceof Map||e instanceof Set)return new r(e);if(e instanceof RegExp){const t=new r(e);return t.lastIndex=e.lastIndex,t}if(e instanceof DataView)return new r(e.buffer.slice(0));if(e instanceof Error){const t=new r(e.message);return t.stack=e.stack,t.name=e.name,t.cause=e.cause,t}if(typeof File<"u"&&e instanceof File)return new r([e],e.name,{type:e.type,lastModified:e.lastModified});if("object"==typeof e){const r=Object.create(t);return Object.assign(r,e)}return e}(i.get(t));if(i.set(t,e),Array.isArray(t)){t=t.slice();for(let e=0;e<t.length;e++)t[e]=t[e]??void 0}const n=[...Object.keys(t),...fd(t)];for(let s=0;s<n.length;s++){const o=n[s];let a=t[o],c=e[o];if(zd(a)&&(a={...a}),zd(c)&&(c={...c}),typeof id<"u"&&id.isBuffer(a)&&(a=$d(a)),Array.isArray(a))if("object"==typeof c&&null!=c){const e=[],t=Reflect.ownKeys(c);for(let r=0;r<t.length;r++){const i=t[r];e[i]=c[i]}c=e}else c=[];const h=r(c,a,o,e,t,i);null!=h?e[o]=h:Array.isArray(a)||pd(c)&&pd(a)?e[o]=Kd(c,a,r,i):null==c&&Hd(a)?e[o]=Kd({}
1,a,r,i):null==c&&Vd(a)?e[o]=$d(a):(void 0===c||void 0!==a)&&(e[o]=a)}return e}function Fd(e,...t){return function(e,...t){const r=t.slice(0,-1),i=t[t.length-1];let n=e;for(let e=0;e<r.length;e++)n=Kd(n,r[e],i,new Map);return n}(e,...t,ld)}var Wd=Object.defineProperty,Jd=Object.defineProperties,Gd=Object.getOwnPropertyDescriptors,Yd=Object.getOwnPropertySymbols,Zd=Object.prototype.hasOwnProperty,Qd=Object.prototype.propertyIsEnumerable,Xd=(e,t,r)=>t in e?Wd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ep=(e,t)=>{for(var r in t||(t={}))Zd.call(t,r)&&Xd(e,r,t[r]);if(Yd)for(var r of Yd(t))Qd.call(t,r)&&Xd(e,r,t[r]);return e},tp=(e,t)=>Jd(e,Gd(t));function rp(e,t,r){var i;const n=Se(e);return(null==(i=t.rpcMap)?void 0:i[n.reference])||`${od}?chainId=${n.namespace}:${n.reference}&projectId=${r}`}function ip(e){return e.includes(":")?e.split(":")[1]:e}function np(e){return e.map((e=>`${e.split(":")[0]}:${e.split(":")[1]}`))}function sp(e={},t={}){return Fd(op(e),op(t))}function op(e){var t,r,i,n,s;const o={};if(!Rs(e))return o;for(const[a,c]of Object.entries(e)){const e=bs(a)?[a]:c.chains,h=c.methods||[],l=c.events||[],u=c.rpcMap||{},d=vs(a);o[d]=tp(ep(ep({},o[d]),c),{chains:nt(e,null==(t=o[d])?void 0:t.chains),methods:nt(h,null==(r=o[d])?void 0:r.methods),events:nt(l,null==(i=o[d])?void 0:i.events)}),(Rs(u)||Rs((null==(n=o[d])?void 0:n.rpcMap)||{}))&&(o[d].rpcMap=ep(ep({},u),null==(s=o[d])?void 0:s.rpcMap))}return o}function ap(e){return e.includes(":")?e.split(":")[2]:e}function cp(e){const t={};for(const[r,i]of Object.entries(e)){const e=i.methods||[],n=i.events||[],s=i.accounts||[],o=bs(r)?[r]:i.chains?i.chains:np(i.accounts);t[r]={chains:o,methods:e,events:n,accounts:s}}return t}function hp(e){return"number"==typeof e?e:e.includes("0x")?parseInt(e,16):(e=e.includes(":")?e.split(":")[1]:e,isNaN(Number(e))?e:Number(e))}const lp={},up=e=>lp[e],dp=(e,t)=>{lp[e]=t};var pp=Object.defineProperty,fp=(e,t,r)=>((e,t,r)=>t in e?pp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class gp{constructor(e){fp(this,"name","polkadot"),fp(this,"client"),fp(this,"httpProviders"),fp(this,"events"),fp(this,"namespace"),fp(this,"chainId"),this.namespace=e.namespace,this.events=up("events"),this.client=up("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(hd,`${this.name}:${e}`)}getAccounts(){const e=this.namespace.accounts;return e&&e.filter((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.split(":")[2]))||[]}createHttpProviders(){const e={};return this.namespace.chains.forEach((t=>{var r;const i=ip(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){const r=t||rp(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new yo.r(new rd.Z(r,up("disableProviderPing")))}}var yp=Object.defineProperty,mp=Object.defineProperties,wp=Object.getOwnPropertyDescriptors,bp=Object.getOwnPropertySymbols,vp=Object.prototype.hasOwnProperty,Ep=Object.prototype.propertyIsEnumerable,Ip=(e,t,r)=>t in e?yp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Sp=(e,t)=>{for(var r in t||(t={}))vp.call(t,r)&&Ip(e,r,t[r]);if(bp)for(var r of bp(t))Ep.call(t,r)&&Ip(e,r,t[r]);return e},Pp=(e,t)=>mp(e,wp(t)),Op=(e,t,r)=>Ip(e,"symbol"!=typeof t?t+"":t,r);class _p{constructor(e){Op(this,"name","eip155"),Op(this,"client"),Op(this,"chainId"),Op(this,"namespace"),Op(this,"httpProviders"),Op(this,"events"),this.namespace=e.namespace,this.events=up("events"),this.client=up("client"),this.httpProviders=this.createHttpProviders(),this.chainId=parseInt(this.getDefaultChain())}async request(e){switch(e.request.method){case"eth_requestAccounts":case"eth_accounts":return this.getAccounts();case"wallet_switchEthereumChain":return await this.handleSwitchChain(e);case"eth_chainId":return parseInt(this.getDefaultChain());case"wallet_getCapabilities":return await this.getCapabilities(e);case"wallet_getCallsStatus":return await this.getCallStatus(e)}return this.namespace.methods.includes(e.request.method)?await this.client.request(e):this.getHttpProvider().request(e.request)}updateNamespace(e){this.namespace=Object.assign(this.namespace,e)}setDefaultChain(e,t){this.httpProviders[e]||this.setHttpProvider(parseInt(e),t),this.chainId=parseInt(e),this.events.emit(hd,`${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 r=t||rp(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new yo.r(new rd.k(r,up("disableProviderPing")))}setHttpProvider(e,t){const r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProviders(){const e={};return this.namespace.chains.forEach((t=>{var r;const i=parseInt(ip(t));e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[t])})),e}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.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,r;let i=e.request.params?null==(t=e.request.params[0])?void 0:t.chainId:"0x0";i=i.startsWith("0x")?i:`0x${i}`;const n=parseInt(i,16);if(this.isChainApproved(n))this.setDefaultChain(`${n}`);else{if(!this.namespace.methods.includes("wallet_switchEthereumChain"))throw new Error(`Failed to switch to chain 'eip155:${n}'. The chain is not approved or the wallet does not support 'wallet_switchEthereumChain' method.`);await this.client.request({topic:e.topic,request:{method:e.request.method,params:[{chainId:i}]},chainId:null==(r=this.namespace.chains)?void 0:r[0]}),this.setDefaultChain(`${n}`)}return null}isChainApproved(e){return this.namespace.chains.includes(`${this.name}:${e}`)}async getCapabilities(e){var t,r,i,n,s;const o=null==(r=null==(t=e.request)?void 0:t.params)?void 0:r[0],a=`${o}${((null==(n=null==(i=e.request)?void 0:i.params)?void 0:n[1])||[]).join(",")}`;if(!o)throw new Error("Missing address parameter in `wallet_getCapabilities` request");const c=this.client.session.get(e.topic),h=(null==(s=c?.sessionProperties)?void 0:s.capabilities)||{};if(null!=h&&h[a])return h?.[a];const l=await this.client.request(e);try{await this.client.session.update(e.topic,{sessionProperties:Pp(Sp({},c.sessionProperties||{}),{capabilities:Pp(Sp({},h||{}),{[a]:l})})})}catch(e){console.warn("Failed to update session with capabilities",e)}return l}async getCallStatus(e){var t,r;const i=this.client.session.get(e.topic),n=null==(t=i.sessionProperties)?void 0:t.bundler_name;if(n){const t=this.getBundlerUrl(e.chainId,n);try{return await this.getUserOperationReceipt(t,e)}catch(e){console.warn("Failed to fetch call status from bundler",e,t)}}const s=null==(r=i.sessionProperties)?void 0:r.bundler_url;if(s)try{return await this.getUserOperationReceipt(s,e)}catch(e){console.warn("Failed to fetch call status from custom bundler",e,s)}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 r;const i=new URL(e),n=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((0,mo.formatJsonRpcRequest)("eth_getUserOperationReceipt",[null==(r=t.request.params)?void 0:r[0]]))});if(!n.ok)throw new Error(`Failed to fetch user operation receipt - ${n.status}`);return await n.json()}
1getBundlerUrl(e,t){return`${cd}?projectId=${this.client.core.projectId}&chainId=${e}&bundler=${t}`}}var xp=Object.defineProperty,Rp=(e,t,r)=>((e,t,r)=>t in e?xp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Ap{constructor(e){Rp(this,"name","solana"),Rp(this,"client"),Rp(this,"httpProviders"),Rp(this,"events"),Rp(this,"namespace"),Rp(this,"chainId"),this.namespace=e.namespace,this.events=up("events"),this.client=up("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(hd,`${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((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.split(":")[2])))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach((t=>{var r;const i=ip(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){const r=t||rp(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new yo.r(new rd.Z(r,up("disableProviderPing")))}}var Cp=Object.defineProperty,Np=(e,t,r)=>((e,t,r)=>t in e?Cp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Tp{constructor(e){Np(this,"name","cosmos"),Np(this,"client"),Np(this,"httpProviders"),Np(this,"events"),Np(this,"namespace"),Np(this,"chainId"),this.namespace=e.namespace,this.events=up("events"),this.client=up("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(hd,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.split(":")[2])))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach((t=>{var r;const i=ip(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){const r=t||rp(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new yo.r(new rd.Z(r,up("disableProviderPing")))}}var jp=Object.defineProperty,kp=(e,t,r)=>((e,t,r)=>t in e?jp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Up{constructor(e){kp(this,"name","algorand"),kp(this,"client"),kp(this,"httpProviders"),kp(this,"events"),kp(this,"namespace"),kp(this,"chainId"),this.namespace=e.namespace,this.events=up("events"),this.client=up("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 r=t||rp(`${this.name}:${e}`,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.chainId=e,this.events.emit(hd,`${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((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.split(":")[2])))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach((t=>{var r;e[t]=this.createHttpProvider(t,null==(r=this.namespace.rpcMap)?void 0:r[t])})),e}getHttpProvider(){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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){const r=t||rp(e,this.namespace,this.client.core.projectId);return typeof r>"u"?void 0:new yo.r(new rd.Z(r,up("disableProviderPing")))}}var Dp=Object.defineProperty,Lp=(e,t,r)=>((e,t,r)=>t in e?Dp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class qp{constructor(e){Lp(this,"name","cip34"),Lp(this,"client"),Lp(this,"httpProviders"),Lp(this,"events"),Lp(this,"namespace"),Lp(this,"chainId"),this.namespace=e.namespace,this.events=up("events"),this.client=up("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(hd,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e?[...new Set(e.filter((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.split(":")[2])))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach((t=>{const r=this.getCardanoRPCUrl(t),i=ip(t);e[i]=this.createHttpProvider(i,r)})),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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){const r=t||this.getCardanoRPCUrl(e);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new yo.r(new rd.Z(r,up("disableProviderPing")))}}var Bp=Object.defineProperty,Mp=(e,t,r)=>((e,t,r)=>t in e?Bp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class $p{constructor(e){Mp(this,"name","elrond"),Mp(this,"client"),Mp(this,"httpProviders"),Mp(this,"events"),Mp(this,"namespace"),Mp(this,"chainId"),this.namespace=e.namespace,this.events=up("events"),this.client=up("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(hd,`${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((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.split(":")[2])))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach((t=>{var r;const i=ip(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){const r=t||rp(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new yo.r(new rd.Z(r,up("disableProviderPing")))}}var zp=Object.defineProperty,Vp=(e,t,r)=>((e,t,r)=>t in e?zp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Hp{constructor(e){Vp(this,"name","multiversx"),Vp(this,"client"),
1Vp(this,"httpProviders"),Vp(this,"events"),Vp(this,"namespace"),Vp(this,"chainId"),this.namespace=e.namespace,this.events=up("events"),this.client=up("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(hd,`${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((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.split(":")[2])))]:[]}createHttpProviders(){const e={};return this.namespace.chains.forEach((t=>{var r;const i=ip(t);e[i]=this.createHttpProvider(i,null==(r=this.namespace.rpcMap)?void 0:r[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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){const r=t||rp(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new yo.r(new rd.Z(r,up("disableProviderPing")))}}var Kp=Object.defineProperty,Fp=(e,t,r)=>((e,t,r)=>t in e?Kp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Wp{constructor(e){Fp(this,"name","near"),Fp(this,"client"),Fp(this,"httpProviders"),Fp(this,"events"),Fp(this,"namespace"),Fp(this,"chainId"),this.namespace=e.namespace,this.events=up("events"),this.client=up("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 r=t||rp(`${this.name}:${e}`,this.namespace);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(hd,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e&&e.filter((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.split(":")[2]))||[]}createHttpProviders(){const e={};return this.namespace.chains.forEach((t=>{var r;e[t]=this.createHttpProvider(t,null==(r=this.namespace.rpcMap)?void 0:r[t])})),e}getHttpProvider(){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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){const r=t||rp(e,this.namespace);return typeof r>"u"?void 0:new yo.r(new rd.Z(r,up("disableProviderPing")))}}var Jp=Object.defineProperty,Gp=(e,t,r)=>((e,t,r)=>t in e?Jp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Yp{constructor(e){Gp(this,"name","tezos"),Gp(this,"client"),Gp(this,"httpProviders"),Gp(this,"events"),Gp(this,"namespace"),Gp(this,"chainId"),this.namespace=e.namespace,this.events=up("events"),this.client=up("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 r=t||rp(`${this.name}:${e}`,this.namespace);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);this.setHttpProvider(e,r)}this.events.emit(hd,`${this.name}:${this.chainId}`)}getAccounts(){const e=this.namespace.accounts;return e&&e.filter((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){const r=t||rp(e,this.namespace);return typeof r>"u"?void 0:new yo.r(new rd.Z(r))}}var Zp=Object.defineProperty,Qp=(e,t,r)=>((e,t,r)=>t in e?Zp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r)(e,"symbol"!=typeof t?t+"":t,r);class Xp{constructor(e){Qp(this,"name",ad),Qp(this,"client"),Qp(this,"httpProviders"),Qp(this,"events"),Qp(this,"namespace"),Qp(this,"chainId"),this.namespace=e.namespace,this.events=up("events"),this.client=up("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(hd,`${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((e=>e.split(":")[1]===this.chainId.toString())).map((e=>e.split(":")[2])))]:[]}createHttpProviders(){var e,t;const r={};return null==(t=null==(e=this.namespace)?void 0:e.accounts)||t.forEach((e=>{const t=Se(e);r[`${t.namespace}:${t.reference}`]=this.createHttpProvider(e)})),r}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 r=this.createHttpProvider(e,t);r&&(this.httpProviders[e]=r)}createHttpProvider(e,t){const r=t||rp(e,this.namespace,this.client.core.projectId);if(!r)throw new Error(`No RPC url provided for chainId: ${e}`);return new yo.r(new rd.Z(r,up("disableProviderPing")))}}var ef=Object.defineProperty,tf=Object.defineProperties,rf=Object.getOwnPropertyDescriptors,nf=Object.getOwnPropertySymbols,sf=Object.prototype.hasOwnProperty,of=Object.prototype.propertyIsEnumerable,af=(e,t,r)=>t in e?ef(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,cf=(e,t)=>
1{for(var r in t||(t={}))sf.call(t,r)&&af(e,r,t[r]);if(nf)for(var r of nf(t))of.call(t,r)&&af(e,r,t[r]);return e},hf=(e,t)=>tf(e,rf(t)),lf=(e,t,r)=>af(e,"symbol"!=typeof t?t+"":t,r);class uf{constructor(e){lf(this,"client"),lf(this,"namespaces"),lf(this,"optionalNamespaces"),lf(this,"sessionProperties"),lf(this,"scopedProperties"),lf(this,"events",new(n())),lf(this,"rpcProviders",{}),lf(this,"session"),lf(this,"providerOpts"),lf(this,"logger"),lf(this,"uri"),lf(this,"disableProviderPing",!1),this.providerOpts=e,this.logger=typeof e?.logger<"u"&&"string"!=typeof e?.logger?e.logger:(0,Zs.gw)((0,Zs.jI)({level:e?.logger||nd})),this.disableProviderPing=e?.disableProviderPing||!1}static async init(e){const t=new uf(e);return await t.initialize(),t}async request(e,t,r){const[i,n]=this.validateChain(t);if(!this.session)throw new Error("Please call connect() before request()");return await this.getProvider(i).request({request:cf({},e),chainId:`${i}:${n}`,topic:this.session.topic,expiry:r})}sendAsync(e,t,r,i){const n=(new Date).getTime();this.request(e,r,i).then((e=>t(null,(0,mo.formatJsonRpcResult)(n,e)))).catch((e=>t(e,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:null==(e=this.session)?void 0:e.topic,reason:_s("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:r,response:i}=await this.client.authenticate(e,t);r&&(this.uri=r,this.events.emit("display_uri",r));const n=await i();if(this.session=n.session,this.session){const e=cp(this.session.namespaces);this.namespaces=sp(this.namespaces,e),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:r}=await this.client.connect({pairingTopic:e,requiredNamespaces:this.namespaces,optionalNamespaces:this.optionalNamespaces,sessionProperties:this.sessionProperties,scopedProperties:this.scopedProperties});t&&(this.uri=t,this.events.emit("display_uri",t));const i=await r();this.session=i;const n=cp(i.namespaces);return this.namespaces=sp(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[r,i]=this.validateChain(e),n=this.getProvider(r);n.name===ad?n.setDefaultChain(`${r}:${i}`,t):n.setDefaultChain(i,t)}catch(e){if(!/Please call connect/.test(e.message))throw e}}async cleanupPendingPairings(e={}){this.logger.info("Cleaning up inactive pairings...");const t=this.client.pairing.getAll();if(xs(t)){for(const r of t)e.deletePairings?this.client.core.expirer.set(r.topic,0):await this.client.core.relayer.subscriber.unsubscribe(r.topic);this.logger.info(`Inactive pairings cleared: ${t.length}`)}}abortPairingAttempt(){this.logger.warn("abortPairingAttempt is deprecated. This is now a no-op.")}async checkStorage(){this.namespaces=await this.getFromStore("namespaces")||{},this.optionalNamespaces=await this.getFromStore("optionalNamespaces")||{},this.session&&this.createProviders()}async initialize(){this.logger.trace("Initialized"),await this.createClient(),await this.checkStorage(),this.registerEventListeners()}async createClient(){var e,t;if(this.client=this.providerOpts.client||await td.init({core:this.providerOpts.core,logger:this.providerOpts.logger||nd,relayUrl:this.providerOpts.relayUrl||"wss://relay.walletconnect.org",projectId:this.providerOpts.projectId,metadata:this.providerOpts.metadata,storageOptions:this.providerOpts.storageOptions,storage:this.providerOpts.storage,name:this.providerOpts.name,customStoragePrefix:this.providerOpts.customStoragePrefix,telemetryEnabled:this.providerOpts.telemetryEnabled}),this.providerOpts.session)try{this.session=this.client.session.get(this.providerOpts.session.topic)}catch(r){throw this.logger.error("Failed to get session",r),new Error(`The provided session: ${null==(t=null==(e=this.providerOpts)?void 0:e.session)?void 0:t.topic} doesn't exist in the Sign client`)}else{const e=this.client.session.getAll();this.session=e[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((e=>vs(e))))];dp("client",this.client),dp("events",this.events),dp("disableProviderPing",this.disableProviderPing),e.forEach((e=>{if(!this.session)return;const t=function(e,t){const r=Object.keys(t.namespaces).filter((t=>t.includes(e)));if(!r.length)return[];const i=[];return r.forEach((e=>{const r=t.namespaces[e].accounts;i.push(...r)})),i}(e,this.session),r=np(t),i=sp(this.namespaces,this.optionalNamespaces),n=hf(cf({},i[e]),{accounts:t,chains:r});switch(e){case"eip155":this.rpcProviders[e]=new _p({namespace:n});break;case"algorand":this.rpcProviders[e]=new Up({namespace:n});break;
1case"solana":this.rpcProviders[e]=new Ap({namespace:n});break;case"cosmos":this.rpcProviders[e]=new Tp({namespace:n});break;case"polkadot":this.rpcProviders[e]=new gp({namespace:n});break;case"cip34":this.rpcProviders[e]=new qp({namespace:n});break;case"elrond":this.rpcProviders[e]=new $p({namespace:n});break;case"multiversx":this.rpcProviders[e]=new Hp({namespace:n});break;case"near":this.rpcProviders[e]=new Wp({namespace:n});break;case"tezos":this.rpcProviders[e]=new Yp({namespace:n});break;default:this.rpcProviders[ad]?this.rpcProviders[ad].updateNamespace(n):this.rpcProviders[ad]=new Xp({namespace:n})}}))}registerEventListeners(){if(typeof this.client>"u")throw new Error("Sign Client is not initialized");this.client.on("session_ping",(e=>{var t;const{topic:r}=e;r===(null==(t=this.session)?void 0:t.topic)&&this.events.emit("session_ping",e)})),this.client.on("session_event",(e=>{var t;const{params:r,topic:i}=e;if(i!==(null==(t=this.session)?void 0:t.topic))return;const{event:n}=r;if("accountsChanged"===n.name){const e=n.data;e&&xs(e)&&this.events.emit("accountsChanged",e.map(ap))}else if("chainChanged"===n.name){const e=r.chainId,t=r.event.data,i=vs(e),n=hp(e)!==hp(t)?`${i}:${hp(t)}`:e;this.onChainChanged(n)}else this.events.emit(n.name,n.data);this.events.emit("session_event",e)})),this.client.on("session_update",(({topic:e,params:t})=>{var r,i;if(e!==(null==(r=this.session)?void 0:r.topic))return;const{namespaces:n}=t,s=null==(i=this.client)?void 0:i.session.get(e);this.session=hf(cf({},s),{namespaces:n}),this.onSessionUpdate(),this.events.emit("session_update",{topic:e,params:t})})),this.client.on("session_delete",(async e=>{var t;e.topic===(null==(t=this.session)?void 0:t.topic)&&(await this.cleanup(),this.events.emit("session_delete",e),this.events.emit("disconnect",hf(cf({},_s("USER_DISCONNECTED")),{data:e.topic})))})),this.on(hd,(e=>{this.onChainChanged(e,!0)}))}getProvider(e){return this.rpcProviders[e]||this.rpcProviders[ad]}onSessionUpdate(){Object.keys(this.rpcProviders).forEach((e=>{var t;this.getProvider(e).updateNamespace(null==(t=this.session)?void 0:t.namespaces[e])}))}setNamespaces(e){const{namespaces:t={},optionalNamespaces:r={},sessionProperties:i,scopedProperties:n}=e;this.optionalNamespaces=sp(t,r),this.sessionProperties=i,this.scopedProperties=n}validateChain(e){const[t,r]=e?.split(":")||["",""];if(!this.namespaces||!Object.keys(this.namespaces).length)return[t,r];if(t&&!Object.keys(this.namespaces||{}).map((e=>vs(e))).includes(t))throw new Error(`Namespace '${t}' is not configured. Please call connect() first with namespace config.`);if(t&&r)return[t,r];const i=vs(Object.keys(this.namespaces)[0]);return[i,this.rpcProviders[i].getDefaultChain()]}async requestAccounts(){const[e]=this.validateChain();return await this.getProvider(e).requestAccounts()}async onChainChanged(e,t=!1){if(!this.namespaces)return;const[r,i]=this.validateChain(e);if(!i)return;this.updateNamespaceChain(r,i),this.events.emit("chainChanged",i);const n=this.getProvider(r).getDefaultChain();t||this.getProvider(r).setDefaultChain(i),this.emitAccountsChangedOnChainChange({namespace:r,previousChainId:n,newChainId:e}),await this.persist("namespaces",this.namespaces)}emitAccountsChangedOnChainChange({namespace:e,previousChainId:t,newChainId:r}){var i,n;try{if(t===r)return;const s=null==(n=null==(i=this.session)?void 0:i.namespaces[e])?void 0:n.accounts;if(!s)return;const o=s.filter((e=>e.includes(`${r}:`))).map(ap);if(!xs(o))return;this.events.emit("accountsChanged",o)}catch(e){this.logger.warn("Failed to emit accountsChanged on chain change",e)}}updateNamespaceChain(e,t){if(!this.namespaces)return;const r=this.namespaces[e]?e:`${e}:${t}`,i={chains:[],methods:[],events:[],defaultChain:t};this.namespaces[r]?this.namespaces[r]&&(this.namespaces[r].defaultChain=t):this.namespaces[r]=i}onConnect(){this.createProviders(),this.events.emit("connect",{session:this.session})}async cleanup(){this.namespaces=void 0,this.optionalNamespaces=void 0,this.sessionProperties=void 0,await this.deleteFromStore("namespaces"),await this.deleteFromStore("optionalNamespaces"),await this.deleteFromStore("sessionProperties"),this.session=void 0,await this.cleanupPendingPairings({deletePairings:!0}),await this.cleanupStorage()}async persist(e,t){var r;const i=(null==(r=this.session)?void 0:r.topic)||"";await this.client.core.storage.setItem(`${sd}/${e}${i}`,t)}async getFromStore(e){var t;const r=(null==(t=this.session)?void 0:t.topic)||"";return await this.client.core.storage.getItem(`${sd}/${e}${r}`)}async deleteFromStore(e){var t;const r=(null==(t=this.session)?void 0:t.topic)||"";await this.client.core.storage.removeItem(`${sd}/${e}${r}`)}async cleanupStorage(){var e;try{if((null==(e=this.client)?void 0:e.session.length)>0)return;const t=await this.client.core.storage.getKeys();for(const e of t)e.startsWith(sd)&&await this.client.core.storage.removeItem(e)}catch(e){this.logger.warn("Failed to cleanup storage",e)}}}const df=uf,pf=["eth_sendTransaction","personal_sign"],ff=["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"],gf=["chainChanged","accountsChanged"],yf=["chainChanged","accountsChanged","message","disconnect","connect"];var mf=Object.defineProperty,wf=Object.defineProperties,bf=Object.getOwnPropertyDescriptors,vf=Object.getOwnPropertySymbols,Ef=Object.prototype.hasOwnProperty,If=Object.prototype.propertyIsEnumerable,Sf=(e,t,r)=>t in e?mf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Pf=(e,t)=>{for(var r in t||(t={}))Ef.call(t,r)&&Sf(e,r,t[r]);if(vf)for(var r of vf(t))If.call(t,r)&&Sf(e,r,t[r]);return e},Of=(e,t)=>wf(e,bf(t)),_f=(e,t,r)=>Sf(e,"symbol"!=typeof t?t+"":t,r);function xf(e){return Number(e[0].split(":")[1])}function Rf(e){return`0x${e.toString(16)}`}class Af{constructor(){_f(this,"events",new i.EventEmitter),_f(this,"namespace","eip155"),_f(this,"accounts",[]),_f(this,"signer"),_f(this,"chainId",1),_f(this,"modal"),_f(this,"rpc"),_f(this,"STORAGE_KEY","wc@2:ethereum_provider:"),_f(this,"on",((e,t)=>
1(this.events.on(e,t),this))),_f(this,"once",((e,t)=>(this.events.once(e,t),this))),_f(this,"removeListener",((e,t)=>(this.events.removeListener(e,t),this))),_f(this,"off",((e,t)=>(this.events.off(e,t),this))),_f(this,"parseAccount",(e=>this.isCompatibleChainId(e)?this.parseAccountId(e).address:e)),this.signer={},this.rpc={}}static async init(e){const t=new Af;return await t.initialize(e),t}async request(e,t){return await this.signer.request(e,this.formatChainId(this.chainId),t)}sendAsync(e,t,r){this.signer.sendAsync(e,t,this.formatChainId(this.chainId),r)}get connected(){return!!this.signer.client&&this.signer.client.core.relayer.connected}get connecting(){return!!this.signer.client&&this.signer.client.core.relayer.connecting}async enable(){return this.session||await this.connect(),await this.request({method:"eth_requestAccounts"})}async connect(e){var t;if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts(e);const{required:r,optional:i}=function(e){const{chains:t,optionalChains:r,methods:i,optionalMethods:n,events:s,optionalEvents:o,rpcMap:a}=e;if(!xs(t))throw new Error("Invalid chains");const c={chains:t,methods:i||pf,events:s||gf,rpcMap:Pf({},t.length?{[xf(t)]:a[xf(t)]}:{})},h=s?.filter((e=>!gf.includes(e))),l=i?.filter((e=>!pf.includes(e)));if(!(r||o||n||null!=h&&h.length||null!=l&&l.length))return{required:t.length?c:void 0};const u={chains:[...new Set(h?.length&&l?.length||!r?c.chains.concat(r||[]):r)],methods:[...new Set(c.methods.concat(null!=n&&n.length?n:ff))],events:[...new Set(c.events.concat(null!=o&&o.length?o:yf))],rpcMap:a};return{required:t.length?c:void 0,optional:r.length?u:void 0}}(this.rpc);try{const n=await new Promise((async(t,n)=>{var s,o;this.rpc.showQrModal&&(null==(s=this.modal)||s.open(),null==(o=this.modal)||o.subscribeState((e=>{!e.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),n(new Error("Connection request reset. Please try again.")))})));const a=null!=e&&e.scopedProperties?{[this.namespace]:e.scopedProperties}:void 0;await this.signer.connect(Of(Pf({namespaces:Pf({},r&&{[this.namespace]:r})},i&&{optionalNamespaces:{[this.namespace]:i}}),{pairingTopic:e?.pairingTopic,scopedProperties:a})).then((e=>{t(e)})).catch((e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),n(new Error(e.message))}))}));if(!n)return;const s=Pe(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:s),this.setAccounts(s),this.events.emit("connect",{chainId:Rf(this.chainId)})}catch(e){throw this.signer.logger.error(e),e}finally{null==(t=this.modal)||t.close()}}async authenticate(e,t){var r;if(!this.signer.client)throw new Error("Provider not initialized. Call init() first");this.loadConnectOpts({chains:e?.chains});try{const i=await new Promise((async(r,i)=>{var n,s;this.rpc.showQrModal&&(null==(n=this.modal)||n.open(),null==(s=this.modal)||s.subscribeState((e=>{!e.open&&!this.signer.session&&(this.signer.abortPairingAttempt(),i(new Error("Connection request reset. Please try again.")))}))),await this.signer.authenticate(Of(Pf({},e),{chains:this.rpc.chains}),t).then((e=>{r(e)})).catch((e=>{var t;null==(t=this.modal)||t.showErrorMessage("Unable to connect"),i(new Error(e.message))}))})),n=i.session;if(n){const e=Pe(n.namespaces,[this.namespace]);this.setChainIds(this.rpc.chains.length?this.rpc.chains:e),this.setAccounts(e),this.events.emit("connect",{chainId:Rf(this.chainId)})}return i}catch(e){throw this.signer.logger.error(e),e}finally{null==(r=this.modal)||r.close()}}async disconnect(){this.session&&await this.signer.disconnect(),this.reset()}get isWalletConnect(){return!0}get session(){return this.signer.session}registerEventListeners(){this.signer.on("session_event",(e=>{const{params:t}=e,{event:r}=t;"accountsChanged"===r.name?(this.accounts=this.parseAccounts(r.data),this.events.emit("accountsChanged",this.accounts)):"chainChanged"===r.name?this.setChainId(this.formatChainId(r.data)):this.events.emit(r.name,r.data),this.events.emit("session_event",e)})),this.signer.on("accountsChanged",(e=>{this.accounts=this.parseAccounts(e),this.events.emit("accountsChanged",this.accounts)})),this.signer.on("chainChanged",(e=>{const t=parseInt(e);this.chainId=t,this.events.emit("chainChanged",Rf(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",Of(Pf({},_s("USER_DISCONNECTED")),{data:e.topic,name:"USER_DISCONNECTED"}))})),this.signer.on("display_uri",(e=>{this.events.emit("display_uri",e)}))}switchEthereumChain(e){this.request({method:"wallet_switchEthereumChain",params:[{chainId:e.toString(16)}]})}isCompatibleChainId(e){return"string"==typeof e&&e.startsWith(`${this.namespace}:`)}formatChainId(e){return`${this.namespace}:${e}`}parseChainId(e){return Number(e.split(":")[1])}setChainIds(e){const t=e.filter((e=>this.isCompatibleChainId(e))).map((e=>this.parseChainId(e)));t.length&&(this.chainId=t[0],this.events.emit("chainChanged",Rf(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,r,i]=e.split(":");return{chainId:`${t}:${r}`,address:i}}setAccounts(e){this.accounts=e.filter((e=>this.parseChainId(this.parseAccountId(e).chainId)===this.chainId)).map((e=>this.parseAccountId(e).address)),this.events.emit("accountsChanged",this.accounts)}getRpcConfig(e){var t,r;const i=null!=(t=e?.chains)?t:[],n=null!=(r=e?.optionalChains)?r:[],s=i.concat(n);if(!s.length)throw new Error("No chains specified in either `chains` or `optionalChains`");const o=i.length?e?.methods||pf:[],a=i.length?e?.events||gf:[],c=e?.optionalMethods||[],h=e?.optionalEvents||[],l=e?.rpcMap||this.buildRpcMap(s,e.projectId),u=e?.qrModalOptions||void 0;return{chains:i?.map((e=>this.formatChainId(e))),optionalChains:n.map((e=>this.formatChainId(e))),methods:o,events:a,optionalMethods:c,optionalEvents:h,rpcMap:l,showQrModal:!(null==e||!e.showQrModal),qrModalOptions:u,projectId:e.projectId,metadata:e.metadata}}buildRpcMap(e,t){const r={};return e.forEach((e=>{r[e]=this.getRpcUrl(e,t)})),r}async initialize(e){if(this.rpc=this.getRpcConfig(e),this.chainId=this.rpc.chains.length?xf(this.rpc.chains):xf(this.rpc.optionalChains),this.signer=await df.init({projectId:this.rpc.projectId,metadata:this.rpc.metadata,disableProviderPing:e.disableProviderPing,relayUrl:e.relayUrl,storage:e.storage,storageOptions:e.storageOptions,customStoragePrefix:e.customStoragePrefix,telemetryEnabled:e.telemetryEnabled,logger:e.logger}),this.registerEventListeners(),await this.loadPersistedSession(),this.rpc.showQrModal){let e;try{const t=await(async()=>{const{createAppKit:e}=await r.e(203).then(r.bind(r,203));return e})(),{convertWCMToAppKitOptions:i}=await Promise.resolve().then((function(){return Vf})),n=i(Of(Pf({},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·");e=t(Of(Pf({},n),{universalProvider:this.signer,manualWCControl:!0}))}catch(e){throw console.warn(e),new Error("To use QR modal, please install @reown/appkit package")}if(e)try{this.modal=e}catch(e){throw this.signer.logger.error(e),new Error("Could not generate WalletConnectMod
1al Instance")}}}loadConnectOpts(e){if(!e)return;const{chains:t,optionalChains:r,rpcMap:i}=e;t&&xs(t)&&(this.rpc.chains=t.map((e=>this.formatChainId(e))),t.forEach((e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)}))),r&&xs(r)&&(this.rpc.optionalChains=[],this.rpc.optionalChains=r?.map((e=>this.formatChainId(e))),r.forEach((e=>{this.rpc.rpcMap[e]=i?.[e]||this.getRpcUrl(e)})))}getRpcUrl(e,t){var r;return(null==(r=this.rpc.rpcMap)?void 0:r[e])||`https://rpc.walletconnect.org/v1/?chainId=eip155:${e}&projectId=${t||this.rpc.projectId}`}async loadPersistedSession(){if(this.session)try{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((e=>this.signer.logger.warn(e)))}}reset(){this.chainId=1,this.accounts=[]}persist(){this.session&&this.signer.client.core.storage.setItem(`${this.STORAGE_KEY}/chainId`,this.chainId)}parseAccounts(e){return"string"==typeof e||e instanceof String?[this.parseAccount(e)]:e.map((e=>this.parseAccount(e)))}}const Cf=Af;var Nf=Object.defineProperty,Tf=Object.defineProperties,jf=Object.getOwnPropertyDescriptors,kf=Object.getOwnPropertySymbols,Uf=Object.prototype.hasOwnProperty,Df=Object.prototype.propertyIsEnumerable,Lf=(e,t,r)=>t in e?Nf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,qf=(e,t)=>{for(var r in t||(t={}))Uf.call(t,r)&&Lf(e,r,t[r]);if(kf)for(var r of kf(t))Df.call(t,r)&&Lf(e,r,t[r]);return e},Bf=(e,t)=>Tf(e,jf(t));function Mf(e){if(e)return{"--w3m-font-family":e["--wcm-font-family"],"--w3m-accent":e["--wcm-accent-color"],"--w3m-color-mix":e["--wcm-background-color"],"--w3m-z-index":e["--wcm-z-index"]?Number(e["--wcm-z-index"]):void 0,"--w3m-qr-color":e["--wcm-accent-color"],"--w3m-font-size-master":e["--wcm-text-medium-regular-size"],"--w3m-border-radius-master":e["--wcm-container-border-radius"],"--w3m-color-mix-strength":0}}const $f=e=>{const[t,r]=e.split(":");return zf({id:r,caipNetworkId:e,chainNamespace:t,name:"",nativeCurrency:{name:"",symbol:"",decimals:8},rpcUrls:{default:{http:["https://rpc.walletconnect.org/v1"]}}})};function zf(e){return qf({formatters:void 0,fees:void 0,serializers:void 0},e)}var Vf=Object.freeze({__proto__:null,convertWCMToAppKitOptions:function(e){var t,r,i,n,s,o,a;const c=null==(t=e.chains)?void 0:t.map($f).filter(Boolean);if(0===c.length)throw new Error("At least one chain must be specified");const h=c.find((t=>{var r;return t.id===(null==(r=e.defaultChain)?void 0:r.id)})),l={projectId:e.projectId,networks:c,themeMode:e.themeMode,themeVariables:Mf(e.themeVariables),chainImages:e.chainImages,connectorImages:e.walletImages,defaultNetwork:h,metadata:Bf(qf({},e.metadata),{name:(null==(r=e.metadata)?void 0:r.name)||"WalletConnect",description:(null==(i=e.metadata)?void 0:i.description)||"Connect to WalletConnect-compatible wallets",url:(null==(n=e.metadata)?void 0:n.url)||"https://walletconnect.org",icons:(null==(s=e.metadata)?void 0:s.icons)||["https://walletconnect.org/walletconnect-logo.png"]}),showWallets:!0,featuredWalletIds:"NONE"===e.explorerRecommendedWalletIds?[]:Array.isArray(e.explorerRecommendedWalletIds)?e.explorerRecommendedWalletIds:[],excludeWalletIds:"ALL"===e.explorerExcludedWalletIds?[]:Array.isArray(e.explorerExcludedWalletIds)?e.explorerExcludedWalletIds:[],enableEIP6963:!1,enableInjected:!1,enableCoinbase:!0,enableWalletConnect:!0,features:{email:!1,socials:!1}};if(null!=(o=e.mobileWallets)&&o.length||null!=(a=e.desktopWallets)&&a.length){const t=[...(e.mobileWallets||[]).map((e=>({id:e.id,name:e.name,links:e.links}))),...(e.desktopWallets||[]).map((e=>({id:e.id,name:e.name,links:{native:e.links.native,universal:e.links.universal}})))],r=[...l.featuredWalletIds||[],...l.excludeWalletIds||[]],i=t.filter((e=>!r.includes(e.id)));i.length&&(l.customWallets=i)}return l},defineChain:zf})},38200:function(e,t,r){r.d(t,{q:function(){return i}});class i{}},16411:function(e,t,r){r.d(t,{C$:function(){return h},Lx:function(){return c}});var i=r(17187),n=r(66736),s=r(38200);class o extends s.q{constructor(e){super()}}const a=n.FIVE_SECONDS,c={pulse:"heartbeat_pulse"};class h extends o{constructor(e){super(e),this.events=new i.EventEmitter,this.interval=a,this.interval=e?.interval||a}static async init(e){const t=new h(e);return await t.init(),t}
1async init(){await this.initialize()}stop(){clearInterval(this.intervalRef)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async initialize(){this.intervalRef=setInterval((()=>this.pulse()),(0,n.toMiliseconds)(this.interval))}pulse(){this.events.emit(c.pulse)}}},88900:function(e,t,r){r.d(t,{Z:function(){return w},k:function(){return w}});var i=r(17187),n=r(54098),s=r.n(n),o=r(85094),a=r(56186),c=Object.defineProperty,h=Object.defineProperties,l=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,d=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable,f=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,g=(e,t)=>{for(var r in t||(t={}))d.call(t,r)&&f(e,r,t[r]);if(u)for(var r of u(t))p.call(t,r)&&f(e,r,t[r]);return e},y=(e,t)=>h(e,l(t));const m={headers:{Accept:"application/json","Content-Type":"application/json"},method:"POST"};class w{constructor(e,t=!1){if(this.url=e,this.disableProviderPing=t,this.events=new i.EventEmitter,this.isAvailable=!1,this.registering=!1,!(0,a.isHttpUrl)(e))throw 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=(0,o.u)(e),r=await(await s()(this.url,y(g({},m),{body:t}))).json();this.onPayload({data:r})}catch(t){this.onError(e.id,t)}}async register(e=this.url){if(!(0,a.isHttpUrl)(e))throw new Error(`Provided URL is not compatible with HTTP connection: ${e}`);if(this.registering){const e=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=e||this.events.listenerCount("open")>=e)&&this.events.setMaxListeners(e+1),new Promise(((e,t)=>{this.events.once("register_error",(e=>{this.resetMaxListeners(),t(e)})),this.events.once("open",(()=>{if(this.resetMaxListeners(),typeof this.isAvailable>"u")return t(new Error("HTTP connection is missing or invalid"));e()}))}))}this.url=e,this.registering=!0;try{if(!this.disableProviderPing){const t=(0,o.u)({id:1,jsonrpc:"2.0",method:"test",params:[]});await s()(e,y(g({},m),{body:t}))}this.onOpen()}catch(e){const t=this.parseError(e);throw this.events.emit("register_error",t),this.onClose(),t}}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="string"==typeof e.data?(0,o.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const r=this.parseError(t),i=r.message||r.toString(),n=(0,a.formatJsonRpcError)(e,i);this.events.emit("payload",n)}parseError(e,t=this.url){return(0,a.parseConnectionError)(e,t,"HTTP")}resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}}},64534:function(e,t,r){r.d(t,{r:function(){return s}});var i=r(17187),n=r(56186);class s extends n.IJsonRpcProvider{constructor(e){super(e),this.events=new i.EventEmitter,this.hasRegisteredEventListeners=!1,this.connection=this.setConnection(e),this.connection.connected&&this.registerEventListeners()}async connect(e=this.connection){await this.open(e)}async disconnect(){await this.close()}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async request(e,t){return this.requestStrict((0,n.formatJsonRpcRequest)(e.method,e.params||[],e.id||(0,n.getBigIntRpcId)().toString()),t)}async requestStrict(e,t){return new Promise((async(r,i)=>{if(!this.connection.connected)try{await this.open()}catch(e){i(e)}this.events.on(`${e.id}`,(e=>{(0,n.isJsonRpcError)(e)?i(e.error):r(e.result)}));try{await this.connection.send(e,t)}catch(e){i(e)}}))}setConnection(e=this.connection){return e}onPayload(e){this.events.emit("payload",e),(0,n.isJsonRpcResponse)(e)?this.events.emit(`${e.id}`,e):this.events.emit("message",{type:e.method,data:e.params})}onClose(e){e&&3e3===e.code&&this.events.emit("error",new Error(`WebSocket connection closed abnormally with code: ${e.code} ${e.reason?`(${e.reason})`:""}`)),this.events.emit("disconnect")}
1async open(e=this.connection){this.connection===e&&this.connection.connected||(this.connection.connected&&this.close(),"string"==typeof e&&(await this.connection.open(e),e=this.connection),this.connection=this.setConnection(e),await this.connection.open(),this.registerEventListeners(),this.events.emit("connect"))}async close(){await this.connection.close()}registerEventListeners(){this.hasRegisteredEventListeners||(this.connection.on("payload",(e=>this.onPayload(e))),this.connection.on("close",(e=>this.onClose(e))),this.connection.on("error",(e=>this.events.emit("error",e))),this.connection.on("register_error",(e=>this.onClose())),this.hasRegisteredEventListeners=!0)}}},79806:function(e,t,r){r.d(t,{CA:function(){return n},JV:function(){return a},O4:function(){return i},dQ:function(){return s},xK:function(){return o}});const i="INTERNAL_ERROR",n="SERVER_ERROR",s=[-32700,-32600,-32601,-32602,-32603],o={PARSE_ERROR:{code:-32700,message:"Parse error"},INVALID_REQUEST:{code:-32600,message:"Invalid Request"},METHOD_NOT_FOUND:{code:-32601,message:"Method not found"},INVALID_PARAMS:{code:-32602,message:"Invalid params"},[i]:{code:-32603,message:"Internal error"},[n]:{code:-32e3,message:"Server error"}},a=n},9698:function(e,t,r){var i=r(1468);r.o(i,"IJsonRpcProvider")&&r.d(t,{IJsonRpcProvider:function(){return i.IJsonRpcProvider}}),r.o(i,"formatJsonRpcError")&&r.d(t,{formatJsonRpcError:function(){return i.formatJsonRpcError}}),r.o(i,"formatJsonRpcRequest")&&r.d(t,{formatJsonRpcRequest:function(){return i.formatJsonRpcRequest}}),r.o(i,"formatJsonRpcResult")&&r.d(t,{formatJsonRpcResult:function(){return i.formatJsonRpcResult}}),r.o(i,"getBigIntRpcId")&&r.d(t,{getBigIntRpcId:function(){return i.getBigIntRpcId}}),r.o(i,"isHttpUrl")&&r.d(t,{isHttpUrl:function(){return i.isHttpUrl}}),r.o(i,"isJsonRpcError")&&r.d(t,{isJsonRpcError:function(){return i.isJsonRpcError}}),r.o(i,"isJsonRpcRequest")&&r.d(t,{isJsonRpcRequest:function(){return i.isJsonRpcRequest}}),r.o(i,"isJsonRpcResponse")&&r.d(t,{isJsonRpcResponse:function(){return i.isJsonRpcResponse}}),r.o(i,"isJsonRpcResult")&&r.d(t,{isJsonRpcResult:function(){return i.isJsonRpcResult}}),r.o(i,"isLocalhostUrl")&&r.d(t,{isLocalhostUrl:function(){return i.isLocalhostUrl}}),r.o(i,"isReactNative")&&r.d(t,{isReactNative:function(){return i.isReactNative}}),r.o(i,"isWsUrl")&&r.d(t,{isWsUrl:function(){return i.isWsUrl}}),r.o(i,"payloadId")&&r.d(t,{payloadId:function(){return i.payloadId}})},90110:function(e,t,r){r.d(t,{CX:function(){return a},L2:function(){return o},by:function(){return s},i5:function(){return n}});var i=r(79806);function n(e){return i.dQ.includes(e)}function s(e){return Object.keys(i.xK).includes(e)?i.xK[e]:i.xK[i.JV]}function o(e){const t=Object.values(i.xK).find((t=>t.code===e));return t||i.xK[i.JV]}function a(e,t,r){return e.message.includes("getaddrinfo ENOTFOUND")||e.message.includes("connect ECONNREFUSED")?new Error(`Unavailable ${r} RPC url at ${t}`):e}},71937:function(e,t,r){r.d(t,{CS:function(){return o},RI:function(){return h},o0:function(){return s},sT:function(){return a},tm:function(){return c}});var i=r(90110),n=r(79806);
1function s(e=3){return Date.now()*Math.pow(10,e)+Math.floor(Math.random()*Math.pow(10,e))}function o(e=6){return BigInt(s(e))}function a(e,t,r){return{id:r||s(),jsonrpc:"2.0",method:e,params:t}}function c(e,t){return{id:e,jsonrpc:"2.0",result:t}}function h(e,t,r){return{id:e,jsonrpc:"2.0",error:l(t,r)}}function l(e,t){return void 0===e?(0,i.by)(n.O4):("string"==typeof e&&(e=Object.assign(Object.assign({},(0,i.by)(n.CA)),{message:e})),void 0!==t&&(e.data=t),(0,i.i5)(e.code)&&(e=(0,i.L2)(e.code)),e)}},56186:function(e,t,r){r.d(t,{IJsonRpcProvider:function(){return o.x0},formatJsonRpcError:function(){return s.RI},formatJsonRpcRequest:function(){return s.sT},formatJsonRpcResult:function(){return s.tm},getBigIntRpcId:function(){return s.CS},isHttpUrl:function(){return a.jK},isJsonRpcError:function(){return c.jg},isJsonRpcRequest:function(){return c.DW},isJsonRpcResponse:function(){return c.u},isJsonRpcResult:function(){return c.k4},isLocalhostUrl:function(){return a.JF},isWsUrl:function(){return a.UZ},parseConnectionError:function(){return i.CX},payloadId:function(){return s.o0}});r(79806);var i=r(90110),n=r(9698);r.o(n,"IJsonRpcProvider")&&r.d(t,{IJsonRpcProvider:function(){return n.IJsonRpcProvider}}),r.o(n,"formatJsonRpcError")&&r.d(t,{formatJsonRpcError:function(){return n.formatJsonRpcError}}),r.o(n,"formatJsonRpcRequest")&&r.d(t,{formatJsonRpcRequest:function(){return n.formatJsonRpcRequest}}),r.o(n,"formatJsonRpcResult")&&r.d(t,{formatJsonRpcResult:function(){return n.formatJsonRpcResult}}),r.o(n,"getBigIntRpcId")&&r.d(t,{getBigIntRpcId:function(){return n.getBigIntRpcId}}),r.o(n,"isHttpUrl")&&r.d(t,{isHttpUrl:function(){return n.isHttpUrl}}),r.o(n,"isJsonRpcError")&&r.d(t,{isJsonRpcError:function(){return n.isJsonRpcError}}),r.o(n,"isJsonRpcRequest")&&r.d(t,{isJsonRpcRequest:function(){return n.isJsonRpcRequest}}),r.o(n,"isJsonRpcResponse")&&r.d(t,{isJsonRpcResponse:function(){return n.isJsonRpcResponse}}),r.o(n,"isJsonRpcResult")&&r.d(t,{isJsonRpcResult:function(){return n.isJsonRpcResult}}),r.o(n,"isLocalhostUrl")&&r.d(t,{isLocalhostUrl:function(){return n.isLocalhostUrl}}),r.o(n,"isReactNative")&&r.d(t,{isReactNative:function(){return n.isReactNative}}),r.o(n,"isWsUrl")&&r.d(t,{isWsUrl:function(){return n.isWsUrl}}),r.o(n,"payloadId")&&r.d(t,{payloadId:function(){return n.payloadId}});var s=r(71937),o=r(64085),a=r(46119),c=r(84733)},64085:function(e,t,r){r.d(t,{x0:function(){return s}});class i{}class n extends i{constructor(){super()}}class s extends n{constructor(e){super()}}},46119:function(e,t,r){r.d(t,{JF:function(){return o},UZ:function(){return s},jK:function(){return n}});function i(e,t){const r=function(e){const t=e.match(new RegExp(/^\w+:/,"gi"));if(t&&t.length)return t[0]}(e);return void 0!==r&&new RegExp(t).test(r)}function n(e){return i(e,"^https?:")}function s(e){return i(e,"^wss?:")}function o(e){return new RegExp("wss?://localhost(:d{2,5})?").test(e)}},84733:function(e,t,r){function i(e){return"object"==typeof e&&"id"in e&&"jsonrpc"in e&&"2.0"===e.jsonrpc}function n(e){return i(e)&&"method"in e}function s(e){return i(e)&&(o(e)||a(e))}function o(e){return"result"in e}function a(e){return"error"in e}r.d(t,{DW:function(){return n},jg:function(){return a},k4:function(){return o},u:function(){return s}})},28939:function(e,t,r){r.d(t,{Z:function(){return c}});var i=r(17187),n=r(85094),s=r(56186);const o=e=>e.split("?")[0],a=typeof WebSocket<"u"?WebSocket:typeof r.g<"u"&&typeof r.g.WebSocket<"u"?r.g.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:r(72030);class c{constructor(e){if(this.url=e,this.events=new i.EventEmitter,this.registering=!1,!(0,s.isWsUrl)(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)=>{typeof this.socket>"u"?t(new Error("Connection already closed")):(this.socket.onclose=t=>{this.onClose(t),e()},this.socket.close())}))}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send((0,n.u)(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!(0,s.isWsUrl)(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const e=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=e||this.events.listenerCount("open")>=e)&&this.events.setMaxListeners(e+1),new Promise(((e,t)=>{this.events.once("register_error",(e=>{this.resetMaxListeners(),t(e)})),this.events.once("open",(()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return t(new Error("WebSocket connection is missing or invalid"));e(this.socket)}))}))}return this.url=e,this.registering=!0,new Promise(((t,i)=>{const n=(0,s.isReactNative)()?void 0:{rejectUnauthorized:!(0,s.isLocalhostUrl)(e)},o=new a(e,[],n);typeof WebSocket<"u"||typeof r.g<"u"&&typeof r.g.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u"?o.onerror=e=>{const t=e;i(this.emitError(t.error))}:o.on("error",(e=>{i(this.emitError(e))})),o.onopen=()=>{this.onOpen(o),t(o)}}))}onOpen(e){e.onmessage=e=>this.onPayload(e),e.onclose=e=>this.onClose(e),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;const t="string"==typeof e.data?(0,n.D)(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const r=this.parseError(t),i=r.message||r.toString(),n=(0,s.formatJsonRpcError)(e,i);this.events.emit("payload",n)}parseError(e,t=this.url){return(0,s.parseConnectionError)(e,o(t),"WS")}
1resetMaxListeners(){this.events.getMaxListeners()>10&&this.events.setMaxListeners(10)}emitError(e){const t=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${o(this.url)}`));return this.events.emit("register_error",t),t}}},72030:function(e){e.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}},22229:function(e,t,r){r.d(t,{Z:function(){return U}});const i=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,n=/"(?: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*:/,s=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function o(e,t){if(!("__proto__"===e||"constructor"===e&&t&&"object"==typeof t&&"prototype"in t))return t;!function(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}(e)}function a(e,t={}){if("string"!=typeof e)return e;if('"'===e[0]&&'"'===e[e.length-1]&&-1===e.indexOf("\\"))return e.slice(1,-1);const r=e.trim();if(r.length<=9)switch(r.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(!s.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(i.test(e)||n.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,o)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}var c=r(48764).Buffer;function h(e,...t){try{return(r=e(...t))&&"function"==typeof r.then?r:Promise.resolve(r)}catch(e){return Promise.reject(e)}var r}function l(e){if(function(e){const t=typeof e;return null===e||"object"!==t&&"function"!==t}(e))return String(e);if(function(e){const t=Object.getPrototypeOf(e);return!t||t.isPrototypeOf(Object)}(e)||Array.isArray(e))return JSON.stringify(e);if("function"==typeof e.toJSON)return l(e.toJSON());throw new Error("[unstorage] Cannot stringify value!")}const u="base64:";function d(e){return"string"==typeof e?e:u+function(e){if(globalThis.Buffer)return c.from(e).toString("base64");return globalThis.btoa(String.fromCodePoint(...e))}(e)}function p(e){return"string"!=typeof e?e:e.startsWith(u)?function(e){if(globalThis.Buffer)return c.from(e,"base64");return Uint8Array.from(globalThis.atob(e),(e=>e.codePointAt(0)))}(e.slice(u.length)):e}function f(e){return e&&e.split("?")[0]?.replace(/[/\\]/g,":").replace(/:+/g,":").replace(/^:|:$/g,"")||""}function g(...e){return f(e.join(":"))}function y(e){return(e=f(e))?e+":":""}const m=()=>{const e=new Map;return{name:"memory",getInstance:()=>e,hasItem(t){return e.has(t)},getItem(t){return e.get(t)??null},getItemRaw(t){return e.get(t)??null},setItem(t,r){e.set(t,r)},setItemRaw(t,r){e.set(t,r)},removeItem(t){e.delete(t)},getKeys(){return[...e.keys()]},clear(){e.clear()},dispose(){e.clear()}}};function w(e={}){const t={mounts:{"":e.driver||m()},mountpoints:[""],watching:!1,watchListeners:[],unwatch:{}},r=e=>{for(const r of t.mountpoints)if(e.startsWith(r))return{base:r,relativeKey:e.slice(r.length),driver:t.mounts[r]};return{base:"",relativeKey:e,driver:t.mounts[""]}},i=(e,r)=>t.mountpoints.filter((t=>t.startsWith(e)||r&&e.startsWith(t))).map((r=>({relativeBase:e.length>r.length?e.slice(r.length):void 0,mountpoint:r,driver:t.mounts[r]}))),n=(e,r)=>{if(t.watching){r=f(r);for(const i of t.watchListeners)i(e,r)}},s=async()=>{if(t.watching){for(const e in t.unwatch)await t.unwatch[e]();t.unwatch={},t.watching=!1}},o=(e,t,i)=>{const n=new Map,s=e=>{let t=n.get(e.base);return t||(t={driver:e.driver,base:e.base,items:[]},n.set(e.base,t)),t};for(const i of e){const e="string"==typeof i,n=f(e?i:i.key),o=e?void 0:i.value,a=e||!i.options?t:{...t,...i.options},c=r(n);s(c).items.push({key:n,value:o,relativeKey:c.relativeKey,options:a})}return Promise.all([...n.values()].map((e=>i(e)))).then((e=>e.flat()))},c={hasItem(e,t={}){e=f(e);const{relativeKey:i,driver:n}=r(e);return h(n.hasItem,i,t)},getItem(e,t={}){e=f(e);const{relativeKey:i,driver:n}=r(e);return h(n.getItem,i,t).then((e=>a(e)))},getItems(e,t={}){return o(e,t,(e=>e.driver.getItems?h(e.driver.getItems,e.items.map((e=>({key:e.relativeKey,options:e.options}))),t).then((t=>t.map((t=>({key:g(e.base,t.key),value:a(t.value)}))))):Promise.all(e.items.map((t=>h(e.driver.getItem,t.relativeKey,t.options).then((e=>({key:t.key,value:a(e)}))))))))},getItemRaw(e,t={}){e=f(e);const{relativeKey:i,driver:n}=r(e);return n.getItemRaw?h(n.getItemRaw,i,t):h(n.getItem,i,t).then((e=>p(e)))},async setItem(e,t,i={}){if(void 0===t)return c.removeItem(e);e=f(e);const{relativeKey:s,driver:o}=r(e);
1o.setItem&&(await h(o.setItem,s,l(t),i),o.watch||n("update",e))},async setItems(e,t){await o(e,t,(async e=>{if(e.driver.setItems)return h(e.driver.setItems,e.items.map((e=>({key:e.relativeKey,value:l(e.value),options:e.options}))),t);e.driver.setItem&&await Promise.all(e.items.map((t=>h(e.driver.setItem,t.relativeKey,l(t.value),t.options))))}))},async setItemRaw(e,t,i={}){if(void 0===t)return c.removeItem(e,i);e=f(e);const{relativeKey:s,driver:o}=r(e);if(o.setItemRaw)await h(o.setItemRaw,s,t,i);else{if(!o.setItem)return;await h(o.setItem,s,d(t),i)}o.watch||n("update",e)},async removeItem(e,t={}){"boolean"==typeof t&&(t={removeMeta:t}),e=f(e);const{relativeKey:i,driver:s}=r(e);s.removeItem&&(await h(s.removeItem,i,t),(t.removeMeta||t.removeMata)&&await h(s.removeItem,i+"$",t),s.watch||n("remove",e))},async getMeta(e,t={}){"boolean"==typeof t&&(t={nativeOnly:t}),e=f(e);const{relativeKey:i,driver:n}=r(e),s=Object.create(null);if(n.getMeta&&Object.assign(s,await h(n.getMeta,i,t)),!t.nativeOnly){const e=await h(n.getItem,i+"$",t).then((e=>a(e)));e&&"object"==typeof e&&("string"==typeof e.atime&&(e.atime=new Date(e.atime)),"string"==typeof e.mtime&&(e.mtime=new Date(e.mtime)),Object.assign(s,e))}return s},setMeta(e,t,r={}){return this.setItem(e+"$",t,r)},removeMeta(e,t={}){return this.removeItem(e+"$",t)},async getKeys(e,t={}){e=y(e);const r=i(e,!0);let n=[];const s=[];let o=!0;for(const e of r){e.driver.flags?.maxDepth||(o=!1);const r=await h(e.driver.getKeys,e.relativeBase,t);for(const t of r){const r=e.mountpoint+f(t);n.some((e=>r.startsWith(e)))||s.push(r)}n=[e.mountpoint,...n.filter((t=>!t.startsWith(e.mountpoint)))]}const a=void 0!==t.maxDepth&&!o;return s.filter((r=>(!a||function(e,t){if(void 0===t)return!0;let r=0,i=e.indexOf(":");for(;i>-1;)r++,i=e.indexOf(":",i+1);return r<=t}(r,t.maxDepth))&&function(e,t){return t?e.startsWith(t)&&"$"!==e[e.length-1]:"$"!==e[e.length-1]}(r,e)))},async clear(e,t={}){e=y(e),await Promise.all(i(e,!1).map((async e=>{if(e.driver.clear)return h(e.driver.clear,e.relativeBase,t);if(e.driver.removeItem){const r=await e.driver.getKeys(e.relativeBase||"",t);return Promise.all(r.map((r=>e.driver.removeItem(r,t))))}})))},async dispose(){await Promise.all(Object.values(t.mounts).map((e=>v(e))))},async watch(e){return await(async()=>{if(!t.watching){t.watching=!0;for(const e in t.mounts)t.unwatch[e]=await b(t.mounts[e],n,e)}})(),t.watchListeners.push(e),async()=>{t.watchListeners=t.watchListeners.filter((t=>t!==e)),0===t.watchListeners.length&&await s()}},async unwatch(){t.watchListeners=[],await s()},mount(e,r){if((e=y(e))&&t.mounts[e])throw new Error(`already mounted at ${e}`);return e&&(t.mountpoints.push(e),t.mountpoints.sort(((e,t)=>t.length-e.length))),t.mounts[e]=r,t.watching&&Promise.resolve(b(r,n,e)).then((r=>{t.unwatch[e]=r})).catch(console.error),c},async unmount(e,r=!0){(e=y(e))&&t.mounts[e]&&(t.watching&&e in t.unwatch&&(t.unwatch[e]?.(),delete t.unwatch[e]),r&&await v(t.mounts[e]),t.mountpoints=t.mountpoints.filter((t=>t!==e)),delete t.mounts[e])},getMount(e=""){e=f(e)+":";const t=r(e);return{driver:t.driver,base:t.base}},getMounts(e="",t={}){e=f(e);return i(e,t.parents).map((e=>({driver:e.driver,base:e.mountpoint})))},keys:(e,t={})=>c.getKeys(e,t),get:(e,t={})=>c.getItem(e,t),set:(e,t,r={})=>c.setItem(e,t,r),has:(e,t={})=>c.hasItem(e,t),del:(e,t={})=>c.removeItem(e,t),remove:(e,t={})=>c.removeItem(e,t)};return c}function b(e,t,r){return e.watch?e.watch(((e,i)=>t(e,r+i))):()=>{}}async function v(e){"function"==typeof e.dispose&&await h(e.dispose)}function E(e){return new Promise(((t,r)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>r(e.error)}))}function I(e,t){let r;return(i,n)=>(()=>{if(r)return r;const i=indexedDB.open(e);return i.onupgradeneeded=()=>i.result.createObjectStore(t),r=E(i),r.then((e=>{e.onclose=()=>r=void 0}),(()=>{})),r})().then((e=>n(e.transaction(t,i).objectStore(t))))}let S;function P(){return S||(S=I("keyval-store","keyval")),S}function O(e,t=P()){return t("readonly",(t=>E(t.get(e))))}function _(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},E(e.transaction)}var x=r(85094);var R=(e={})=>{const t=e.base&&e.base.length>0?`${e.base}:`:"",r=e=>t+e;let i;return e.dbName&&e.storeName&&(i=I(e.dbName,e.storeName)),{name:"idb-keyval",options:e,async hasItem(e){return!(typeof await O(r(e),i)>"u")},async getItem(e){return await O(r(e),i)??null},setItem(e,t){return function(e,t,r=P()){return r("readwrite",(r=>(r.put(t,e),E(r.transaction))))}(r(e),t,i)},removeItem(e){return function(e,t=P()){return t("readwrite",(t=>(t.delete(e),E(t.transaction))))}(r(e),i)},getKeys(){return function(e=P()){return e("readonly",(e=>{if(e.getAllKeys)return E(e.getAllKeys());const t=[];return _(e,(e=>t.push(e.key))).then((()=>t))}))}(i)},clear(){return function(e=P()){return e("readwrite",(e=>(e.clear(),E(e.transaction))))}(i)}}};class A{constructor(){this.indexedDb=w({driver:R({dbName:"WALLET_CONNECT_V2_INDEXED_DB",storeName:"keyvaluestorage"})})}async getKeys(){return this.indexedDb.getKeys()}async getEntries(){return(await this.indexedDb.getItems(await this.indexedDb.getKeys())).map((e=>[e.key,e.value]))}async getItem(e){const t=await this.indexedDb.getItem(e);if(null!==t)return t}async setItem(e,t){await this.indexedDb.setItem(e,(0,x.u)(t))}async removeItem(e){await this.indexedDb.removeItem(e)}}var C=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof r.g<"u"?r.g:typeof self<"u"?self:{}
1,N={exports:{}};function T(e){var t;return[e[0],(0,x.D)(null!=(t=e[1])?t:"")]}!function(){let e;function t(){}e=t,e.prototype.getItem=function(e){return this.hasOwnProperty(e)?String(this[e]):null},e.prototype.setItem=function(e,t){this[e]=String(t)},e.prototype.removeItem=function(e){delete this[e]},e.prototype.clear=function(){const e=this;Object.keys(e).forEach((function(t){e[t]=void 0,delete e[t]}))},e.prototype.key=function(e){return e=e||0,Object.keys(this)[e]},e.prototype.__defineGetter__("length",(function(){return Object.keys(this).length})),typeof C<"u"&&C.localStorage?N.exports=C.localStorage:typeof window<"u"&&window.localStorage?N.exports=window.localStorage:N.exports=new t}();class j{constructor(){this.localStorage=N.exports}async getKeys(){return Object.keys(this.localStorage)}async getEntries(){return Object.entries(this.localStorage).map(T)}async getItem(e){const t=this.localStorage.getItem(e);if(null!==t)return(0,x.D)(t)}async setItem(e,t){this.localStorage.setItem(e,(0,x.u)(t))}async removeItem(e){this.localStorage.removeItem(e)}}const k=async(e,t)=>{t.length&&t.forEach((async t=>{await e.removeItem(t)}))};class U{constructor(){this.initialized=!1,this.setInitialized=e=>{this.storage=e,this.initialized=!0};const e=new j;this.storage=e;try{(async(e,t,r)=>{const i="wc_storage_version",n=await t.getItem(i);if(n&&n>=1)return void r(t);const s=await e.getKeys();if(!s.length)return void r(t);const o=[];for(;s.length;){const r=s.shift();if(!r)continue;const i=r.toLowerCase();if(i.includes("wc@")||i.includes("walletconnect")||i.includes("wc_")||i.includes("wallet_connect")){const i=await e.getItem(r);await t.setItem(r,i),o.push(r)}}await t.setItem(i,1),r(t),k(e,o)})(e,new A,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)}))}}},91011:function(e,t,r){r.d(t,{Ep:function(){return O},Fd:function(){return P},Rt:function(){return _},gw:function(){return n.a},jI:function(){return S}});var i=r(36559),n=r.n(i),s=r(85094);const o="info",a="custom_context",c=1024e3;class h{constructor(e){this.nodeValue=e,this.sizeInBytes=(new TextEncoder).encode(this.nodeValue).length,this.next=null}get value(){return this.nodeValue}get size(){return this.sizeInBytes}}class l{constructor(e){this.head=null,this.tail=null,this.lengthInNodes=0,this.maxSizeInBytes=e,this.sizeInBytes=0}append(e){const t=new h(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(;null!==t;)e.push(t.value),t=t.next;return e}get length(){return this.lengthInNodes}get size(){return this.sizeInBytes}toOrderedArray(){return Array.from(this)}[Symbol.iterator](){let e=this.head;return{next:()=>{if(!e)return{done:!0,value:null};const t=e.value;return e=e.next,{done:!1,value:t}}}}}class u{constructor(e,t=c){this.level=e??"error",this.levelValue=i.levels.values[this.level],this.MAX_LOG_SIZE_IN_BYTES=t,this.logs=new l(this.MAX_LOG_SIZE_IN_BYTES)}forwardToConsole(e,t){t===i.levels.values.error?console.error(e):t===i.levels.values.warn?console.warn(e):t===i.levels.values.debug?console.debug(e):t===i.levels.values.trace?console.trace(e):console.log(e)}appendToLogs(e){this.logs.append((0,s.u)({timestamp:(new Date).toISOString(),log:e}));const t="string"==typeof e?JSON.parse(e).level:e.level;t>=this.levelValue&&this.forwardToConsole(e,t)}getLogs(){return this.logs}clearLogs(){this.logs=new l(this.MAX_LOG_SIZE_IN_BYTES)}getLogArray(){return Array.from(this.logs)}logsToBlob(e){const t=this.getLogArray();return t.push((0,s.u)({extraMetadata:e})),new Blob(t,{type:"application/json"})}}class d{constructor(e,t=c){this.baseChunkLogger=new u(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)),r=document.createElement("a");r.href=t,r.download=`walletconnect-logs-${(new Date).toISOString()}.txt`,document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(t)}}class p{constructor(e,t=c){this.baseChunkLogger=new u(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 f=Object.defineProperty,g=Object.defineProperties,y=Object.getOwnPropertyDescriptors,m=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,v=(e,t,r)=>t in e?f(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,E=(e,t)=>{for(var r in t||(t={}))w.call(t,r)&&v(e,r,t[r]);if(m)for(var r of m(t))b.call(t,r)&&v(e,r,t[r]);return e},I=(e,t)=>g(e,y(t));function S(e){return I(E({},e),{level:e?.level||o})}function P(e,t=a){let r="";return r=typeof e.bindings>"u"?function(e,t=a){return e[t]||""}(e,t):e.bindings().context||"",r}function O(e,t,r=a){const i=function(e,t,r=a){const i=P(e,r);return i.trim()?`${i}/${t}`:t}(e,t,r);return function(e,t,r=a){return e[r]=t,e}(e.child({context:i}),i,r)}function _(e){return typeof e.loggerOverride<"u"&&"string"!=typeof e.loggerOverride?{logger:e.loggerOverride,chunkLoggerController:null}:typeof window<"u"?function(e){var t,r;const i=new d(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:n()(I(E({},e.opts),{level:"trace",browser:I(E({},null==(r=e.opts)?void 0:r.browser),{write:e=>i.write(e)})})),chunkLoggerController:i}}(e):function(e){var t;const r=new p(null==(t=e.opts)?void 0:t.level,e.maxSizeInBytes);return{logger:n()(I(E({},e.opts),{level:"trace"}),r),chunkLoggerController:r}}(e)}},37968:function(e,t,r){r.d(t,{iO:function(){return i}});const i={waku:{publish:"waku_publish",batchPublish:"waku_batchPublish",subscribe:"waku_subscribe",batchSubscribe:"waku_batchSubscribe",subscription:"waku_subscription",unsubscribe:"waku_unsubscribe",batchUnsubscribe:"waku_batchUnsubscribe",batchFetchMessages:"waku_batchFetchMessages"},irn:{publish:"irn_publish",batchPublish:"irn_batchPublish",subscribe:"irn_subscribe",batchSubscribe:"irn_batchSubscribe",subscription:"irn_subscription",unsubscribe:"irn_unsubscribe",batchUnsubscribe:"irn_batchUnsubscribe",batchFetchMessages:"irn_batchFetchMessages"},iridium:{publish:"iridium_publish",batchPublish:"iridium_batchPublish",subscribe:"iridium_subscribe",batchSubscribe:"iridium_batchSubscribe",subscription:"iridium_subscription",unsubscribe:"iridium_unsubscribe",batchUnsubscribe:"iridium_batchUnsubscribe",batchFetchMessages:"iridium_batchFetchMessages"}}},49392:function(e,t,r){r.d(t,{Au:function(){return Pr},bG:function(){return Er},vf:function(){return Or},xp:function(){return Sr}});var i=r(66736),n=r(85094);function s(e,...t){if(!function(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function o(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}const a="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,c=e=>
1new DataView(e.buffer,e.byteOffset,e.byteLength);function h(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e)),s(e),e}class l{clone(){return this._cloneInto()}}function u(e=32){if(a&&"function"==typeof a.getRandomValues)return a.getRandomValues(new Uint8Array(e));if(a&&"function"==typeof a.randomBytes)return a.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}class d extends l{constructor(e,t,r,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=r,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=c(this.buffer)}update(e){o(this);const{view:t,buffer:r,blockLen:i}=this,n=(e=h(e)).length;for(let s=0;s<n;){const o=Math.min(i-this.pos,n-s);if(o!==i)r.set(e.subarray(s,s+o),this.pos),this.pos+=o,s+=o,this.pos===i&&(this.process(t,0),this.pos=0);else{const t=c(e);for(;i<=n-s;s+=i)this.process(t,s)}}return this.length+=e.length,this.roundClean(),this}digestInto(e){o(this),function(e,t){s(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}(e,this),this.finished=!0;const{buffer:t,view:r,blockLen:i,isLE:n}=this;let{pos:a}=this;t[a++]=128,this.buffer.subarray(a).fill(0),this.padOffset>i-a&&(this.process(r,0),a=0);for(let e=a;e<i;e++)t[e]=0;(function(e,t,r,i){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,r,i);const n=BigInt(32),s=BigInt(4294967295),o=Number(r>>n&s),a=Number(r&s),c=i?4:0,h=i?0:4;e.setUint32(t+c,o,i),e.setUint32(t+h,a,i)})(r,i-8,BigInt(8*this.length),n),this.process(r,0);const h=c(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=l/4,d=this.get();if(u>d.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e<u;e++)h.setUint32(4*e,d[e],n)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const r=e.slice(0,t);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:r,length:i,finished:n,destroyed:s,pos:o}=this;return e.length=i,e.pos=o,e.finished=n,e.destroyed=s,i%t&&e.buffer.set(r),e}}const p=BigInt(2**32-1),f=BigInt(32);function g(e,t=!1){return t?{h:Number(e&p),l:Number(e>>f&p)}:{h:0|Number(e>>f&p),l:0|Number(e&p)}}const y={fromBig:g,split:function(e,t=!1){let r=new Uint32Array(e.length),i=new Uint32Array(e.length);for(let n=0;n<e.length;n++){const{h:s,l:o}=g(e[n],t);[r[n],i[n]]=[s,o]}return[r,i]},toBig:(e,t)=>BigInt(e>>>0)<<f|BigInt(t>>>0),shrSH:(e,t,r)=>e>>>r,shrSL:(e,t,r)=>e<<32-r|t>>>r,rotrSH:(e,t,r)=>e>>>r|t<<32-r,rotrSL:(e,t,r)=>e<<32-r|t>>>r,rotrBH:(e,t,r)=>e<<64-r|t>>>r-32,rotrBL:(e,t,r)=>e>>>r-32|t<<64-r,rotr32H:(e,t)=>t,rotr32L:(e,t)=>e,rotlSH:(e,t,r)=>e<<r|t>>>32-r,rotlSL:(e,t,r)=>t<<r|e>>>32-r,rotlBH:(e,t,r)=>t<<r-32|e>>>64-r,rotlBL:(e,t,r)=>e<<r-32|t>>>64-r,add:function(e,t,r,i){const n=(t>>>0)+(i>>>0);return{h:e+r+(n/2**32|0)|0,l:0|n}},add3L:(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),add3H:(e,t,r,i)=>t+r+i+(e/2**32|0)|0,add4L:(e,t,r,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0),add4H:(e,t,r,i,n)=>t+r+i+n+(e/2**32|0)|0,add5H:(e,t,r,i,n,s)=>t+r+i+n+s+(e/2**32|0)|0,add5L:(e,t,r,i,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(i>>>0)+(n>>>0)},[m,w]=y.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0
1xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map((e=>BigInt(e)))),b=new Uint32Array(80),v=new Uint32Array(80);class E extends d{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){const{Ah:e,Al:t,Bh:r,Bl:i,Ch:n,Cl:s,Dh:o,Dl:a,Eh:c,El:h,Fh:l,Fl:u,Gh:d,Gl:p,Hh:f,Hl:g}=this;return[e,t,r,i,n,s,o,a,c,h,l,u,d,p,f,g]}set(e,t,r,i,n,s,o,a,c,h,l,u,d,p,f,g){this.Ah=0|e,this.Al=0|t,this.Bh=0|r,this.Bl=0|i,this.Ch=0|n,this.Cl=0|s,this.Dh=0|o,this.Dl=0|a,this.Eh=0|c,this.El=0|h,this.Fh=0|l,this.Fl=0|u,this.Gh=0|d,this.Gl=0|p,this.Hh=0|f,this.Hl=0|g}process(e,t){for(let r=0;r<16;r++,t+=4)b[r]=e.getUint32(t),v[r]=e.getUint32(t+=4);for(let e=16;e<80;e++){const t=0|b[e-15],r=0|v[e-15],i=y.rotrSH(t,r,1)^y.rotrSH(t,r,8)^y.shrSH(t,r,7),n=y.rotrSL(t,r,1)^y.rotrSL(t,r,8)^y.shrSL(t,r,7),s=0|b[e-2],o=0|v[e-2],a=y.rotrSH(s,o,19)^y.rotrBH(s,o,61)^y.shrSH(s,o,6),c=y.rotrSL(s,o,19)^y.rotrBL(s,o,61)^y.shrSL(s,o,6),h=y.add4L(n,c,v[e-7],v[e-16]),l=y.add4H(h,i,a,b[e-7],b[e-16]);b[e]=0|l,v[e]=0|h}let{Ah:r,Al:i,Bh:n,Bl:s,Ch:o,Cl:a,Dh:c,Dl:h,Eh:l,El:u,Fh:d,Fl:p,Gh:f,Gl:g,Hh:E,Hl:I}=this;for(let e=0;e<80;e++){const t=y.rotrSH(l,u,14)^y.rotrSH(l,u,18)^y.rotrBH(l,u,41),S=y.rotrSL(l,u,14)^y.rotrSL(l,u,18)^y.rotrBL(l,u,41),P=l&d^~l&f,O=u&p^~u&g,_=y.add5L(I,S,O,w[e],v[e]),x=y.add5H(_,E,t,P,m[e],b[e]),R=0|_,A=y.rotrSH(r,i,28)^y.rotrBH(r,i,34)^y.rotrBH(r,i,39),C=y.rotrSL(r,i,28)^y.rotrBL(r,i,34)^y.rotrBL(r,i,39),N=r&n^r&o^n&o,T=i&s^i&a^s&a;E=0|f,I=0|g,f=0|d,g=0|p,d=0|l,p=0|u,({h:l,l:u}=y.add(0|c,0|h,0|x,0|R)),c=0|o,h=0|a,o=0|n,a=0|s,n=0|r,s=0|i;const j=y.add3L(R,C,T);r=y.add3H(j,x,A,N),i=0|j}({h:r,l:i}=y.add(0|this.Ah,0|this.Al,0|r,0|i)),({h:n,l:s}=y.add(0|this.Bh,0|this.Bl,0|n,0|s)),({h:o,l:a}=y.add(0|this.Ch,0|this.Cl,0|o,0|a)),({h:c,l:h}=y.add(0|this.Dh,0|this.Dl,0|c,0|h)),({h:l,l:u}=y.add(0|this.Eh,0|this.El,0|l,0|u)),({h:d,l:p}=y.add(0|this.Fh,0|this.Fl,0|d,0|p)),({h:f,l:g}=y.add(0|this.Gh,0|this.Gl,0|f,0|g)),({h:E,l:I}=y.add(0|this.Hh,0|this.Hl,0|E,0|I)),this.set(r,i,n,s,o,a,c,h,l,u,d,p,f,g,E,I)}roundClean(){b.fill(0),v.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const I=function(e){const t=t=>e().update(h(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}((()=>new E)),S=BigInt(0),P=BigInt(1),O=BigInt(2);function _(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&"Uint8Array"===e.constructor.name}function x(e){if(!_(e))throw new Error("Uint8Array expected")}function R(e,t){if("boolean"!=typeof t)throw new Error(e+" boolean expected, got "+t)}const A=Array.from({length:256},((e,t)=>t.toString(16).padStart(2,"0")));function C(e){x(e);let t="";for(let r=0;r<e.length;r++)t+=A[e[r]];return t}function N(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return""===e?S:BigInt("0x"+e)}const T=48,j=57,k=65,U=70,D=97,L=102;function q(e){return e>=T&&e<=j?e-T:e>=k&&e<=U?e-(k-10):e>=D&&e<=L?e-(D-10):void 0}function B(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);const t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);const i=new Uint8Array(r);for(let t=0,n=0;t<r;t++,n+=2){const r=q(e.charCodeAt(n)),s=q(e.charCodeAt(n+1));
vendor: 4,352 bytes, line 1
1if(void 0===r||void 0===s){const t=e[n]+e[n+1];throw new Error('hex string expected, got non-hex character "'+t+'" at index '+n)}i[t]=16*r+s}return i}function M(e){return x(e),N(C(Uint8Array.from(e).reverse()))}function $(e,t){return B(e.toString(16).padStart(2*t,"0"))}function z(e,t){return $(e,t).reverse()}function V(e,t,r){let i;if("string"==typeof t)try{i=B(t)}catch(t){throw new Error(e+" must be hex string or Uint8Array, cause: "+t)}else{if(!_(t))throw new Error(e+" must be hex string or Uint8Array");i=Uint8Array.from(t)}const n=i.length;if("number"==typeof r&&n!==r)throw new Error(e+" of length "+r+" expected, got "+n);return i}function H(...e){let t=0;for(let r=0;r<e.length;r++){const i=e[r];x(i),t+=i.length}const r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){const n=e[t];r.set(n,i),i+=n.length}return r}const K=e=>"bigint"==typeof e&&S<=e;function F(e,t,r,i){if(!function(e,t,r){return K(e)&&K(t)&&K(r)&&t<=e&&e<r}(t,r,i))throw new Error("expected valid "+e+": "+r+" <= n < "+i+", got "+t)}const W=e=>(O<<BigInt(e-1))-P,J={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||_(e),isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function G(e,t,r={}){const i=(t,r,i)=>{const n=J[r];if("function"!=typeof n)throw new Error("invalid validator function");const s=e[t];if(!(i&&void 0===s||n(s,e)))throw new Error("param "+String(t)+" is invalid. Expected "+r+", got "+s)};for(const[e,r]of Object.entries(t))i(e,r,!1);for(const[e,t]of Object.entries(r))i(e,t,!0);return e}function Y(e){const t=new WeakMap;return(r,...i)=>{const n=t.get(r);if(void 0!==n)return n;const s=e(r,...i);return t.set(r,s),s}}const Z=BigInt(0),Q=BigInt(1),X=BigInt(2),ee=BigInt(3),te=BigInt(4),re=BigInt(5),ie=BigInt(8);function ne(e,t){const r=e%t;return r>=Z?r:t+r}function se(e,t,r){if(t<Z)throw new Error("invalid exponent, negatives unsupported");if(r<=Z)throw new Error("invalid modulus");if(r===Q)return Z;let i=Q;for(;t>Z;)t&Q&&(i=i*e%r),e=e*e%r,t>>=Q;return i}function oe(e,t,r){let i=e;for(;t-- >Z;)i*=i,i%=r;return i}function ae(e,t){if(e===Z)throw new Error("invert: expected non-zero number");if(t<=Z)throw new Error("invert: expected positive modulus, got "+t);let r=ne(e,t),i=t,n=Z,s=Q;for(;r!==Z;){const e=i%r,t=n-s*(i/r);i=r,r=e,n=s,s=t}if(i!==Q)throw new Error("invert: does not exist");return ne(n,t)}function ce(e){if(e%te===ee){const t=(e+Q)/te;return function(e,r){const i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw new Error("Cannot find square root");return i}}if(e%ie===re){const t=(e-re)/ie;return function(e,r){const i=e.mul(r,X),n=e.pow(i,t),s=e.mul(r,n),o=e.mul(e.mul(s,X),n),a=e.mul(s,e.sub(o,e.ONE));if(!e.eql(e.sqr(a),r))throw new Error("Cannot find square root");return a}}return function(e){const t=(e-Q)/X;let r,i,n;for(r=e-Q,i=0;r%X===Z;r/=X,i++);for(n=X;n<e&&se(n,t,e)!==e-Q;n++)if(n>1e3)throw new Error("Cannot find square root: likely non-prime P");if(1===i){const t=(e+Q)/te;return function(e,r){const i=e.pow(r,t);if(!e.eql(e.sqr(i),r))throw new Error("Cannot find square root");return i}}const s=(r+Q)/X;return function(e,o){if(e.pow(o,t)===e.neg(e.ONE))throw new Error("Cannot find square root");let a=i,c=e.pow(e.mul(e.ONE,n),r),h=e.pow(o,s),l=e.pow(o,r);for(;!e.eql(l,e.ONE);){if(e.eql(l,e.ZERO))return e.ZERO;let t=1;for(let r=e.sqr(l);t<a&&!e.eql(r,e.ONE);t++)r=e.sqr(r);const r=e.pow(c,Q<<BigInt(a-t-1));c=e.sqr(r),h=e.mul(h,r),l=e.mul(l,c),a=t}return h}}(e)}const he=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function le(e,t){const r=void 0!==t?t:e.toString(2).length;return{nBitLength:r,nByteLength:Math.ceil(r/8)}}function ue(e,t,r=!1,i={}){if(e<=Z)throw new Error("invalid field: expected ORDER > 0, got "+e);const{nBitLength:n,nByteLength:s}=le(e,t);if(s>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let o;const a=Object.freeze({ORDER:e,isLE:r,BITS:n,BYTES:s,MASK:W(n),ZERO:Z,ONE:Q,create:t=>ne(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("invalid field element: expected bigint, got "+typeof t);return Z<=t&&t<e},is0:e=>e===Z,isOdd:e=>(e&Q)===Q,neg:t=>ne(-t,e),eql:(e,t)=>
1e===t,sqr:t=>ne(t*t,e),add:(t,r)=>ne(t+r,e),sub:(t,r)=>ne(t-r,e),mul:(t,r)=>ne(t*r,e),pow:(e,t)=>function(e,t,r){if(r<Z)throw new Error("invalid exponent, negatives unsupported");if(r===Z)return e.ONE;if(r===Q)return t;let i=e.ONE,n=t;for(;r>Z;)r&Q&&(i=e.mul(i,n)),n=e.sqr(n),r>>=Q;return i}(a,e,t),div:(t,r)=>ne(t*ae(r,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>ae(t,e),sqrt:i.sqrt||(t=>(o||(o=ce(e)),o(a,t))),invertBatch:e=>function(e,t){const r=new Array(t.length),i=t.reduce(((t,i,n)=>e.is0(i)?t:(r[n]=t,e.mul(t,i))),e.ONE),n=e.inv(i);return t.reduceRight(((t,i,n)=>e.is0(i)?t:(r[n]=e.mul(t,r[n]),e.mul(t,i))),n),r}(a,e),cmov:(e,t,r)=>r?t:e,toBytes:e=>r?z(e,s):$(e,s),fromBytes:e=>{if(e.length!==s)throw new Error("Field.fromBytes: expected "+s+" bytes, got "+e.length);return r?M(e):function(e){return N(C(e))}(e)}});return Object.freeze(a)}const de=BigInt(0),pe=BigInt(1);function fe(e,t){const r=t.negate();return e?r:t}function ge(e,t){if(!Number.isSafeInteger(e)||e<=0||e>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+e)}function ye(e,t){ge(e,t);return{windows:Math.ceil(t/e)+1,windowSize:2**(e-1)}}const me=new WeakMap,we=new WeakMap;function be(e){return we.get(e)||1}function ve(e,t,r,i){if(function(e,t){if(!Array.isArray(e))throw new Error("array expected");e.forEach(((e,r)=>{if(!(e instanceof t))throw new Error("invalid point at index "+r)}))}(r,e),function(e,t){if(!Array.isArray(e))throw new Error("array of scalars expected");e.forEach(((e,r)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+r)}))}(i,t),r.length!==i.length)throw new Error("arrays of points and scalars must have equal length");const n=e.ZERO,s=function(e){let t;for(t=0;e>S;e>>=P,t+=1);return t}(BigInt(r.length)),o=s>12?s-3:s>4?s-2:s?2:1,a=(1<<o)-1,c=new Array(a+1).fill(n);let h=n;for(let e=Math.floor((t.BITS-1)/o)*o;e>=0;e-=o){c.fill(n);for(let t=0;t<i.length;t++){const n=i[t],s=Number(n>>BigInt(e)&BigInt(a));c[s]=c[s].add(r[t])}let t=n;for(let e=c.length-1,r=n;e>0;e--)r=r.add(c[e]),t=t.add(r);if(h=h.add(t),0!==e)for(let e=0;e<o;e++)h=h.double()}return h}function Ee(e){return function(e){G(e,he.reduce(((e,t)=>(e[t]="function",e)),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"}))}(e.Fp),G(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...le(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}const Ie=BigInt(0),Se=BigInt(1),Pe=BigInt(2),Oe=BigInt(8),_e={zip215:!0};function xe(e){const t=function(e){const t=Ee(e);return G(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}(e),{Fp:r,n:i,prehash:n,hash:s,randomBytes:o,nByteLength:a,h:c}=t,h=Pe<<BigInt(8*a)-Se,l=r.create,u=ue(t.n,t.nBitLength),d=t.uvRatio||((e,t)=>{try{return{isValid:!0,value:r.sqrt(e*r.inv(t))}}catch{return{isValid:!1,value:Ie}}}),p=t.adjustScalarBytes||(e=>e),f=t.domain||((e,t,r)=>{if(R("phflag",r),t.length||r)throw new Error("Contexts/pre-hash are not supported");return e});function g(e,t){F("coordinate "+e,t,Ie,h)}function y(e){if(!(e instanceof b))throw new Error("ExtendedPoint expected")}const m=Y(((e,t)=>{const{ex:i,ey:n,ez:s}=e,o=e.is0();null==t&&(t=o?Oe:r.inv(s));const a=l(i*t),c=l(n*t),h=l(s*t);if(o)return{x:Ie,y:Se};if(h!==Se)throw new Error("invZ was invalid");return{x:a,y:c}})),w=Y((e=>{const{a:r,d:i}=t;if(e.is0())throw new Error("bad point: ZERO");const{ex:n,ey:s,ez:o,et:a}=e,c=l(n*n),h=l(s*s),u=l(o*o),d=l(u*u),p=l(c*r);if(l(u*l(p+h))!==l(d+l(i*l(c*h))))throw new Error("bad point: equation left != right (1)");if(l(n*s)!==l(o*a))throw new Error("bad point: equation left != right (2)");return!0}));
1class b{constructor(e,t,r,i){this.ex=e,this.ey=t,this.ez=r,this.et=i,g("x",e),g("y",t),g("z",r),g("t",i),Object.freeze(this)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(e){if(e instanceof b)throw new Error("extended point not allowed");const{x:t,y:r}=e||{};return g("x",t),g("y",r),new b(t,r,Se,l(t*r))}static normalizeZ(e){const t=r.invertBatch(e.map((e=>e.ez)));return e.map(((e,r)=>e.toAffine(t[r]))).map(b.fromAffine)}static msm(e,t){return ve(b,u,e,t)}_setWindowSize(e){I.setWindowSize(this,e)}assertValidity(){w(this)}equals(e){y(e);const{ex:t,ey:r,ez:i}=this,{ex:n,ey:s,ez:o}=e,a=l(t*o),c=l(n*i),h=l(r*o),u=l(s*i);return a===c&&h===u}is0(){return this.equals(b.ZERO)}negate(){return new b(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){const{a:e}=t,{ex:r,ey:i,ez:n}=this,s=l(r*r),o=l(i*i),a=l(Pe*l(n*n)),c=l(e*s),h=r+i,u=l(l(h*h)-s-o),d=c+o,p=d-a,f=c-o,g=l(u*p),y=l(d*f),m=l(u*f),w=l(p*d);return new b(g,y,w,m)}add(e){y(e);const{a:r,d:i}=t,{ex:n,ey:s,ez:o,et:a}=this,{ex:c,ey:h,ez:u,et:d}=e;if(r===BigInt(-1)){const e=l((s-n)*(h+c)),t=l((s+n)*(h-c)),r=l(t-e);if(r===Ie)return this.double();const i=l(o*Pe*d),p=l(a*Pe*u),f=p+i,g=t+e,y=p-i,m=l(f*r),w=l(g*y),v=l(f*y),E=l(r*g);return new b(m,w,E,v)}const p=l(n*c),f=l(s*h),g=l(a*i*d),m=l(o*u),w=l((n+s)*(c+h)-p-f),v=m-g,E=m+g,I=l(f-r*p),S=l(w*v),P=l(E*I),O=l(w*I),_=l(v*E);return new b(S,P,_,O)}subtract(e){return this.add(e.negate())}wNAF(e){return I.wNAFCached(this,e,b.normalizeZ)}multiply(e){const t=e;F("scalar",t,Se,i);const{p:r,f:n}=this.wNAF(t);return b.normalizeZ([r,n])[0]}multiplyUnsafe(e,t=b.ZERO){const r=e;return F("scalar",r,Ie,i),r===Ie?E:this.is0()||r===Se?this:I.wNAFCachedUnsafe(this,r,b.normalizeZ,t)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return I.unsafeLadder(this,i).is0()}toAffine(e){return m(this,e)}clearCofactor(){const{h:e}=t;return e===Se?this:this.multiplyUnsafe(e)}static fromHex(e,i=!1){const{d:n,a:s}=t,o=r.BYTES;e=V("pointHex",e,o),R("zip215",i);const a=e.slice(),c=e[o-1];a[o-1]=-129&c;const u=M(a),p=i?h:r.ORDER;F("pointHex.y",u,Ie,p);const f=l(u*u),g=l(f-Se),y=l(n*f-s);let{isValid:m,value:w}=d(g,y);if(!m)throw new Error("Point.fromHex: invalid y coordinate");const v=(w&Se)===Se,E=0!=(128&c);if(!i&&w===Ie&&E)throw new Error("Point.fromHex: x=0 and x_0=1");return E!==v&&(w=l(-w)),b.fromAffine({x:w,y:u})}static fromPrivateKey(e){return O(e).point}toRawBytes(){const{x:e,y:t}=this.toAffine(),i=z(t,r.BYTES);return i[i.length-1]|=e&Se?128:0,i}toHex(){return C(this.toRawBytes())}}b.BASE=new b(t.Gx,t.Gy,Se,l(t.Gx*t.Gy)),b.ZERO=new b(Ie,Se,Se,Ie);const{BASE:v,ZERO:E}=b,I=function(e,t){return{constTimeNegate:fe,hasPrecomputes(e){return 1!==be(e)},unsafeLadder(t,r,i=e.ZERO){let n=t;for(;r>de;)r&pe&&(i=i.add(n)),n=n.double(),r>>=pe;return i},precomputeWindow(e,r){const{windows:i,windowSize:n}=ye(r,t),s=[];let o=e,a=o;for(let e=0;e<i;e++){a=o,s.push(a);for(let e=1;e<n;e++)a=a.add(o),s.push(a);o=a.double()}return s},wNAF(r,i,n){const{windows:s,windowSize:o}=ye(r,t);let a=e.ZERO,c=e.BASE;const h=BigInt(2**r-1),l=2**r,u=BigInt(r);for(let e=0;e<s;e++){const t=e*o;let r=Number(n&h);n>>=u,r>o&&(r-=l,n+=pe);const s=t,d=t+Math.abs(r)-1,p=e%2!=0,f=r<0;0===r?c=c.add(fe(p,i[s])):a=a.add(fe(f,i[d]))}return{p:a,f:c}},wNAFUnsafe(r,i,n,s=e.ZERO){const{windows:o,windowSize:a}=ye(r,t),c=BigInt(2**r-1),h=2**r,l=BigInt(r);for(let e=0;e<o;e++){const t=e*a;if(n===de)break;let r=Number(n&c);if(n>>=l,r>a&&(r-=h,n+=pe),0===r)continue;let o=i[t+Math.abs(r)-1];r<0&&(o=o.negate()),s=s.add(o)}return s},getPrecomputes(e,t,r){let i=me.get(t);return i||(i=this.precomputeWindow(t,e),1!==e&&me.set(t,r(i))),i},wNAFCached(e,t,r){const i=be(e);return this.wNAF(i,this.getPrecomputes(i,e,r),t)},wNAFCachedUnsafe(e,t,r,i){const n=be(e);return 1===n?this.unsafeLadder(e,t,i):this.wNAFUnsafe(n,this.getPrecomputes(n,e,r),t,i)},setWindowSize(e,r){ge(r,t),we.set(e,r),me.delete(e)}}}(b,8*a);function S(e){return ne(e,i)}function P(e){return S(M(e))}function O(e){const t=r.BYTES;e=V("private key",e,t);const i=V("hashed private key",s(e),2*t),n=p(i.slice(0,t)),o=i.slice(t,2*t),a=P(n),c=v.multiply(a),h=c.toRawBytes();return{head:n,prefix:o,scalar:a,point:c,pointBytes:h}}function _(e=new Uint8Array,...t){const r=H(...t);return P(s(f(r,V("context",e),!!n)))}const x=_e;return v._setWindowSize(8),{CURVE:t,getPublicKey:function(e){return O(e).pointBytes},sign:function(e,t,s={}){e=V("message",e),n&&(e=n(e));const{prefix:o,scalar:a,pointBytes:c}=O(t),h=_(s.context,o,e),l=v.multiply(h).toRawBytes(),u=S(h+_(s.context,l,c,e)*a);return F("signature.s",u,Ie,i),V("result",H(l,z(u,r.BYTES)),2*r.BYTES)},verify:function(e,t,i,s=x){const{context:o,zip215:a}=s,c=r.BYTES;e=V("signature",e,2*c),t=V("message",t),i=V("publicKey",i,c),void 0!==a&&R("zip215",a),n&&(t=n(t));const h=M(e.slice(c,2*c));let l,u,d;try{l=b.fromHex(i,a),u=b.fromHex(e.slice(0,c),a),d=v.multiplyUnsafe(h)}catch{return!1}if(!a&&l.isSmallOrder())return!1;const p=_(o,u.toRawBytes(),l.toRawBytes(),t);return u.add(l.multiplyUnsafe(p)).subtract(d).clearCofactor().equals(b.ZERO)},ExtendedPoint:b,utils:{getExtendedPublicKey:O,randomPrivateKey:()=>o(r.BYTES),precompute(e=8,t=b.BASE){return t._setWindowSize(e),t.multiply(BigInt(3)),t}}}}BigInt(0),BigInt(1);const Re=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Ae=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752");BigInt(0);const Ce=BigInt(1),Ne=BigInt(2);BigInt(3);const Te=BigInt(5),je=BigInt(8);
1function ke(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Ue(e,t){const r=Re,i=ne(t*t*t,r),n=function(e){const t=BigInt(10),r=BigInt(20),i=BigInt(40),n=BigInt(80),s=Re,o=e*e%s*e%s,a=oe(o,Ne,s)*o%s,c=oe(a,Ce,s)*e%s,h=oe(c,Te,s)*c%s,l=oe(h,t,s)*h%s,u=oe(l,r,s)*l%s,d=oe(u,i,s)*u%s,p=oe(d,n,s)*d%s,f=oe(p,n,s)*d%s,g=oe(f,t,s)*h%s;return{pow_p_5_8:oe(g,Ne,s)*e%s,b2:o}}(e*ne(i*i*t,r)).pow_p_5_8;let s=ne(e*i*n,r);const o=ne(t*s*s,r),a=s,c=ne(s*Ae,r),h=o===e,l=o===ne(-e,r),u=o===ne(-e*Ae,r);return h&&(s=a),(l||u)&&(s=c),((e,t)=>(ne(e,t)&Q)===Q)(s,r)&&(s=ne(-s,r)),{isValid:h||l,value:s}}const De=ue(Re,void 0,!0),Le=xe({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:De,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:je,Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:I,randomBytes:u,adjustScalarBytes:ke,uvRatio:Ue}),qe="EdDSA",Be=".",Me="base64url",$e="utf8",ze="utf8",Ve="did",He="key",Ke="base58btc";function Fe(e){return null!=globalThis.Buffer?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function We(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?Fe(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Je(e,t){t||(t=e.reduce(((e,t)=>e+t.length),0));const r=We(t);let i=0;for(const t of e)r.set(t,i),i+=t.length;return Fe(r)}var Ge=function(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var n=0;n<e.length;n++){var s=e.charAt(n),o=s.charCodeAt(0);if(255!==r[o])throw new TypeError(s+" is ambiguous");r[o]=n}var a=e.length,c=e.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var i=0,n=0;e[t]===c;)i++,t++;for(var s=(e.length-t)*h+1>>>0,o=new Uint8Array(s);e[t];){var l=r[e.charCodeAt(t)];if(255===l)return;for(var u=0,d=s-1;(0!==l||u<n)&&-1!==d;d--,u++)l+=a*o[d]>>>0,o[d]=l%256>>>0,l=l/256>>>0;if(0!==l)throw new Error("Non-zero carry");n=u,t++}if(" "!==e[t]){for(var p=s-n;p!==s&&0===o[p];)p++;for(var f=new Uint8Array(i+(s-p)),g=i;p!==s;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,n=0,s=t.length;n!==s&&0===t[n];)n++,r++;for(var o=(s-n)*l+1>>>0,h=new Uint8Array(o);n!==s;){for(var u=t[n],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*h[p]>>>0,h[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw new Error("Non-zero carry");i=d,n++}for(var f=o-i;f!==o&&0===h[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(h[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw new Error(`Non-${t} character`)}}};const Ye=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};class Ze{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class Qe{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return et(this,e)}}class Xe{constructor(e){this.decoders=e}or(e){return et(this,e)}decode(e){const t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}
1, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const et=(e,t)=>new Xe({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});class tt{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new Ze(e,t,r),this.decoder=new Qe(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const rt=({name:e,prefix:t,encode:r,decode:i})=>new tt(e,t,r,i),it=({prefix:e,name:t,alphabet:r})=>{const{encode:i,decode:n}=Ge(r,t);return rt({prefix:e,name:t,encode:i,decode:e=>Ye(n(e))})},nt=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>rt({prefix:t,name:e,encode(e){return((e,t,r)=>{const i="="===t[t.length-1],n=(1<<r)-1;let s="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,s+=t[n&a>>o];if(o&&(s+=t[n&a<<r-o]),i)for(;s.length*r&7;)s+="=";return s})(e,i,r)},decode(t){return((e,t,r,i)=>{const n={};for(let e=0;e<t.length;++e)n[t[e]]=e;let s=e.length;for(;"="===e[s-1];)--s;const o=new Uint8Array(s*r/8|0);let a=0,c=0,h=0;for(let t=0;t<s;++t){const s=n[e[t]];if(void 0===s)throw new SyntaxError(`Non-${i} character`);c=c<<r|s,a+=r,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o})(t,i,r,e)}}),st=rt({prefix:"\0",name:"identity",encode:e=>(e=>(new TextDecoder).decode(e))(e),decode:e=>(e=>(new TextEncoder).encode(e))(e)});var ot=Object.freeze({__proto__:null,identity:st});const at=nt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ct=Object.freeze({__proto__:null,base2:at});const ht=nt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var lt=Object.freeze({__proto__:null,base8:ht});const ut=it({prefix:"9",name:"base10",alphabet:"0123456789"});var dt=Object.freeze({__proto__:null,base10:ut});const pt=nt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ft=nt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var gt=Object.freeze({__proto__:null,base16:pt,base16upper:ft});const yt=nt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),mt=nt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),wt=nt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),bt=nt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),vt=nt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Et=nt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),It=nt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),St=nt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Pt=nt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ot=Object.freeze({__proto__:null,base32:yt,base32upper:mt,base32pad:wt,base32padupper:bt,base32hex:vt,base32hexupper:Et,base32hexpad:It,base32hexpadupper:St,base32z:Pt});const _t=it({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),xt=it({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Rt=Object.freeze({__proto__:null,base36:_t,base36upper:xt});const At=it({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ct=it({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Nt=Object.freeze({__proto__:null,base58btc:At,base58flickr:Ct});const Tt=nt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),jt=nt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),kt=nt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ut=nt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Dt=Object.freeze({__proto__:null,base64:Tt,base64pad:jt,base64url:kt,base64urlpad:Ut});const Lt=Array.from("ððªâð°ðððððððððððððâð»ð¥ð¾ð¿ðâ¤ðð¤£ððððððð
ððð¥ð¥°ðððð¢ð¤ðððªðâºðð¤ððððð¹ð¤¦ððââ¨ð¤·ð±ðð¸ððððððððð¤©ððð¤ðð¯ðð
1ð¶ðð¤â£ððððªðð¥ððð©ð¡ð¤ªðð¥³ð¥ð¤¤ððð³âððð´ðð¬ððð·ð»ðââ
ð¥ºððð¤ð¦âð£ððâ¹ððð âððºðð»ððððð¹ð£ð«ðððµð¤ðð´ð¤ð¼ð«â½ð¤âðð¤«ðð®ðð»ðð¶ðð²ð¿ð§¡ðâ¡ððââðð°ð¤¨ð¶ð¤ð¶ð°ðð¢ð¤ðð¨ð¨ð¤¬âððºð¤ððð±ðð¶ð¥´â¶â¡âðð¸â¬ð¨ðð¦ð·ðºâ ð
ððµðð¤²ð¤ ð¤§ððµð
ð§ð¾ððð¤ðð¤¯ð·âð§ð¯ððð¤ððâð´ð£ð¸ððð¥ð¤¢ð
ð¡ð©ðð¸ð»ð¤ð¤®ð¼ð¥µð©ððð¼ðð£ð¥"),qt=Lt.reduce(((e,t,r)=>(e[r]=t,e)),[]),Bt=Lt.reduce(((e,t,r)=>(e[t.codePointAt(0)]=r,e)),[]);const Mt=rt({prefix:"ð",name:"base256emoji",encode:function(e){return e.reduce(((e,t)=>e+=qt[t]),"")},decode:function(e){const t=[];for(const r of e){const e=Bt[r.codePointAt(0)];if(void 0===e)throw new Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}});var $t=Object.freeze({__proto__:null,base256emoji:Mt}),zt=function e(t,r,i){r=r||[];for(var n=i=i||0;t>=Vt;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-n+1,r},Vt=Math.pow(2,31);var Ht=function e(t,r){var i,n=0,s=0,o=r=r||0,a=t.length;do{if(o>=a)throw e.bytes=0,new RangeError("Could not decode varint");i=t[o++],n+=s<28?(127&i)<<s:(127&i)*Math.pow(2,s),s+=7}while(i>=128);return e.bytes=o-r,n};var Kt=Math.pow(2,7),Ft=Math.pow(2,14),Wt=Math.pow(2,21),Jt=Math.pow(2,28),Gt=Math.pow(2,35),Yt=Math.pow(2,42),Zt=Math.pow(2,49),Qt=Math.pow(2,56),Xt=Math.pow(2,63),er={encode:zt,decode:Ht,encodingLength:function(e){return e<Kt?1:e<Ft?2:e<Wt?3:e<Jt?4:e<Gt?5:e<Yt?6:e<Zt?7:e<Qt?8:e<Xt?9:10}};const tr=(e,t,r=0)=>(er.encode(e,t,r),t),rr=e=>er.encodingLength(e),ir=(e,t)=>{const r=t.byteLength,i=rr(e),n=i+rr(r),s=new Uint8Array(n+r);return tr(e,s,0),tr(r,s,i),s.set(t,n),new nr(e,r,t,s)};
1class nr{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}const sr=({name:e,code:t,encode:r})=>new or(e,t,r);class or{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?ir(this.code,t):t.then((e=>ir(this.code,e)))}throw Error("Unknown type, must be binary type")}}const ar=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),cr=sr({name:"sha2-256",code:18,encode:ar("SHA-256")}),hr=sr({name:"sha2-512",code:19,encode:ar("SHA-512")});Object.freeze({__proto__:null,sha256:cr,sha512:hr});const lr=Ye,ur={code:0,name:"identity",encode:lr,digest:e=>ir(0,lr(e))};Object.freeze({__proto__:null,identity:ur});new TextEncoder,new TextDecoder;const dr={...ot,...ct,...lt,...dt,...gt,...Ot,...Rt,...Nt,...Dt,...$t};function pr(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}const fr=pr("utf8","u",(e=>"u"+new TextDecoder("utf8").decode(e)),(e=>(new TextEncoder).encode(e.substring(1)))),gr=pr("ascii","a",(e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t}),(e=>{const t=We((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t})),yr={utf8:fr,"utf-8":fr,hex:dr.base16,latin1:gr,ascii:gr,binary:gr,...dr};function mr(e,t="utf8"){const r=yr[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return"utf8"!==t&&"utf-8"!==t||null==globalThis.Buffer||null==globalThis.Buffer.from?r.encoder.encode(e).substring(1):globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8")}function wr(e,t="utf8"){const r=yr[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return"utf8"!==t&&"utf-8"!==t||null==globalThis.Buffer||null==globalThis.Buffer.from?r.decoder.decode(`${r.prefix}${e}`):Fe(globalThis.Buffer.from(e,"utf-8"))}function br(e){return(0,n.D)(mr(wr(e,Me),$e))}function vr(e){return mr(wr((0,n.u)(e),$e),Me)}function Er(e){const t="z"+mr(Je([wr("K36",Ke),e]),Ke);return[Ve,He,t].join(":")}function Ir(e){return mr(e,Me)}function Sr(e){const t=e.split(Be),r=br(t[0]),i=br(t[1]),n=function(e){return wr(e,Me)}(t[2]);return{header:r,payload:i,signature:n,data:wr(t.slice(0,2).join(Be),ze)}}function Pr(e=u(32)){const t=Le.getPublicKey(e);return{secretKey:Je([e,t]),publicKey:t}}async function Or(e,t,r,n,s=(0,i.fromMiliseconds)(Date.now())){const o={alg:qe,typ:"JWT"},a={iss:Er(n.publicKey),sub:e,aud:t,iat:s,exp:s+r},c=function(e){return wr([vr(e.header),vr(e.payload)].join(Be),ze)}({header:o,payload:a});return function(e){return[vr(e.header),vr(e.payload),Ir(e.signature)].join(Be)}({header:o,payload:a,signature:Le.sign(c,n.secretKey.slice(0,32))})}},85094:function(e,t,r){r.d(t,{D:function(){return i},u:function(){return n}});function i(e){if("string"!=typeof e)throw new Error("Cannot safe json parse value of type "+typeof e);try{return(e=>{const t=e.replace(/([\[:])?(\d{17,}|(?:[9](?:[1-9]07199254740991|0[1-9]7199254740991|00[8-9]199254740991|007[2-9]99254740991|007199[3-9]54740991|0071992[6-9]4740991|00719925[5-9]740991|007199254[8-9]40991|0071992547[5-9]0991|00719925474[1-9]991|00719925474099[2-9])))([,\}\]])/g,'$1"$2n"$3');return JSON.parse(t,((e,t)=>"string"==typeof t&&t.match(/^\d+n$/)?BigInt(t.substring(0,t.length-1)):t))})(e)}catch(t){return e}}function n(e){return"string"==typeof e?e:(t=e,JSON.stringify(t,((e,t)=>"bigint"==typeof t?t.toString()+"n":t))||"");var t}},36900:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});const i=r(62108);i.__exportStar(r(46869),t),i.__exportStar(r(88033),t)},46869:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_THOUSAND=t.ONE_HUNDRED=void 0,t.ONE_HUNDRED=100,t.ONE_THOUSAND=1e3},88033:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ONE_YEAR=t.FOUR_WEEKS=t.THREE_WEEKS=t.TWO_WEEKS=t.ONE_WEEK=t.THIRTY_DAYS=t.SEVEN_DAYS=t.FIVE_DAYS=t.THREE_DAYS=t.ONE_DAY=t.TWENTY_FOUR_HOURS=t.TWELVE_HOURS=t.SIX_HOURS=t.THREE_HOURS=t.ONE_HOUR=t.SIXTY_MINUTES=t.THIRTY_MINUTES=t.TEN_MINUTES=t.FIVE_MINUTES=t.ONE_MINUTE=t.SIXTY_SECONDS=t.THIRTY_SECONDS=t.TEN_SECONDS=t.FIVE_SECONDS=t.ONE_SECOND=void 0,t.ONE_SECOND=1,t.FIVE_SECONDS=5,t.TEN_SECONDS=10,t.THIRTY_SECONDS=30,t.SIXTY_SECONDS=60,t.ONE_MINUTE=t.SIXTY_SECONDS,t.FIVE_MINUTES=5*t.ONE_MINUTE,t.TEN_MINUTES=10*t.ONE_MINUTE,t.THIRTY_MINUTES=30*t.ONE_MINUTE,t.SIXTY_MINUTES=60*t.ONE_MINUTE,t.ONE_HOUR=t.SIXTY_MINUTES,t.THREE_HOURS=3*t.ONE_HOUR,t.SIX_HOURS=6*t.ONE_HOUR,t.TWELVE_HOURS=12*t.ONE_HOUR,t.TWENTY_FOUR_HOURS=24*t.ONE_HOUR,t.ONE_DAY=t.TWENTY_FOUR_HOURS,t.THREE_DAYS=3*t.ONE_DAY,t.FIVE_DAYS=5*t.ONE_DAY,t.SEVEN_DAYS=7*t.ONE_DAY,t.THIRTY_DAYS=30*t.ONE_DAY,t.ONE_WEEK=t.SEVEN_DAYS,t.TWO_WEEKS=2*t.ONE_WEEK,t.THREE_WEEKS=3*t.ONE_WEEK,t.FOUR_W
1EEKS=4*t.ONE_WEEK,t.ONE_YEAR=365*t.ONE_DAY},66736:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});const i=r(62108);i.__exportStar(r(44273),t),i.__exportStar(r(47001),t),i.__exportStar(r(52939),t),i.__exportStar(r(36900),t)},52939:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});r(62108).__exportStar(r(88766),t)},88766:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.IWatch=void 0;t.IWatch=class{}},83207:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.fromMiliseconds=t.toMiliseconds=void 0;const i=r(36900);t.toMiliseconds=function(e){return e*i.ONE_THOUSAND},t.fromMiliseconds=function(e){return Math.floor(e/i.ONE_THOUSAND)}},83873:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.delay=void 0,t.delay=function(e){return new Promise((t=>{setTimeout((()=>{t(!0)}),e)}))}},44273:function(e,t,r){Object.defineProperty(t,"__esModule",{value:!0});const i=r(62108);i.__exportStar(r(83873),t),i.__exportStar(r(83207),t)},47001:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.Watch=void 0;class r{constructor(){this.timestamps=new Map}start(e){if(this.timestamps.has(e))throw new Error(`Watch already started for label: ${e}`);this.timestamps.set(e,{started:Date.now()})}stop(e){const t=this.get(e);if(void 0!==t.elapsed)throw new Error(`Watch already stopped for label: ${e}`);const r=Date.now()-t.started;this.timestamps.set(e,{started:t.started,elapsed:r})}get(e){const t=this.timestamps.get(e);if(void 0===t)throw new Error(`No timestamp found for label: ${e}`);return t}elapsed(e){const t=this.get(e);return t.elapsed||Date.now()-t.started}}t.Watch=r,t.default=r},62873:function(e,t){function r(e){let t;return"undefined"!=typeof window&&void 0!==window[e]&&(t=window[e]),t}function i(e){const t=r(e);if(!t)throw new Error(`${e} is not defined in Window`);return t}Object.defineProperty(t,"__esModule",{value:!0}),t.getLocalStorage=t.getLocalStorageOrThrow=t.getCrypto=t.getCryptoOrThrow=t.getLocation=t.getLocationOrThrow=t.getNavigator=t.getNavigatorOrThrow=t.getDocument=t.getDocumentOrThrow=t.getFromWindowOrThrow=t.getFromWindow=void 0,t.getFromWindow=r,t.getFromWindowOrThrow=i,t.getDocumentOrThrow=function(){return i("document")},t.getDocument=function(){return r("document")},t.getNavigatorOrThrow=function(){return i("navigator")},t.getNavigator=function(){return r("navigator")},t.getLocationOrThrow=function(){return i("location")},t.getLocation=function(){return r("location")},t.getCryptoOrThrow=function(){return i("crypto")},t.getCrypto=function(){return r("crypto")},t.getLocalStorageOrThrow=function(){return i("localStorage")},t.getLocalStorage=function(){return r("localStorage")}},65755:function(e,t,r){t.D=void 0;const i=r(62873);t.D=function(){let e,t;try{e=i.getDocumentOrThrow(),t=i.getLocationOrThrow()}catch(e){return null}function r(...t){const r=e.getElementsByTagName("meta");for(let e=0;e<r.length;e++){const i=r[e],n=["itemprop","property","name"].map((e=>i.getAttribute(e))).filter((e=>!!e&&t.includes(e)));if(n.length&&n){const e=i.getAttribute("content");if(e)return e}}return""}const n=function(){let t=r("name","og:site_name","og:title","twitter:title");return t||(t=e.title),t}();return{description:r("description","og:description","twitter:description","keywords"),url:t.origin,icons:function(){const r=e.getElementsByTagName("link"),i=[];for(let e=0;e<r.length;e++){const n=r[e],s=n.getAttribute("rel");if(s&&s.toLowerCase().indexOf("icon")>-1){const e=n.getAttribute("href");if(e)if(-1===e.toLowerCase().indexOf("https:")&&-1===e.toLowerCase().indexOf("http:")&&0!==e.indexOf("//")){let r=t.protocol+"//"+t.host;if(0===e.indexOf("/"))r+=e;else{const i=t.pathname.split("/");i.pop();r+=i.join("/")+"/"+e}i.push(r)}else if(0===e.indexOf("//")){const r=t.protocol+e;i.push(r)}else i.push(e)}}return i}(),name:n}}},43631:function(e,t,r){r.d(t,{qY:function(){return p}});var i=r(34155),n=function(e,t,r){if(r||2===arguments.length)for(var i,n=0,s=t.length;n<s;n++)!i&&n in t||(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))},s=function(e,t,r){this.name=e,this.version=t,this.os=r,this.type="browser"},o=function(e){this.version=e,this.type="node",this.name="node",this.os=i.platform},a=function(e,t,r,i){this.name=e,this.version=t,this.os=r,this.bot=i,this.type="bot-device"},c=function(){this.type="bot",this.bot=!0,this.name="bot",this.version=null,this.os=null},h=function(){this.type="react-native",this.name="react-native",this.version=null,this.os=null},l=/(nuhk|curl|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask\ Jeeves\/Teoma|ia_archiver)/,u=[["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;
1\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",/alexa|bot|crawl(er|ing)|facebookexternalhit|feedburner|google web preview|nagios|postrank|pingdom|slurp|spider|yahoo!|yandex/]],d=[["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 p(e){return e?g(e):"undefined"==typeof document&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product?new h:"undefined"!=typeof navigator?g(navigator.userAgent):void 0!==i&&i.version?new o(i.version.slice(1)):null}function f(e){return""!==e&&u.reduce((function(t,r){var i=r[0],n=r[1];if(t)return t;var s=n.exec(e);return!!s&&[i,s]}),!1)}function g(e){var t=f(e);if(!t)return null;var r=t[0],i=t[1];if("searchbot"===r)return new c;var o=i[1]&&i[1].split(".").join("_").split("_").slice(0,3);o?o.length<3&&(o=n(n([],o,!0),function(e){for(var t=[],r=0;r<e;r++)t.push("0");return t}(3-o.length),!0)):o=[];var h=o.join("."),u=function(e){for(var t=0,r=d.length;t<r;t++){var i=d[t],n=i[0];if(i[1].exec(e))return n}return null}(e),p=l.exec(e);return p&&p[1]?new a(r,h,u,p[1]):new s(r,h,u)}},85346:function(e){function t(e){try{return JSON.stringify(e)}catch(e){return'"[Circular]"'}}e.exports=function(e,r,i){var n=i&&i.stringify||t;if("object"==typeof e&&null!==e){var s=r.length+1;if(1===s)return e;var o=new Array(s);o[0]=n(e);for(var a=1;a<s;a++)o[a]=n(r[a]);return o.join(" ")}if("string"!=typeof e)return e;var c=r.length;if(0===c)return e;for(var h="",l=0,u=-1,d=e&&e.length||0,p=0;p<d;){if(37===e.charCodeAt(p)&&p+1<d){switch(u=u>-1?u:0,e.charCodeAt(p+1)){case 100:case 102:if(l>=c)break;if(null==r[l])break;u<p&&(h+=e.slice(u,p)),h+=Number(r[l]),u=p+2,p++;break;case 105:if(l>=c)break;if(null==r[l])break;u<p&&(h+=e.slice(u,p)),h+=Math.floor(Number(r[l])),u=p+2,p++;break;case 79:case 111:case 106:if(l>=c)break;if(void 0===r[l])break;u<p&&(h+=e.slice(u,p));var f=typeof r[l];if("string"===f){h+="'"+r[l]+"'",u=p+2,p++;break}if("function"===f){h+=r[l].name||"<anonymous>",u=p+2,p++;break}h+=n(r[l]),u=p+2,p++;break;case 115:if(l>=c)break;u<p&&(h+=e.slice(u,p)),h+=String(r[l]),u=p+2,p++;break;case 37:u<p&&(h+=e.slice(u,p)),h+="%",u=p+2,p++,l--}++l}++p}if(-1===u)return e;u<d&&(h+=e.slice(u));return h}},36559:function(e,t,r){const i=r(85346);e.exports=o;const n=function(){function e(e){return void 0!==e&&e}try{return"undefined"!=typeof globalThis||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(t){return e(self)||e(window)||e(this)||{}}}().console||{},s={mapHttpRequest:f,mapHttpResponse:f,wrapRequestSerializer:g,wrapResponseSerializer:g,wrapErrorSerializer:g,req:f,res:f,err:function(e){const t={type:e.constructor.name,msg:e.message,stack:e.stack};for(const r in e)void 0===t[r]&&(t[r]=e[r]);return t}};function o(e){(e=e||{}).browser=e.browser||{};const t=e.browser.transmit;if(t&&"function"!=typeof t.send)throw Error("pino: transmit option must have a send function");const r=e.browser.write||n;e.browser.write&&(e.browser.asObject=!0);const i=e.serializers||{},s=function(e,t){if(Array.isArray(e))return e.filter((function(e){return"!stdSerializers.err"!==e}));return!0===e&&Object.keys(t)}(e.browser.serialize,i);let c=e.browser.serialize;Array.isArray(e.browser.serialize)&&e.browser.serialize.indexOf("!stdSerializers.err")>-1&&(c=!1);"function"==typeof r&&(r.error=r.fatal=r.warn=r.info=r.debug=r.trace=r),!1===e.enabled&&(e.level="silent");const u=e.level||"info",f=Object.create(r);f.log||(f.log=y),Object.defineProperty(f,"levelVal",{get:function(){return"silent"===this.level?1/0:this.levels.values[this.level]}}),Object.defineProperty(f,"level",{get:function(){return this._level},set:function(e){if("silent"!==e&&!this.levels.values[e])throw Error("unknown level "+e);this._level=e,a(g,f,"error","log"),a(g,f,"fatal","error"),a(g,f,"warn","error"),a(g,f,"info","log"),a(g,f,"debug","log"),a(g,f,"trace","log")}});const g={transmit:t,serialize:s,asObject:e.browser.asObject,levels:["error","fatal","warn","info","debug","trace"],timestamp:p(e)};return f.levels=o.levels,f.level=u,f.setMaxListeners=f.getMaxListeners=f.emit=f.addListener=f.on=f.prependListener=f.once=f.prepe
1ndOnceListener=f.removeListener=f.removeAllListeners=f.listeners=f.listenerCount=f.eventNames=f.write=f.flush=y,f.serializers=i,f._serialize=s,f._stdErrSerialize=c,f.child=function(r,n){if(!r)throw new Error("missing bindings for child Pino");n=n||{},s&&r.serializers&&(n.serializers=r.serializers);const o=n.serializers;if(s&&o){var a=Object.assign({},i,o),c=!0===e.browser.serialize?Object.keys(a):s;delete r.serializers,h([r],c,a,this._stdErrSerialize)}function u(e){this._childLevel=1+(0|e._childLevel),this.error=l(e,r,"error"),this.fatal=l(e,r,"fatal"),this.warn=l(e,r,"warn"),this.info=l(e,r,"info"),this.debug=l(e,r,"debug"),this.trace=l(e,r,"trace"),a&&(this.serializers=a,this._serialize=c),t&&(this._logEvent=d([].concat(e._logEvent.bindings,r)))}return u.prototype=this,new u(this)},t&&(f._logEvent=d()),f}function a(e,t,r,i){const s=Object.getPrototypeOf(t);t[r]=t.levelVal>t.levels.values[r]?y:s[r]?s[r]:n[r]||n[i]||y,function(e,t,r){if(!e.transmit&&t[r]===y)return;t[r]=(i=t[r],function(){const s=e.timestamp(),a=new Array(arguments.length),l=Object.getPrototypeOf&&Object.getPrototypeOf(this)===n?n:this;for(var d=0;d<a.length;d++)a[d]=arguments[d];if(e.serialize&&!e.asObject&&h(a,this._serialize,this.serializers,this._stdErrSerialize),e.asObject?i.call(l,c(this,r,a,s)):i.apply(l,a),e.transmit){const i=e.transmit.level||t.level,n=o.levels.values[i],c=o.levels.values[r];if(c<n)return;u(this,{ts:s,methodLevel:r,methodValue:c,transmitLevel:i,transmitValue:o.levels.values[e.transmit.level||t.level],send:e.transmit.send,val:t.levelVal},a)}});var i}(e,t,r)}function c(e,t,r,n){e._serialize&&h(r,e._serialize,e.serializers,e._stdErrSerialize);const s=r.slice();let a=s[0];const c={};n&&(c.time=n),c.level=o.levels.values[t];let l=1+(0|e._childLevel);if(l<1&&(l=1),null!==a&&"object"==typeof a){for(;l--&&"object"==typeof s[0];)Object.assign(c,s.shift());a=s.length?i(s.shift(),s):void 0}else"string"==typeof a&&(a=i(s.shift(),s));return void 0!==a&&(c.msg=a),c}function h(e,t,r,i){for(const n in e)if(i&&e[n]instanceof Error)e[n]=o.stdSerializers.err(e[n]);else if("object"==typeof e[n]&&!Array.isArray(e[n]))for(const i in e[n])t&&t.indexOf(i)>-1&&i in r&&(e[n][i]=r[i](e[n][i]))}function l(e,t,r){return function(){const i=new Array(1+arguments.length);i[0]=t;for(var n=1;n<i.length;n++)i[n]=arguments[n-1];return e[r].apply(this,i)}}function u(e,t,r){const i=t.send,n=t.ts,s=t.methodLevel,o=t.methodValue,a=t.val,c=e._logEvent.bindings;h(r,e._serialize||Object.keys(e.serializers),e.serializers,void 0===e._stdErrSerialize||e._stdErrSerialize),e._logEvent.ts=n,e._logEvent.messages=r.filter((function(e){return-1===c.indexOf(e)})),e._logEvent.level.label=s,e._logEvent.level.value=o,i(s,e._logEvent,a),e._logEvent=d(c)}function d(e){return{ts:0,messages:[],bindings:e||[],level:{label:"",value:0}}}function p(e){return"function"==typeof e.timestamp?e.timestamp:!1===e.timestamp?m:w}function f(){return{}}function g(e){return e}function y(){}function m(){return!1}function w(){return Date.now()}o.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"}},o.stdSerializers=s,o.stdTimeFunctions=Object.assign({},{nullTime:m,epochTime:w,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}})},12518:function(e,t,r){function i(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function n(e,...t){if(!((r=e)instanceof Uint8Array||ArrayBuffer.isView(r)&&"Uint8Array"===r.constructor.name))throw new Error("Uint8Array expected");var r;if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function s(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");i(e.outputLen),i(e.blockLen)}function o(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function a(e,t){n(e);const r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}r.d(t,{$h:function(){return o},eB:function(){return a},gk:function(){return n},k8:function(){return i},z3:function(){return s}})},91220:function(e,t,r){r.d(t,{kb:function(){return p},l1:function(){return l},eV:function(){return d},GL:function(){return o},iA:function(){return c},O6:function(){return g},np:function(){return a},O0:function(){return u},Jq:function(){return s},hE:function(){return f}});const i="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0;var n=r(12518);function s(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function o(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function a(e,t){return e<<32-t|e>>>t}const c=(()=>68===new Uint8Array(new Uint32Array([287454020]).buffer)[0])();function h(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function l(e){for(let t=0;t<e.length;t++)e[t]=h(e[t])}function u(e){return"string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e)),(0,n.gk)(e),e}function d(...e){let t=0;for(let r=0;r<e.length;r++){const i=e[r];(0,n.gk)(i),t+=i.length}
1const r=new Uint8Array(t);for(let t=0,i=0;t<e.length;t++){const n=e[t];r.set(n,i),i+=n.length}return r}class p{clone(){return this._cloneInto()}}function f(e){const t=t=>e().update(u(t)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function g(e=32){if(i&&"function"==typeof i.getRandomValues)return i.getRandomValues(new Uint8Array(e));if(i&&"function"==typeof i.randomBytes)return i.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}},39578:function(e,t,r){r.d(t,{Z:function(){return n}});var i=function(e){if(e.length>=255)throw new TypeError("Alphabet too long");const t=new Uint8Array(256);for(let e=0;e<t.length;e++)t[e]=255;for(let r=0;r<e.length;r++){const i=e.charAt(r),n=i.charCodeAt(0);if(255!==t[n])throw new TypeError(i+" is ambiguous");t[n]=r}const r=e.length,i=e.charAt(0),n=Math.log(r)/Math.log(256),s=Math.log(256)/Math.log(r);function o(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;let s=0,o=0,a=0;for(;e[s]===i;)o++,s++;const c=(e.length-s)*n+1>>>0,h=new Uint8Array(c);for(;s<e.length;){const i=e.charCodeAt(s);if(i>255)return;let n=t[i];if(255===n)return;let o=0;for(let e=c-1;(0!==n||o<a)&&-1!==e;e--,o++)n+=r*h[e]>>>0,h[e]=n%256>>>0,n=n/256>>>0;if(0!==n)throw new Error("Non-zero carry");a=o,s++}let l=c-a;for(;l!==c&&0===h[l];)l++;const u=new Uint8Array(o+(c-l));let d=o;for(;l!==c;)u[d++]=h[l++];return u}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";let n=0,o=0,a=0;const c=t.length;for(;a!==c&&0===t[a];)a++,n++;const h=(c-a)*s+1>>>0,l=new Uint8Array(h);for(;a!==c;){let e=t[a],i=0;for(let t=h-1;(0!==e||i<o)&&-1!==t;t--,i++)e+=256*l[t]>>>0,l[t]=e%r>>>0,e=e/r>>>0;if(0!==e)throw new Error("Non-zero carry");o=i,a++}let u=h-o;for(;u!==h&&0===l[u];)u++;let d=i.repeat(n);for(;u<h;++u)d+=e.charAt(l[u]);return d},decodeUnsafe:o,decode:function(e){const t=o(e);if(t)return t;throw new Error("Non-base"+r+" character")}}},n=i("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")},69391:function(e,t,r){r.d(t,{zo:function(){return w},mL:function(){return Ve},BB:function(){return He}});var i={};r.r(i),r.d(i,{identity:function(){return C}});var n={};r.r(n),r.d(n,{base2:function(){return N}});var s={};r.r(s),r.d(s,{base8:function(){return T}});var o={};r.r(o),r.d(o,{base10:function(){return j}});var a={};r.r(a),r.d(a,{base16:function(){return k},base16upper:function(){return U}});var c={};r.r(c),r.d(c,{base32:function(){return D},base32hex:function(){return M},base32hexpad:function(){return z},base32hexpadupper:function(){return V},base32hexupper:function(){return $},base32pad:function(){return q},base32padupper:function(){return B},base32upper:function(){return L},base32z:function(){return H}});var h={};r.r(h),r.d(h,{base36:function(){return K},base36upper:function(){return F}});var l={};r.r(l),r.d(l,{base58btc:function(){return W},base58flickr:function(){return J}});var u={};r.r(u),r.d(u,{base64:function(){return G},base64pad:function(){return Y},base64url:function(){return Z},base64urlpad:function(){return Q}});var d={};r.r(d),r.d(d,{base256emoji:function(){return re}});var p={};r.r(p),r.d(p,{sha256:function(){return Se},sha512:function(){return Pe}});var f={};r.r(f),r.d(f,{identity:function(){return _e}});var g={};r.r(g),r.d(g,{code:function(){return Re},decode:function(){return Ce},encode:function(){return Ae},name:function(){return xe}});var y={};function m(e=0){return null!=globalThis.Buffer&&null!=globalThis.Buffer.allocUnsafe?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}function w(e,t){t||(t=e.reduce(((e,t)=>e+t.length),0));const r=m(t);let i=0;for(const t of e)r.set(t,i),i+=t.length;return r}r.r(y),r.d(y,{code:function(){return ke},decode:function(){return De},encode:function(){return Ue},name:function(){return je}});var b=function(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");
1for(var r=new Uint8Array(256),i=0;i<r.length;i++)r[i]=255;for(var n=0;n<e.length;n++){var s=e.charAt(n),o=s.charCodeAt(0);if(255!==r[o])throw new TypeError(s+" is ambiguous");r[o]=n}var a=e.length,c=e.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function u(e){if("string"!=typeof e)throw new TypeError("Expected String");if(0===e.length)return new Uint8Array;var t=0;if(" "!==e[t]){for(var i=0,n=0;e[t]===c;)i++,t++;for(var s=(e.length-t)*h+1>>>0,o=new Uint8Array(s);e[t];){var l=r[e.charCodeAt(t)];if(255===l)return;for(var u=0,d=s-1;(0!==l||u<n)&&-1!==d;d--,u++)l+=a*o[d]>>>0,o[d]=l%256>>>0,l=l/256>>>0;if(0!==l)throw new Error("Non-zero carry");n=u,t++}if(" "!==e[t]){for(var p=s-n;p!==s&&0===o[p];)p++;for(var f=new Uint8Array(i+(s-p)),g=i;p!==s;)f[g++]=o[p++];return f}}}return{encode:function(t){if(t instanceof Uint8Array||(ArrayBuffer.isView(t)?t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):Array.isArray(t)&&(t=Uint8Array.from(t))),!(t instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===t.length)return"";for(var r=0,i=0,n=0,s=t.length;n!==s&&0===t[n];)n++,r++;for(var o=(s-n)*l+1>>>0,h=new Uint8Array(o);n!==s;){for(var u=t[n],d=0,p=o-1;(0!==u||d<i)&&-1!==p;p--,d++)u+=256*h[p]>>>0,h[p]=u%a>>>0,u=u/a>>>0;if(0!==u)throw new Error("Non-zero carry");i=d,n++}for(var f=o-i;f!==o&&0===h[f];)f++;for(var g=c.repeat(r);f<o;++f)g+=e.charAt(h[f]);return g},decodeUnsafe:u,decode:function(e){var r=u(e);if(r)return r;throw new Error(`Non-${t} character`)}}},v=b;new Uint8Array(0);const E=e=>{if(e instanceof Uint8Array&&"Uint8Array"===e.constructor.name)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};class I{constructor(e,t,r){this.name=e,this.prefix=t,this.baseEncode=r}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class S{constructor(e,t,r){if(this.name=e,this.prefix=t,void 0===t.codePointAt(0))throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=r}decode(e){if("string"==typeof e){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}throw Error("Can only multibase decode strings")}or(e){return O(this,e)}}class P{constructor(e){this.decoders=e}or(e){return O(this,e)}decode(e){const t=e[0],r=this.decoders[t];if(r)return r.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const O=(e,t)=>new P({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}});
1class _{constructor(e,t,r,i){this.name=e,this.prefix=t,this.baseEncode=r,this.baseDecode=i,this.encoder=new I(e,t,r),this.decoder=new S(e,t,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const x=({name:e,prefix:t,encode:r,decode:i})=>new _(e,t,r,i),R=({prefix:e,name:t,alphabet:r})=>{const{encode:i,decode:n}=v(r,t);return x({prefix:e,name:t,encode:i,decode:e=>E(n(e))})},A=({name:e,prefix:t,bitsPerChar:r,alphabet:i})=>x({prefix:t,name:e,encode(e){return((e,t,r)=>{const i="="===t[t.length-1],n=(1<<r)-1;let s="",o=0,a=0;for(let i=0;i<e.length;++i)for(a=a<<8|e[i],o+=8;o>r;)o-=r,s+=t[n&a>>o];if(o&&(s+=t[n&a<<r-o]),i)for(;s.length*r&7;)s+="=";return s})(e,i,r)},decode(t){return((e,t,r,i)=>{const n={};for(let e=0;e<t.length;++e)n[t[e]]=e;let s=e.length;for(;"="===e[s-1];)--s;const o=new Uint8Array(s*r/8|0);let a=0,c=0,h=0;for(let t=0;t<s;++t){const s=n[e[t]];if(void 0===s)throw new SyntaxError(`Non-${i} character`);c=c<<r|s,a+=r,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o})(t,i,r,e)}}),C=x({prefix:"\0",name:"identity",encode:e=>{return t=e,(new TextDecoder).decode(t);var t},decode:e=>(e=>(new TextEncoder).encode(e))(e)}),N=A({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1}),T=A({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3}),j=R({prefix:"9",name:"base10",alphabet:"0123456789"}),k=A({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),U=A({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4}),D=A({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),L=A({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),q=A({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),B=A({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),M=A({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),$=A({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),z=A({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),V=A({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),H=A({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5}),K=R({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),F=R({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"}),W=R({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),J=R({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"}),G=A({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Y=A({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Z=A({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Q=A({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6}),X=Array.from("ððªâð°ðððððððððððððâð»ð¥ð¾ð¿ðâ¤ðð¤£ððððððð
ððð¥ð¥°ðððð¢ð¤ðððªðâºðð¤ððððð¹ð¤¦ððââ¨ð¤·ð±ðð¸ððððððððð¤©ððð¤ðð¯ððð¶ðð¤â£ððððªðð¥ððð©ð¡ð¤ªðð¥³ð¥ð¤¤ððð³âððð´ðð¬ððð·ð»ðââ
ð¥ºððð¤ð¦âð£ððâ¹ððð âððºðð»ððððð¹ð£ð«ðððµð¤ðð´ð¤ð¼ð«â½ð¤âðð¤«ðð®ðð»ðð¶ðð²ð¿ð§¡ðâ¡ððââðð°ð¤¨ð¶ð¤ð¶ð°ðð¢ð¤ðð¨ð¨ð¤¬âððºð¤ððð±ðð¶ð¥´â¶â¡âðð¸â¬ð¨ðð¦ð·ðºâ ð
ððµðð¤²ð¤ ð¤§ððµð
ð§ð¾ððð¤ðð¤¯ð·âð§ð¯ððð¤ððâð´ð£ð¸ððð¥ð¤¢ð
ð¡ð©ðð¸ð»ð¤ð¤®ð¼ð¥µð©ððð¼ðð£ð¥"),ee=X.reduce(((e,t,r)=>(e[r]=t,e)),[]),te=X.reduce(((e,t,r)=>(e[t.codePointAt(0)]=r,e)),[]);const re=x({prefix:"ð",name:"base256emoji",encode:function(e){return e.reduce(((e,t)=>e+=ee[t]),"")},decode:function(e){const t=[];for(const r of e){const e=te[r.codePointAt(0)];if(void 0===e)throw new Error(`Non-base256emoji character: ${r}`);t.push(e)}return new Uint8Array(t)}});var ie=function e(t,r,i){r=r||[];var n=i=i||0;for(;t>=ne;)r[i++]=255&t|128,t/=128;for(;-128&t;)r[i++]=255&t|128,t>>>=7;return r[i]=0|t,e.bytes=i-n+1,r},ne=Math.pow(2,31);var se=function e(t,r){var i,n=0,s=0,o=r=r||0,a=t.length;do{if(o>=a)throw e.bytes=0,new RangeError("Could not decode varint");i=t[o++],n+=s<28?(127&i)<<s:(127&i)*Math.pow(2,s),s+=7}while(i>=128);return e.bytes=o-r,n};var oe=Math.pow(2,7),ae=Math.pow(2,14),ce=Math.pow(2,21),he=Math.pow(2,28),le=Math.pow(2,35),ue=Math.pow(2,42),de=Math.pow(2,49),pe=M
1ath.pow(2,56),fe=Math.pow(2,63),ge={encode:ie,decode:se,encodingLength:function(e){return e<oe?1:e<ae?2:e<ce?3:e<he?4:e<le?5:e<ue?6:e<de?7:e<pe?8:e<fe?9:10}};const ye=(e,t,r=0)=>(ge.encode(e,t,r),t),me=e=>ge.encodingLength(e),we=(e,t)=>{const r=t.byteLength,i=me(e),n=i+me(r),s=new Uint8Array(n+r);return ye(e,s,0),ye(r,s,i),s.set(t,n),new be(e,r,t,s)};class be{constructor(e,t,r,i){this.code=e,this.size=t,this.digest=r,this.bytes=i}}const ve=({name:e,code:t,encode:r})=>new Ee(e,t,r);class Ee{constructor(e,t,r){this.name=e,this.code=t,this.encode=r}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?we(this.code,t):t.then((e=>we(this.code,e)))}throw Error("Unknown type, must be binary type")}}const Ie=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Se=ve({name:"sha2-256",code:18,encode:Ie("SHA-256")}),Pe=ve({name:"sha2-512",code:19,encode:Ie("SHA-512")}),Oe=E,_e={code:0,name:"identity",encode:Oe,digest:e=>we(0,Oe(e))},xe="raw",Re=85,Ae=e=>E(e),Ce=e=>E(e),Ne=new TextEncoder,Te=new TextDecoder,je="json",ke=512,Ue=e=>Ne.encode(JSON.stringify(e)),De=e=>JSON.parse(Te.decode(e));
1class Le{constructor(e,t,r,i){this.code=t,this.version=e,this.multihash=r,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:cid_hidden,byteLength:cid_hidden,code:readonly,version:readonly,multihash:readonly,bytes:readonly,_baseCache:cid_hidden,asCID:cid_hidden})}toV0(){if(0===this.version)return this;{const{code:e,multihash:t}=this;if(e!==DAG_PB_CODE)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==SHA_256_CODE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return Le.createV0(t)}}toV1(){switch(this.version){case 0:{const{code:e,digest:t}=this.multihash,r=we(e,t);return Le.createV1(this.code,r)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(e){return e&&this.code===e.code&&this.version===e.version&&(this.multihash,e.multihash,t===r||t.code===r.code&&t.size===r.size&&((e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0})(t.bytes,r.bytes));var t,r}toString(e){const{bytes:t,version:r,_baseCache:i}=this;return 0===r?toStringV0(t,i,e||W.encoder):toStringV1(t,i,e||D.encoder)}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(e){return deprecate(/^0\.0/,IS_CID_DEPRECATION),!(!e||!e[cidSymbol]&&e.asCID!==e)}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(e){if(e instanceof Le)return e;if(null!=e&&e.asCID===e){const{version:t,code:r,multihash:i,bytes:n}=e;return new Le(t,r,i,n||encodeCID(t,r,i.bytes))}if(null!=e&&!0===e[cidSymbol]){const{version:t,multihash:r,code:i}=e,n=(e=>{const t=E(e),[r,i]=src_varint_decode(t),[n,s]=src_varint_decode(t.subarray(i)),o=t.subarray(i+s);if(o.byteLength!==n)throw new Error("Incorrect length");return new be(r,n,o,t)})(r);return Le.create(t,i,n)}return null}static create(e,t,r){if("number"!=typeof t)throw new Error("String codecs are no longer supported");switch(e){case 0:if(t!==DAG_PB_CODE)throw new Error(`Version 0 CID must use dag-pb (code: ${DAG_PB_CODE}) block encoding`);return new Le(e,t,r,r.bytes);case 1:{const i=encodeCID(e,t,r.bytes);return new Le(e,t,r,i)}default:throw new Error("Invalid version")}}static createV0(e){return Le.create(0,DAG_PB_CODE,e)}static createV1(e,t){return Le.create(1,e,t)}static decode(e){const[t,r]=Le.decodeFirst(e);if(r.length)throw new Error("Incorrect length");return t}static decodeFirst(e){const t=Le.inspectBytes(e),r=t.size-t.multihashSize,i=E(e.subarray(r,r+t.multihashSize));if(i.byteLength!==t.multihashSize)throw new Error("Incorrect length");const n=i.subarray(t.multihashSize-t.digestSize),s=new be(t.multihashCode,t.digestSize,n,i);return[0===t.version?Le.createV0(s):Le.createV1(t.codec,s),e.subarray(t.size)]}static inspectBytes(e){let t=0;const r=()=>{const[r,i]=src_varint_decode(e.subarray(t));return i,r};let i=r(),n=DAG_PB_CODE;if(18===i?(0,0):1===i&&r(),0!==i&&1!==i)throw new RangeError(`Invalid CID version ${i}`);const s=t,o=r(),a=r(),c=t+a;return{version:i,codec:n,multihashCode:o,digestSize:a,multihashSize:c-s,size:c}}static parse(e,t){const[r,i]=parseCIDtoBytes(e,t),n=Le.decode(i);return n._baseCache.set(r,e),n}}Symbol.for("@ipld/js-cid/CID");const qe={...i,...n,...s,...o,...a,...c,...h,...l,...u,...d};function Be(e,t,r,i){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:i}}}const Me=Be("utf8","u",(e=>"u"+new TextDecoder("utf8").decode(e)),(e=>(new TextEncoder).encode(e.substring(1)))),$e=Be("ascii","a",(e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t}),(e=>{const t=m((e=e.substring(1)).length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}));var ze={utf8:Me,"utf-8":Me,hex:qe.base16,latin1:$e,ascii:$e,binary:$e,...qe};function Ve(e,t="utf8"){const r=ze[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return"utf8"!==t&&"utf-8"!==t||null==globalThis.Buffer||null==globalThis.Buffer.from?r.decoder.decode(`${r.prefix}${e}`):globalThis.Buffer.from(e,"utf8")}function He(e,t="utf8"){const r=ze[t];if(!r)throw new Error(`Unsupported encoding "${t}"`);return"utf8"!==t&&"utf-8"!==t||null==globalThis.Buffer||null==globalThis.Buffer.from?r.encoder.encode(e).substring(1):globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8")}}}]);
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.