@ledgerhq/live-cli 24.34.0 → 24.35.0-nightly.20260305030127
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/{413.js → 90.js} +19 -19
- package/lib/cli.js +4636 -2938
- package/package.json +4 -4
package/lib/{413.js → 90.js}
RENAMED
|
@@ -6,7 +6,7 @@ const __rslib_import_meta_url__ = /*#__PURE__*/ (function () {
|
|
|
6
6
|
new URL('main.js', document.baseURI).href;
|
|
7
7
|
})();
|
|
8
8
|
;
|
|
9
|
-
exports.ids = ["
|
|
9
|
+
exports.ids = ["90"];
|
|
10
10
|
exports.modules = {
|
|
11
11
|
"../../node_modules/.pnpm/@walletconnect+environment@1.0.1/node_modules/@walletconnect/environment/dist/cjs/crypto.js"(__unused_rspack_module, exports) {
|
|
12
12
|
|
|
@@ -4511,7 +4511,7 @@ function socketOnError() {
|
|
|
4511
4511
|
|
|
4512
4512
|
|
|
4513
4513
|
},
|
|
4514
|
-
"../../node_modules/.pnpm/@walletconnect+sign-client@2.23.4_typescript@5.
|
|
4514
|
+
"../../node_modules/.pnpm/@walletconnect+sign-client@2.23.4_typescript@5.8.3/node_modules/@walletconnect/sign-client/dist/index.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
4515
4515
|
|
|
4516
4516
|
// EXPORTS
|
|
4517
4517
|
__webpack_require__.d(__webpack_exports__, {
|
|
@@ -5816,7 +5816,7 @@ function createVersionParts(count) {
|
|
|
5816
5816
|
var dist_cjs = __webpack_require__("../../node_modules/.pnpm/@walletconnect+window-getters@1.0.1/node_modules/@walletconnect/window-getters/dist/cjs/index.js");
|
|
5817
5817
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@walletconnect+window-metadata@1.0.1/node_modules/@walletconnect/window-metadata/dist/cjs/index.js
|
|
5818
5818
|
var window_metadata_dist_cjs = __webpack_require__("../../node_modules/.pnpm/@walletconnect+window-metadata@1.0.1/node_modules/@walletconnect/window-metadata/dist/cjs/index.js");
|
|
5819
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
5819
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/internal/errors.js
|
|
5820
5820
|
|
|
5821
5821
|
/** @internal */
|
|
5822
5822
|
function getUrl(url) {
|
|
@@ -5843,7 +5843,7 @@ function prettyPrint(args) {
|
|
|
5843
5843
|
.join('\n');
|
|
5844
5844
|
}
|
|
5845
5845
|
//# sourceMappingURL=errors.js.map
|
|
5846
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
5846
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/Errors.js
|
|
5847
5847
|
|
|
5848
5848
|
/**
|
|
5849
5849
|
* Base error class inherited by all errors thrown by ox.
|
|
@@ -5953,7 +5953,7 @@ function walk(err, fn) {
|
|
|
5953
5953
|
return fn ? null : err;
|
|
5954
5954
|
}
|
|
5955
5955
|
//# sourceMappingURL=Errors.js.map
|
|
5956
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
5956
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/internal/hex.js
|
|
5957
5957
|
|
|
5958
5958
|
/** @internal */
|
|
5959
5959
|
function assertSize(hex, size_) {
|
|
@@ -6020,7 +6020,7 @@ function trim(value, options = {}) {
|
|
|
6020
6020
|
return `0x${data}`;
|
|
6021
6021
|
}
|
|
6022
6022
|
//# sourceMappingURL=hex.js.map
|
|
6023
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
6023
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/Json.js
|
|
6024
6024
|
const bigIntSuffix = '#__bigint';
|
|
6025
6025
|
/**
|
|
6026
6026
|
* Parses a JSON string, with support for `bigint`.
|
|
@@ -6077,7 +6077,7 @@ function Json_stringify(value, replacer, space) {
|
|
|
6077
6077
|
}, space);
|
|
6078
6078
|
}
|
|
6079
6079
|
//# sourceMappingURL=Json.js.map
|
|
6080
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
6080
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/Hex.js
|
|
6081
6081
|
|
|
6082
6082
|
|
|
6083
6083
|
|
|
@@ -6794,7 +6794,7 @@ class SizeExceedsPaddingSizeError extends BaseError {
|
|
|
6794
6794
|
}
|
|
6795
6795
|
}
|
|
6796
6796
|
//# sourceMappingURL=Hex.js.map
|
|
6797
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
6797
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/Signature.js
|
|
6798
6798
|
|
|
6799
6799
|
|
|
6800
6800
|
|
|
@@ -10171,7 +10171,7 @@ const secp256k1_hasher = /* @__PURE__ */ (/* unused pure expression or super */
|
|
|
10171
10171
|
const hashToCurve = /* @__PURE__ */ (/* unused pure expression or super */ null && ((() => secp256k1_hasher.hashToCurve)()));
|
|
10172
10172
|
const encodeToCurve = /* @__PURE__ */ (/* unused pure expression or super */ null && ((() => secp256k1_hasher.encodeToCurve)()));
|
|
10173
10173
|
//# sourceMappingURL=secp256k1.js.map
|
|
10174
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
10174
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/internal/bytes.js
|
|
10175
10175
|
|
|
10176
10176
|
/** @internal */
|
|
10177
10177
|
function bytes_assertSize(bytes, size_) {
|
|
@@ -10258,7 +10258,7 @@ function bytes_trim(value, options = {}) {
|
|
|
10258
10258
|
return data;
|
|
10259
10259
|
}
|
|
10260
10260
|
//# sourceMappingURL=bytes.js.map
|
|
10261
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
10261
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/Bytes.js
|
|
10262
10262
|
|
|
10263
10263
|
|
|
10264
10264
|
|
|
@@ -10925,7 +10925,7 @@ class Bytes_SizeExceedsPaddingSizeError extends BaseError {
|
|
|
10925
10925
|
}
|
|
10926
10926
|
}
|
|
10927
10927
|
//# sourceMappingURL=Bytes.js.map
|
|
10928
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
10928
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/internal/lru.js
|
|
10929
10929
|
/**
|
|
10930
10930
|
* @internal
|
|
10931
10931
|
*
|
|
@@ -10962,7 +10962,7 @@ class LruMap extends Map {
|
|
|
10962
10962
|
}
|
|
10963
10963
|
}
|
|
10964
10964
|
//# sourceMappingURL=lru.js.map
|
|
10965
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
10965
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/Caches.js
|
|
10966
10966
|
|
|
10967
10967
|
const caches = {
|
|
10968
10968
|
checksum: /*#__PURE__*/ new LruMap(8192),
|
|
@@ -10984,7 +10984,7 @@ function Caches_clear() {
|
|
|
10984
10984
|
//# sourceMappingURL=Caches.js.map
|
|
10985
10985
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/sha3.js
|
|
10986
10986
|
var sha3 = __webpack_require__("../../node_modules/.pnpm/@noble+hashes@1.8.0/node_modules/@noble/hashes/esm/sha3.js");
|
|
10987
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
10987
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/Hash.js
|
|
10988
10988
|
|
|
10989
10989
|
|
|
10990
10990
|
|
|
@@ -11103,7 +11103,7 @@ function Hash_validate(value) {
|
|
|
11103
11103
|
return Hex.validate(value) && Hex.size(value) === 32;
|
|
11104
11104
|
}
|
|
11105
11105
|
//# sourceMappingURL=Hash.js.map
|
|
11106
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
11106
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/PublicKey.js
|
|
11107
11107
|
|
|
11108
11108
|
|
|
11109
11109
|
|
|
@@ -11481,7 +11481,7 @@ class PublicKey_InvalidSerializedSizeError extends BaseError {
|
|
|
11481
11481
|
}
|
|
11482
11482
|
}
|
|
11483
11483
|
//# sourceMappingURL=PublicKey.js.map
|
|
11484
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
11484
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/Address.js
|
|
11485
11485
|
|
|
11486
11486
|
|
|
11487
11487
|
|
|
@@ -11737,7 +11737,7 @@ class InvalidChecksumError extends BaseError {
|
|
|
11737
11737
|
}
|
|
11738
11738
|
}
|
|
11739
11739
|
//# sourceMappingURL=Address.js.map
|
|
11740
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.
|
|
11740
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/ox@0.9.3_typescript@5.8.3/node_modules/ox/_esm/core/Secp256k1.js
|
|
11741
11741
|
|
|
11742
11742
|
|
|
11743
11743
|
|
|
@@ -14863,7 +14863,7 @@ function dist_index_es_e(s,r,i="string"){if(!s[r]||typeof s[r]!==i)throw new Err
|
|
|
14863
14863
|
|
|
14864
14864
|
// EXTERNAL MODULE: ../../node_modules/.pnpm/blakejs@1.2.1/node_modules/blakejs/index.js
|
|
14865
14865
|
var blakejs = __webpack_require__("../../node_modules/.pnpm/blakejs@1.2.1/node_modules/blakejs/index.js");
|
|
14866
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@walletconnect+utils@2.23.4_typescript@5.
|
|
14866
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@walletconnect+utils@2.23.4_typescript@5.8.3/node_modules/@walletconnect/utils/dist/index.js
|
|
14867
14867
|
const dist_Ae=":";function dist_Je(t){const[e,n]=t.split(dist_Ae);return{namespace:e,reference:n}}function dist_or(t){const{namespace:e,reference:n}=t;return[e,n].join(dist_Ae)}function dist_Qe(t){const[e,n,r]=t.split(dist_Ae);return{namespace:e,reference:n,address:r}}function dist_sr(t){const{namespace:e,reference:n,address:r}=t;return[e,n,r].join(dist_Ae)}function dist_tn(t,e){const n=[];return t.forEach(r=>{const o=e(r);n.includes(o)||n.push(o)}),n}function dist_ir(t){const{address:e}=dist_Qe(t);return e}function dist_cr(t){const{namespace:e,reference:n}=dist_Qe(t);return dist_or({namespace:e,reference:n})}function Js(t,e){const{namespace:n,reference:r}=dist_Je(e);return dist_sr({namespace:n,reference:r,address:t})}function Qs(t){return dist_tn(t,dist_ir)}function dist_fr(t){return dist_tn(t,dist_cr)}function ti(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...o.accounts)}),n}function ei(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...dist_fr(o.accounts))}),n}function ni(t,e=[]){const n=[];return Object.keys(t).forEach(r=>{if(e.length&&!e.includes(r))return;const o=t[r];n.push(...dist_Se(r,o))}),n}function dist_Se(t,e){return t.includes(":")?[t]:e.chains||[]}var ri=Object.defineProperty,oi=Object.defineProperties,si=Object.getOwnPropertyDescriptors,dist_ar=Object.getOwnPropertySymbols,dist_ii=Object.prototype.hasOwnProperty,ci=Object.prototype.propertyIsEnumerable,dist_en=(t,e,n)=>e in t?ri(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,dist_ur=(t,e)=>{for(var n in e||(e={}))dist_ii.call(e,n)&&dist_en(t,n,e[n]);if(dist_ar)for(var n of dist_ar(e))ci.call(e,n)&&dist_en(t,n,e[n]);return t},fi=(t,e)=>oi(t,si(e)),dist_lr=(t,e,n)=>dist_en(t,typeof e!="symbol"?e+"":e,n);const dist_dr="ReactNative",dist_et={reactNative:"react-native",node:"node",browser:"browser",unknown:"unknown"},dist_Oe=" ",dist_ai=":",dist_hr="/",dist_nn=2,ui=1e3,dist_pr="js";function dist_rn(){return typeof process<"u"&&typeof process.versions<"u"&&typeof process.versions.node<"u"}function dist_It(){return!(0,dist_cjs.getDocument)()&&!!(0,dist_cjs.getNavigator)()&&navigator.product===dist_dr}function li(){return dist_It()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="android"}function di(){return dist_It()&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"&&(global==null?void 0:global.Platform.OS)==="ios"}function dist_Wt(){return!dist_rn()&&!!(0,dist_cjs.getNavigator)()&&!!(0,dist_cjs.getDocument)()}function dist_Vt(){return dist_It()?dist_et.reactNative:dist_rn()?dist_et.node:dist_Wt()?dist_et.browser:dist_et.unknown}function dist_hi(){var t;try{return dist_It()&&typeof global<"u"&&typeof(global==null?void 0:global.Application)<"u"?(t=global.Application)==null?void 0:t.applicationId:void 0}catch{return}}function dist_gr(t,e){const n=new URLSearchParams(t);return Object.entries(e).sort(([r],[o])=>r.localeCompare(o)).forEach(([r,o])=>{o!=null&&n.set(r,String(o))}),n.toString()}function pi(t){var e,n;const r=dist_br();try{return t!=null&&t.url&&r.url&&new URL(t.url).host!==new URL(r.url).host&&(console.warn(`The configured WalletConnect 'metadata.url':${t.url} differs from the actual page url:${r.url}. This is probably unintended and can lead to issues.`),t.url=r.url),(e=t?.icons)!=null&&e.length&&t.icons.length>0&&(t.icons=t.icons.filter(o=>o!=="")),fi(dist_ur(dist_ur({},r),t),{url:t?.url||r.url,name:t?.name||r.name,description:t?.description||r.description,icons:(n=t?.icons)!=null&&n.length&&t.icons.length>0?t.icons:r.icons})}catch(o){return console.warn("Error populating app metadata",o),t||r}}function dist_br(){return (0,window_metadata_dist_cjs.getWindowMetadata)()||{name:"",description:"",url:"",icons:[""]}}function gi(t,e){var n;const r=dist_Vt(),o={protocol:t,version:e,env:r};return r==="browser"&&(o.host=((n=rr())==null?void 0:n.host)||"unknown"),o}function dist_yr(){if(dist_Vt()===dist_et.reactNative&&typeof global<"u"&&typeof(global==null?void 0:global.Platform)<"u"){const{OS:n,Version:r}=global.Platform;return[n,r].join("-")}const t=detect();if(t===null)return"unknown";const e=t.os?t.os.replace(" ","").toLowerCase():"unknown";return t.type==="browser"?[e,t.name,t.version].join("-"):[e,t.version].join("-")}function dist_mr(){var t;const e=dist_Vt();return e===dist_et.browser?[e,((t=(0,dist_cjs.getLocation)())==null?void 0:t.host)||"unknown"].join(":"):e}function dist_wr(t,e,n){const r=dist_yr(),o=dist_mr();return[[t,e].join("-"),[dist_pr,n].join("-"),r,o].join("/")}function bi({protocol:t,version:e,relayUrl:n,sdkVersion:r,auth:o,projectId:s,useOnCloseEvent:i,bundleId:c,packageName:f}){const u=n.split("?"),a=dist_wr(t,e,r),l={auth:o,ua:a,projectId:s,useOnCloseEvent:i||void 0,packageName:f||void 0,bundleId:c||void 0},d=dist_gr(u[1]||"",l);return u[0]+"?"+d}function yi(t){let e=(t.match(/^[^:]+(?=:\/\/)/gi)||[])[0];const n=typeof e<"u"?t.split("://")[1]:t;return e=e==="wss"?"https":"http",[e,n].join("://")}function mi(t,e,n){if(!t[e]||typeof t[e]!==n)throw new Error(`Missing or invalid "${e}" param`)}function dist_vr(t,e=dist_nn){return dist_xr(t.split(dist_hr),e)}function wi(t){return dist_vr(t).join(dist_Oe)}function dist_At(t,e){return t.filter(n=>e.includes(n)).length===t.length}function dist_xr(t,e=dist_nn){return t.slice(Math.max(t.length-e,0))}function vi(t){return Object.fromEntries(t.entries())}function xi(t){return new Map(Object.entries(t))}function Ei(t,e){const n={};return Object.keys(t).forEach(r=>{n[r]=e(t[r])}),n}const Bi=t=>t;function dist_Er(t){return t.trim().replace(/^\w/,e=>e.toUpperCase())}function Ii(t){return t.split(dist_Oe).map(e=>dist_Er(e)).join(dist_Oe)}function Ai(t=cjs.FIVE_MINUTES,e){const n=(0,cjs.toMiliseconds)(t||cjs.FIVE_MINUTES);let r,o,s,i;return{resolve:c=>{s&&r&&(clearTimeout(s),r(c),i=Promise.resolve(c))},reject:c=>{s&&o&&(clearTimeout(s),o(c))},done:()=>new Promise((c,f)=>{if(i)return c(i);s=setTimeout(()=>{const u=new Error(e);i=Promise.reject(u),f(u)},n),r=c,o=f})}}function Si(t,e,n){return new Promise(async(r,o)=>{const s=setTimeout(()=>o(new Error(n)),e);try{const i=await t;r(i)}catch(i){o(i)}clearTimeout(s)})}function dist_on(t,e){if(typeof e=="string"&&e.startsWith(`${t}:`))return e;if(t.toLowerCase()==="topic"){if(typeof e!="string")throw new Error('Value must be "string" for expirer target type: topic');return`topic:${e}`}else if(t.toLowerCase()==="id"){if(typeof e!="number")throw new Error('Value must be "number" for expirer target type: id');return`id:${e}`}throw new Error(`Unknown expirer target type: ${t}`)}function Oi(t){return dist_on("topic",t)}function Ni(t){return dist_on("id",t)}function Ui(t){const[e,n]=t.split(":"),r={id:void 0,topic:void 0};if(e==="topic"&&typeof n=="string")r.topic=n;else if(e==="id"&&Number.isInteger(Number(n)))r.id=Number(n);else throw new Error(`Invalid target, expected id:number or topic:string, got ${e}:${n}`);return r}function _i(t,e){return (0,cjs.fromMiliseconds)((e||Date.now())+(0,cjs.toMiliseconds)(t))}function Ri(t){return Date.now()>=(0,cjs.toMiliseconds)(t)}function $i(t,e){return`${t}${e?`:${e}`:""}`}function dist_ut(t=[],e=[]){return[...new Set([...t,...e])]}async function Ti({id:t,topic:e,wcDeepLink:n}){var r;try{if(!n)return;const o=typeof n=="string"?JSON.parse(n):n,s=o?.href;if(typeof s!="string")return;const i=dist_Br(s,t,e),c=dist_Vt();if(c===dist_et.browser){if(!((r=(0,dist_cjs.getDocument)())!=null&&r.hasFocus())){console.warn("Document does not have focus, skipping deeplink.");return}dist_Ir(i)}else c===dist_et.reactNative&&typeof(global==null?void 0:global.Linking)<"u"&&await global.Linking.openURL(i)}catch(o){console.error(o)}}function dist_Br(t,e,n){const r=`requestId=${e}&sessionTopic=${n}`;t.endsWith("/")&&(t=t.slice(0,-1));let o=`${t}`;if(t.startsWith("https://t.me")){const s=t.includes("?")?"&startapp=":"?startapp=";o=`${o}${s}${dist_Or(r,!0)}`}else o=`${o}/wc?${r}`;return o}function dist_Ir(t){let e="_self";dist_Sr()?e="_top":(dist_Ar()||t.startsWith("https://")||t.startsWith("http://"))&&(e="_blank"),window.open(t,e,"noreferrer noopener")}async function Ci(t,e){let n="";try{if(dist_Wt()&&(n=localStorage.getItem(e),n))return n;n=await t.getItem(e)}catch(r){console.error(r)}return n}function dist_sn(t,e){return t.filter(n=>e.includes(n))}function ji(t,e){if(!t.includes(e))return null;const n=t.split(/([&,?,=])/),r=n.indexOf(e);return n[r+2]}function Li(){return typeof crypto<"u"&&crypto!=null&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/gu,t=>{const e=Math.random()*16|0;return(t==="x"?e:e&3|8).toString(16)})}function ki(){return typeof process<"u"&&process.env.IS_VITEST==="true"}function dist_Ar(){return typeof window<"u"&&(!!window.TelegramWebviewProxy||!!window.Telegram||!!window.TelegramWebviewProxyProto)}function dist_Sr(){try{return window.self!==window.top}catch{return!1}}function dist_Or(t,e=!1){const n=Buffer.from(t).toString("base64");return e?n.replace(/[=]/g,""):n}function dist_cn(t){return Buffer.from(t,"base64").toString("utf-8")}function Pi(t){return new Promise(e=>setTimeout(e,t))}class Hi{constructor({limit:e}){dist_lr(this,"limit"),dist_lr(this,"set"),this.limit=e,this.set=new Set}add(e){if(!this.set.has(e)){if(this.set.size>=this.limit){const n=this.set.values().next().value;n&&this.set.delete(n)}this.set.add(e)}}has(e){return this.set.has(e)}}const dist_Ne=BigInt(2**32-1),dist_Nr=BigInt(32);function dist_Ur(t,e=!1){return e?{h:Number(t&dist_Ne),l:Number(t>>dist_Nr&dist_Ne)}:{h:Number(t>>dist_Nr&dist_Ne)|0,l:Number(t&dist_Ne)|0}}function dist_r(t,e=!1){const n=t.length;let r=new Uint32Array(n),o=new Uint32Array(n);for(let s=0;s<n;s++){const{h:i,l:c}=dist_Ur(t[s],e);[r[s],o[s]]=[i,c]}return[r,o]}const dist_Rr=(t,e,n)=>t>>>n,dist_$r=(t,e,n)=>t<<32-n|e>>>n,dist_St=(t,e,n)=>t>>>n|e<<32-n,dist_Ot=(t,e,n)=>t<<32-n|e>>>n,dist_de=(t,e,n)=>t<<64-n|e>>>n-32,dist_he=(t,e,n)=>t>>>n-32|e<<64-n,Di=(t,e)=>e,Vi=(t,e)=>t,Mi=(t,e,n)=>t<<n|e>>>32-n,Ki=(t,e,n)=>e<<n|t>>>32-n,qi=(t,e,n)=>e<<n-32|t>>>64-n,Fi=(t,e,n)=>t<<n-32|e>>>64-n;function dist_dt(t,e,n,r){const o=(e>>>0)+(r>>>0);return{h:t+n+(o/2**32|0)|0,l:o|0}}const dist_fn=(t,e,n)=>(t>>>0)+(e>>>0)+(n>>>0),dist_an=(t,e,n,r)=>e+n+r+(t/2**32|0)|0,Zi=(t,e,n,r)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0),Gi=(t,e,n,r,o)=>e+n+r+o+(t/2**32|0)|0,zi=(t,e,n,r,o)=>(t>>>0)+(e>>>0)+(n>>>0)+(r>>>0)+(o>>>0),Yi=(t,e,n,r,o,s)=>e+n+r+o+s+(t/2**32|0)|0,dist_Xt=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function dist_Ue(t){return t instanceof Uint8Array||ArrayBuffer.isView(t)&&t.constructor.name==="Uint8Array"}function dist_mt(t){if(!Number.isSafeInteger(t)||t<0)throw new Error("positive integer expected, got "+t)}function dist_ht(t,...e){if(!dist_Ue(t))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(t.length))throw new Error("Uint8Array expected of length "+e+", got length="+t.length)}function dist_e(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.createHasher");dist_mt(t.outputLen),dist_mt(t.blockLen)}function dist_Nt(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function dist_un(t,e){dist_ht(t);const n=e.outputLen;if(t.length<n)throw new Error("digestInto() expects output buffer of length at least "+n)}function dist_pe(t){return new Uint32Array(t.buffer,t.byteOffset,Math.floor(t.byteLength/4))}function dist_lt(...t){for(let e=0;e<t.length;e++)t[e].fill(0)}function dist_ln(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function dist_bt(t,e){return t<<32-e|t>>>e}const dist_Tr=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function dist_Cr(t){return t<<24&4278190080|t<<8&16711680|t>>>8&65280|t>>>24&255}const dist_wt=dist_Tr?t=>t:t=>dist_Cr(t);function Wi(t){for(let e=0;e<t.length;e++)t[e]=dist_Cr(t[e]);return t}const dist_Ut=dist_Tr?t=>t:Wi,dist_jr=typeof Uint8Array.from([]).toHex=="function"&&typeof Uint8Array.fromHex=="function",Xi=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function dist_Jt(t){if(dist_ht(t),dist_jr)return t.toHex();let e="";for(let n=0;n<t.length;n++)e+=Xi[t[n]];return e}const dist_vt={_0:48,_9:57,A:65,F:70,a:97,f:102};function dist_Lr(t){if(t>=dist_vt._0&&t<=dist_vt._9)return t-dist_vt._0;if(t>=dist_vt.A&&t<=dist_vt.F)return t-(dist_vt.A-10);if(t>=dist_vt.a&&t<=dist_vt.f)return t-(dist_vt.a-10)}function dist_Re(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);if(dist_jr)return Uint8Array.fromHex(t);const e=t.length,n=e/2;if(e%2)throw new Error("hex string expected, got unpadded hex of length "+e);const r=new Uint8Array(n);for(let o=0,s=0;o<n;o++,s+=2){const i=dist_Lr(t.charCodeAt(s)),c=dist_Lr(t.charCodeAt(s+1));if(i===void 0||c===void 0){const f=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+f+'" at index '+s)}r[o]=i*16+c}return r}function dist_kr(t){if(typeof t!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(t))}function dist_pt(t){return typeof t=="string"&&(t=dist_kr(t)),dist_ht(t),t}function dist_t(...t){let e=0;for(let r=0;r<t.length;r++){const o=t[r];dist_ht(o),e+=o.length}const n=new Uint8Array(e);for(let r=0,o=0;r<t.length;r++){const s=t[r];n.set(s,o),o+=s.length}return n}class dist_$e{}function dist_ge(t){const e=r=>t().update(dist_pt(r)).digest(),n=t();return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=()=>t(),e}function Ji(t){const e=(r,o)=>t(o).update(dist_pt(r)).digest(),n=t({});return e.outputLen=n.outputLen,e.blockLen=n.blockLen,e.create=r=>t(r),e}function dist_Mt(t=32){if(dist_Xt&&typeof dist_Xt.getRandomValues=="function")return dist_Xt.getRandomValues(new Uint8Array(t));if(dist_Xt&&typeof dist_Xt.randomBytes=="function")return Uint8Array.from(dist_Xt.randomBytes(t));throw new Error("crypto.getRandomValues must be defined")}const Qi=BigInt(0),dist_be=BigInt(1),tc=BigInt(2),ec=BigInt(7),nc=BigInt(256),rc=BigInt(113),dist_Pr=[],dist_Hr=[],dist_Dr=[];for(let t=0,e=dist_be,n=1,r=0;t<24;t++){[n,r]=[r,(2*n+3*r)%5],dist_Pr.push(2*(5*r+n)),dist_Hr.push((t+1)*(t+2)/2%64);let o=Qi;for(let s=0;s<7;s++)e=(e<<dist_be^(e>>ec)*rc)%nc,e&tc&&(o^=dist_be<<(dist_be<<BigInt(s))-dist_be);dist_Dr.push(o)}const dist_Vr=dist_r(dist_Dr,!0),oc=dist_Vr[0],dist_sc=dist_Vr[1],dist_Mr=(t,e,n)=>n>32?qi(t,e,n):Mi(t,e,n),dist_Kr=(t,e,n)=>n>32?Fi(t,e,n):Ki(t,e,n);function ic(t,e=24){const n=new Uint32Array(10);for(let r=24-e;r<24;r++){for(let i=0;i<10;i++)n[i]=t[i]^t[i+10]^t[i+20]^t[i+30]^t[i+40];for(let i=0;i<10;i+=2){const c=(i+8)%10,f=(i+2)%10,u=n[f],a=n[f+1],l=dist_Mr(u,a,1)^n[c],d=dist_Kr(u,a,1)^n[c+1];for(let h=0;h<50;h+=10)t[i+h]^=l,t[i+h+1]^=d}let o=t[2],s=t[3];for(let i=0;i<24;i++){const c=dist_Hr[i],f=dist_Mr(o,s,c),u=dist_Kr(o,s,c),a=dist_Pr[i];o=t[a],s=t[a+1],t[a]=f,t[a+1]=u}for(let i=0;i<50;i+=10){for(let c=0;c<10;c++)n[c]=t[i+c];for(let c=0;c<10;c++)t[i+c]^=~n[(c+2)%10]&n[(c+4)%10]}t[0]^=oc[r],t[1]^=dist_sc[r]}dist_lt(n)}class dist_Jn extends dist_$e{constructor(e,n,r,o=!1,s=24){if(super(),this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,this.enableXOF=!1,this.blockLen=e,this.suffix=n,this.outputLen=r,this.enableXOF=o,this.rounds=s,dist_mt(r),!(0<e&&e<200))throw new Error("only keccak-f1600 function is supported");this.state=new Uint8Array(200),this.state32=dist_pe(this.state)}clone(){return this._cloneInto()}keccak(){dist_Ut(this.state32),ic(this.state32,this.rounds),dist_Ut(this.state32),this.posOut=0,this.pos=0}update(e){dist_Nt(this),e=dist_pt(e),dist_ht(e);const{blockLen:n,state:r}=this,o=e.length;for(let s=0;s<o;){const i=Math.min(n-this.pos,o-s);for(let c=0;c<i;c++)r[this.pos++]^=e[s++];this.pos===n&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;const{state:e,suffix:n,pos:r,blockLen:o}=this;e[r]^=n,(n&128)!==0&&r===o-1&&this.keccak(),e[o-1]^=128,this.keccak()}writeInto(e){dist_Nt(this,!1),dist_ht(e),this.finish();const n=this.state,{blockLen:r}=this;for(let o=0,s=e.length;o<s;){this.posOut>=r&&this.keccak();const i=Math.min(r-this.posOut,s-o);e.set(n.subarray(this.posOut,this.posOut+i),o),this.posOut+=i,o+=i}return e}xofInto(e){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(e)}xof(e){return dist_mt(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(dist_un(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,dist_lt(this.state)}_cloneInto(e){const{blockLen:n,suffix:r,outputLen:o,rounds:s,enableXOF:i}=this;return e||(e=new dist_Jn(n,r,o,i,s)),e.state32.set(this.state32),e.pos=this.pos,e.posOut=this.posOut,e.finished=this.finished,e.rounds=s,e.suffix=r,e.outputLen=o,e.enableXOF=i,e.destroyed=this.destroyed,e}}const dist_cc=(t,e,n)=>dist_ge(()=>new dist_Jn(e,t,n)),fc=dist_cc(1,136,256/8);function ac(t,e,n,r){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,n,r);const o=BigInt(32),s=BigInt(4294967295),i=Number(n>>o&s),c=Number(n&s),f=r?4:0,u=r?0:4;t.setUint32(e+f,i,r),t.setUint32(e+u,c,r)}function uc(t,e,n){return t&e^~t&n}function lc(t,e,n){return t&e^t&n^e&n}class dist_qr extends dist_$e{constructor(e,n,r,o){super(),this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.blockLen=e,this.outputLen=n,this.padOffset=r,this.isLE=o,this.buffer=new Uint8Array(e),this.view=dist_ln(this.buffer)}update(e){dist_Nt(this),e=dist_pt(e),dist_ht(e);const{view:n,buffer:r,blockLen:o}=this,s=e.length;for(let i=0;i<s;){const c=Math.min(o-this.pos,s-i);if(c===o){const f=dist_ln(e);for(;o<=s-i;i+=o)this.process(f,i);continue}r.set(e.subarray(i,i+c),this.pos),this.pos+=c,i+=c,this.pos===o&&(this.process(n,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){dist_Nt(this),dist_un(e,this),this.finished=!0;const{buffer:n,view:r,blockLen:o,isLE:s}=this;let{pos:i}=this;n[i++]=128,dist_lt(this.buffer.subarray(i)),this.padOffset>o-i&&(this.process(r,0),i=0);for(let l=i;l<o;l++)n[l]=0;ac(r,o-8,BigInt(this.length*8),s),this.process(r,0);const c=dist_ln(e),f=this.outputLen;if(f%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const u=f/4,a=this.get();if(u>a.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)c.setUint32(4*l,a[l],s)}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:n,buffer:r,length:o,finished:s,destroyed:i,pos:c}=this;return e.destroyed=i,e.finished=s,e.length=o,e.pos=c,o%n&&e.buffer.set(r),e}clone(){return this._cloneInto()}}const dist_Rt=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),dist_X=Uint32Array.from([3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]),utils_dist_J=Uint32Array.from([1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209]),dc=Uint32Array.from([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]),dist_$t=new Uint32Array(64);class hc extends dist_qr{constructor(e=32){super(64,e,8,!1),this.A=dist_Rt[0]|0,this.B=dist_Rt[1]|0,this.C=dist_Rt[2]|0,this.D=dist_Rt[3]|0,this.E=dist_Rt[4]|0,this.F=dist_Rt[5]|0,this.G=dist_Rt[6]|0,this.H=dist_Rt[7]|0}get(){const{A:e,B:n,C:r,D:o,E:s,F:i,G:c,H:f}=this;return[e,n,r,o,s,i,c,f]}set(e,n,r,o,s,i,c,f){this.A=e|0,this.B=n|0,this.C=r|0,this.D=o|0,this.E=s|0,this.F=i|0,this.G=c|0,this.H=f|0}process(e,n){for(let l=0;l<16;l++,n+=4)dist_$t[l]=e.getUint32(n,!1);for(let l=16;l<64;l++){const d=dist_$t[l-15],h=dist_$t[l-2],y=dist_bt(d,7)^dist_bt(d,18)^d>>>3,m=dist_bt(h,17)^dist_bt(h,19)^h>>>10;dist_$t[l]=m+dist_$t[l-7]+y+dist_$t[l-16]|0}let{A:r,B:o,C:s,D:i,E:c,F:f,G:u,H:a}=this;for(let l=0;l<64;l++){const d=dist_bt(c,6)^dist_bt(c,11)^dist_bt(c,25),h=a+d+uc(c,f,u)+dc[l]+dist_$t[l]|0,m=(dist_bt(r,2)^dist_bt(r,13)^dist_bt(r,22))+lc(r,o,s)|0;a=u,u=f,f=c,c=i+h|0,i=s,s=o,o=r,r=h+m|0}r=r+this.A|0,o=o+this.B|0,s=s+this.C|0,i=i+this.D|0,c=c+this.E|0,f=f+this.F|0,u=u+this.G|0,a=a+this.H|0,this.set(r,o,s,i,c,f,u,a)}roundClean(){dist_lt(dist_$t)}destroy(){this.set(0,0,0,0,0,0,0,0),dist_lt(this.buffer)}}const dist_Fr=dist_r(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","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(t=>BigInt(t))),pc=dist_Fr[0],gc=dist_Fr[1],dist_Tt=new Uint32Array(80),dist_Ct=new Uint32Array(80);class dist_dn extends dist_qr{constructor(e=64){super(128,e,16,!1),this.Ah=utils_dist_J[0]|0,this.Al=utils_dist_J[1]|0,this.Bh=utils_dist_J[2]|0,this.Bl=utils_dist_J[3]|0,this.Ch=utils_dist_J[4]|0,this.Cl=utils_dist_J[5]|0,this.Dh=utils_dist_J[6]|0,this.Dl=utils_dist_J[7]|0,this.Eh=utils_dist_J[8]|0,this.El=utils_dist_J[9]|0,this.Fh=utils_dist_J[10]|0,this.Fl=utils_dist_J[11]|0,this.Gh=utils_dist_J[12]|0,this.Gl=utils_dist_J[13]|0,this.Hh=utils_dist_J[14]|0,this.Hl=utils_dist_J[15]|0}get(){const{Ah:e,Al:n,Bh:r,Bl:o,Ch:s,Cl:i,Dh:c,Dl:f,Eh:u,El:a,Fh:l,Fl:d,Gh:h,Gl:y,Hh:m,Hl:w}=this;return[e,n,r,o,s,i,c,f,u,a,l,d,h,y,m,w]}set(e,n,r,o,s,i,c,f,u,a,l,d,h,y,m,w){this.Ah=e|0,this.Al=n|0,this.Bh=r|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=c|0,this.Dl=f|0,this.Eh=u|0,this.El=a|0,this.Fh=l|0,this.Fl=d|0,this.Gh=h|0,this.Gl=y|0,this.Hh=m|0,this.Hl=w|0}process(e,n){for(let R=0;R<16;R++,n+=4)dist_Tt[R]=e.getUint32(n),dist_Ct[R]=e.getUint32(n+=4);for(let R=16;R<80;R++){const Z=dist_Tt[R-15]|0,H=dist_Ct[R-15]|0,j=dist_St(Z,H,1)^dist_St(Z,H,8)^dist_Rr(Z,H,7),L=dist_Ot(Z,H,1)^dist_Ot(Z,H,8)^dist_$r(Z,H,7),k=dist_Tt[R-2]|0,O=dist_Ct[R-2]|0,T=dist_St(k,O,19)^dist_de(k,O,61)^dist_Rr(k,O,6),C=dist_Ot(k,O,19)^dist_he(k,O,61)^dist_$r(k,O,6),_=Zi(L,C,dist_Ct[R-7],dist_Ct[R-16]),p=Gi(_,j,T,dist_Tt[R-7],dist_Tt[R-16]);dist_Tt[R]=p|0,dist_Ct[R]=_|0}let{Ah:r,Al:o,Bh:s,Bl:i,Ch:c,Cl:f,Dh:u,Dl:a,Eh:l,El:d,Fh:h,Fl:y,Gh:m,Gl:w,Hh:U,Hl:F}=this;for(let R=0;R<80;R++){const Z=dist_St(l,d,14)^dist_St(l,d,18)^dist_de(l,d,41),H=dist_Ot(l,d,14)^dist_Ot(l,d,18)^dist_he(l,d,41),j=l&h^~l&m,L=d&y^~d&w,k=zi(F,H,L,gc[R],dist_Ct[R]),O=Yi(k,U,Z,j,pc[R],dist_Tt[R]),T=k|0,C=dist_St(r,o,28)^dist_de(r,o,34)^dist_de(r,o,39),_=dist_Ot(r,o,28)^dist_he(r,o,34)^dist_he(r,o,39),p=r&s^r&c^s&c,b=o&i^o&f^i&f;U=m|0,F=w|0,m=h|0,w=y|0,h=l|0,y=d|0,{h:l,l:d}=dist_dt(u|0,a|0,O|0,T|0),u=c|0,a=f|0,c=s|0,f=i|0,s=r|0,i=o|0;const g=dist_fn(T,_,b);r=dist_an(g,O,C,p),o=g|0}({h:r,l:o}=dist_dt(this.Ah|0,this.Al|0,r|0,o|0)),{h:s,l:i}=dist_dt(this.Bh|0,this.Bl|0,s|0,i|0),{h:c,l:f}=dist_dt(this.Ch|0,this.Cl|0,c|0,f|0),{h:u,l:a}=dist_dt(this.Dh|0,this.Dl|0,u|0,a|0),{h:l,l:d}=dist_dt(this.Eh|0,this.El|0,l|0,d|0),{h,l:y}=dist_dt(this.Fh|0,this.Fl|0,h|0,y|0),{h:m,l:w}=dist_dt(this.Gh|0,this.Gl|0,m|0,w|0),{h:U,l:F}=dist_dt(this.Hh|0,this.Hl|0,U|0,F|0),this.set(r,o,s,i,c,f,u,a,l,d,h,y,m,w,U,F)}roundClean(){dist_lt(dist_Tt,dist_Ct)}destroy(){dist_lt(this.buffer),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}class bc extends dist_dn{constructor(){super(48),this.Ah=dist_X[0]|0,this.Al=dist_X[1]|0,this.Bh=dist_X[2]|0,this.Bl=dist_X[3]|0,this.Ch=dist_X[4]|0,this.Cl=dist_X[5]|0,this.Dh=dist_X[6]|0,this.Dl=dist_X[7]|0,this.Eh=dist_X[8]|0,this.El=dist_X[9]|0,this.Fh=dist_X[10]|0,this.Fl=dist_X[11]|0,this.Gh=dist_X[12]|0,this.Gl=dist_X[13]|0,this.Hh=dist_X[14]|0,this.Hl=dist_X[15]|0}}const dist_Q=Uint32Array.from([573645204,4230739756,2673172387,3360449730,596883563,1867755857,2520282905,1497426621,2519219938,2827943907,3193839141,1401305490,721525244,746961066,246885852,2177182882]);class yc extends dist_dn{constructor(){super(32),this.Ah=dist_Q[0]|0,this.Al=dist_Q[1]|0,this.Bh=dist_Q[2]|0,this.Bl=dist_Q[3]|0,this.Ch=dist_Q[4]|0,this.Cl=dist_Q[5]|0,this.Dh=dist_Q[6]|0,this.Dl=dist_Q[7]|0,this.Eh=dist_Q[8]|0,this.El=dist_Q[9]|0,this.Fh=dist_Q[10]|0,this.Fl=dist_Q[11]|0,this.Gh=dist_Q[12]|0,this.Gl=dist_Q[13]|0,this.Hh=dist_Q[14]|0,this.Hl=dist_Q[15]|0}}const dist_Te=dist_ge(()=>new hc),mc=dist_ge(()=>new dist_dn),wc=dist_ge(()=>new bc),vc=dist_ge(()=>new yc),dist_xc=Uint8Array.from([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9]),dist_z=Uint32Array.from([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),utils_dist_S=new Uint32Array(32);function dist_jt(t,e,n,r,o,s){const i=o[s],c=o[s+1];let f=utils_dist_S[2*t],u=utils_dist_S[2*t+1],a=utils_dist_S[2*e],l=utils_dist_S[2*e+1],d=utils_dist_S[2*n],h=utils_dist_S[2*n+1],y=utils_dist_S[2*r],m=utils_dist_S[2*r+1],w=dist_fn(f,a,i);u=dist_an(w,u,l,c),f=w|0,{Dh:m,Dl:y}={Dh:m^u,Dl:y^f},{Dh:m,Dl:y}={Dh:Di(m,y),Dl:Vi(m)},{h,l:d}=dist_dt(h,d,m,y),{Bh:l,Bl:a}={Bh:l^h,Bl:a^d},{Bh:l,Bl:a}={Bh:dist_St(l,a,24),Bl:dist_Ot(l,a,24)},utils_dist_S[2*t]=f,utils_dist_S[2*t+1]=u,utils_dist_S[2*e]=a,utils_dist_S[2*e+1]=l,utils_dist_S[2*n]=d,utils_dist_S[2*n+1]=h,utils_dist_S[2*r]=y,utils_dist_S[2*r+1]=m}function dist_Lt(t,e,n,r,o,s){const i=o[s],c=o[s+1];let f=utils_dist_S[2*t],u=utils_dist_S[2*t+1],a=utils_dist_S[2*e],l=utils_dist_S[2*e+1],d=utils_dist_S[2*n],h=utils_dist_S[2*n+1],y=utils_dist_S[2*r],m=utils_dist_S[2*r+1],w=dist_fn(f,a,i);u=dist_an(w,u,l,c),f=w|0,{Dh:m,Dl:y}={Dh:m^u,Dl:y^f},{Dh:m,Dl:y}={Dh:dist_St(m,y,16),Dl:dist_Ot(m,y,16)},{h,l:d}=dist_dt(h,d,m,y),{Bh:l,Bl:a}={Bh:l^h,Bl:a^d},{Bh:l,Bl:a}={Bh:dist_de(l,a,63),Bl:dist_he(l,a,63)},utils_dist_S[2*t]=f,utils_dist_S[2*t+1]=u,utils_dist_S[2*e]=a,utils_dist_S[2*e+1]=l,utils_dist_S[2*n]=d,utils_dist_S[2*n+1]=h,utils_dist_S[2*r]=y,utils_dist_S[2*r+1]=m}function Ec(t,e={},n,r,o){if(dist_mt(n),t<0||t>n)throw new Error("outputLen bigger than keyLen");const{key:s,salt:i,personalization:c}=e;if(s!==void 0&&(s.length<1||s.length>n))throw new Error("key length must be undefined or 1.."+n);if(i!==void 0&&i.length!==r)throw new Error("salt must be undefined or "+r);if(c!==void 0&&c.length!==o)throw new Error("personalization must be undefined or "+o)}class Bc extends dist_$e{constructor(e,n){super(),this.finished=!1,this.destroyed=!1,this.length=0,this.pos=0,dist_mt(e),dist_mt(n),this.blockLen=e,this.outputLen=n,this.buffer=new Uint8Array(e),this.buffer32=dist_pe(this.buffer)}update(e){dist_Nt(this),e=dist_pt(e),dist_ht(e);const{blockLen:n,buffer:r,buffer32:o}=this,s=e.length,i=e.byteOffset,c=e.buffer;for(let f=0;f<s;){this.pos===n&&(dist_Ut(o),this.compress(o,0,!1),dist_Ut(o),this.pos=0);const u=Math.min(n-this.pos,s-f),a=i+f;if(u===n&&!(a%4)&&f+u<s){const l=new Uint32Array(c,a,Math.floor((s-f)/4));dist_Ut(l);for(let d=0;f+n<s;d+=o.length,f+=n)this.length+=n,this.compress(l,d,!1);dist_Ut(l);continue}r.set(e.subarray(f,f+u),this.pos),this.pos+=u,this.length+=u,f+=u}return this}digestInto(e){dist_Nt(this),dist_un(e,this);const{pos:n,buffer32:r}=this;this.finished=!0,dist_lt(this.buffer.subarray(n)),dist_Ut(r),this.compress(r,0,!0),dist_Ut(r);const o=dist_pe(e);this.get().forEach((s,i)=>o[i]=dist_wt(s))}digest(){const{buffer:e,outputLen:n}=this;this.digestInto(e);const r=e.slice(0,n);return this.destroy(),r}_cloneInto(e){const{buffer:n,length:r,finished:o,destroyed:s,outputLen:i,pos:c}=this;return e||(e=new this.constructor({dkLen:i})),e.set(...this.get()),e.buffer.set(n),e.destroyed=s,e.finished=o,e.length=r,e.pos=c,e.outputLen=i,e}clone(){return this._cloneInto()}}class Ic extends Bc{constructor(e={}){const n=e.dkLen===void 0?64:e.dkLen;super(128,n),this.v0l=dist_z[0]|0,this.v0h=dist_z[1]|0,this.v1l=dist_z[2]|0,this.v1h=dist_z[3]|0,this.v2l=dist_z[4]|0,this.v2h=dist_z[5]|0,this.v3l=dist_z[6]|0,this.v3h=dist_z[7]|0,this.v4l=dist_z[8]|0,this.v4h=dist_z[9]|0,this.v5l=dist_z[10]|0,this.v5h=dist_z[11]|0,this.v6l=dist_z[12]|0,this.v6h=dist_z[13]|0,this.v7l=dist_z[14]|0,this.v7h=dist_z[15]|0,Ec(n,e,64,16,16);let{key:r,personalization:o,salt:s}=e,i=0;if(r!==void 0&&(r=dist_pt(r),i=r.length),this.v0l^=this.outputLen|i<<8|65536|1<<24,s!==void 0){s=dist_pt(s);const c=dist_pe(s);this.v4l^=dist_wt(c[0]),this.v4h^=dist_wt(c[1]),this.v5l^=dist_wt(c[2]),this.v5h^=dist_wt(c[3])}if(o!==void 0){o=dist_pt(o);const c=dist_pe(o);this.v6l^=dist_wt(c[0]),this.v6h^=dist_wt(c[1]),this.v7l^=dist_wt(c[2]),this.v7h^=dist_wt(c[3])}if(r!==void 0){const c=new Uint8Array(this.blockLen);c.set(r),this.update(c)}}get(){let{v0l:e,v0h:n,v1l:r,v1h:o,v2l:s,v2h:i,v3l:c,v3h:f,v4l:u,v4h:a,v5l:l,v5h:d,v6l:h,v6h:y,v7l:m,v7h:w}=this;return[e,n,r,o,s,i,c,f,u,a,l,d,h,y,m,w]}set(e,n,r,o,s,i,c,f,u,a,l,d,h,y,m,w){this.v0l=e|0,this.v0h=n|0,this.v1l=r|0,this.v1h=o|0,this.v2l=s|0,this.v2h=i|0,this.v3l=c|0,this.v3h=f|0,this.v4l=u|0,this.v4h=a|0,this.v5l=l|0,this.v5h=d|0,this.v6l=h|0,this.v6h=y|0,this.v7l=m|0,this.v7h=w|0}compress(e,n,r){this.get().forEach((f,u)=>utils_dist_S[u]=f),utils_dist_S.set(dist_z,16);let{h:o,l:s}=dist_Ur(BigInt(this.length));utils_dist_S[24]=dist_z[8]^s,utils_dist_S[25]=dist_z[9]^o,r&&(utils_dist_S[28]=~utils_dist_S[28],utils_dist_S[29]=~utils_dist_S[29]);let i=0;const c=dist_xc;for(let f=0;f<12;f++)dist_jt(0,4,8,12,e,n+2*c[i++]),dist_Lt(0,4,8,12,e,n+2*c[i++]),dist_jt(1,5,9,13,e,n+2*c[i++]),dist_Lt(1,5,9,13,e,n+2*c[i++]),dist_jt(2,6,10,14,e,n+2*c[i++]),dist_Lt(2,6,10,14,e,n+2*c[i++]),dist_jt(3,7,11,15,e,n+2*c[i++]),dist_Lt(3,7,11,15,e,n+2*c[i++]),dist_jt(0,5,10,15,e,n+2*c[i++]),dist_Lt(0,5,10,15,e,n+2*c[i++]),dist_jt(1,6,11,12,e,n+2*c[i++]),dist_Lt(1,6,11,12,e,n+2*c[i++]),dist_jt(2,7,8,13,e,n+2*c[i++]),dist_Lt(2,7,8,13,e,n+2*c[i++]),dist_jt(3,4,9,14,e,n+2*c[i++]),dist_Lt(3,4,9,14,e,n+2*c[i++]);this.v0l^=utils_dist_S[0]^utils_dist_S[16],this.v0h^=utils_dist_S[1]^utils_dist_S[17],this.v1l^=utils_dist_S[2]^utils_dist_S[18],this.v1h^=utils_dist_S[3]^utils_dist_S[19],this.v2l^=utils_dist_S[4]^utils_dist_S[20],this.v2h^=utils_dist_S[5]^utils_dist_S[21],this.v3l^=utils_dist_S[6]^utils_dist_S[22],this.v3h^=utils_dist_S[7]^utils_dist_S[23],this.v4l^=utils_dist_S[8]^utils_dist_S[24],this.v4h^=utils_dist_S[9]^utils_dist_S[25],this.v5l^=utils_dist_S[10]^utils_dist_S[26],this.v5h^=utils_dist_S[11]^utils_dist_S[27],this.v6l^=utils_dist_S[12]^utils_dist_S[28],this.v6h^=utils_dist_S[13]^utils_dist_S[29],this.v7l^=utils_dist_S[14]^utils_dist_S[30],this.v7h^=utils_dist_S[15]^utils_dist_S[31],dist_lt(utils_dist_S)}destroy(){this.destroyed=!0,dist_lt(this.buffer32),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}}const Ac=Ji(t=>new Ic(t)),Sc="https://rpc.walletconnect.org/v1";function dist_hn(t){const e=`Ethereum Signed Message:
|
|
14868
14868
|
${t.length}`,n=new TextEncoder().encode(e+t);return"0x"+Buffer.from(fc(n)).toString("hex")}async function dist_Zr(t,e,n,r,o,s){switch(n.t){case"eip191":return await dist_Gr(t,e,n.s);case"eip1271":return await dist_zr(t,e,n.s,r,o,s);default:throw new Error(`verifySignature failed: Attempted to verify CacaoSignature with unknown type: ${n.t}`)}}function dist_Gr(t,e,n){const r=fromHex(n);return recoverAddress({payload:dist_hn(e),signature:r}).toLowerCase()===t.toLowerCase()}async function dist_zr(t,e,n,r,o,s){const i=dist_Je(r);if(!i.namespace||!i.reference)throw new Error(`isValidEip1271Signature failed: chainId must be in CAIP-2 format, received: ${r}`);try{const c="0x1626ba7e",f="0000000000000000000000000000000000000000000000000000000000000040",u=n.substring(2),a=(u.length/2).toString(16).padStart(64,"0"),l=(e.startsWith("0x")?e:dist_hn(e)).substring(2),d=c+l+f+a+u,h=await fetch(`${s||Sc}/?chainId=${r}&projectId=${o}`,{headers:{"Content-Type":"application/json"},method:"POST",body:JSON.stringify({id:Oc(),jsonrpc:"2.0",method:"eth_call",params:[{to:t,data:d},"latest"]})}),{result:y}=await h.json();return y?y.slice(0,c.length).toLowerCase()===c.toLowerCase():!1}catch(c){return console.error("isValidEip1271Signature: ",c),!1}}function Oc(){return Date.now()+Math.floor(Math.random()*1e3)}function Nc(t){const e=atob(t),n=new Uint8Array(e.length);for(let i=0;i<e.length;i++)n[i]=e.charCodeAt(i);const r=n[0];if(r===0)throw new Error("No signatures found");const o=1+r*64;if(n.length<o)throw new Error("Transaction data too short for claimed signature count");if(n.length<100)throw new Error("Transaction too short");const s=Buffer.from(t,"base64").slice(1,65);return esm/* ["default"].encode */.A.encode(s)}function Uc(t){const e=new Uint8Array(Buffer.from(t,"base64")),n=Array.from("TransactionData::").map(s=>s.charCodeAt(0)),r=new Uint8Array(n.length+e.length);r.set(n),r.set(e,n.length);const o=Ac(r,{dkLen:32});return esm/* ["default"].encode */.A.encode(o)}function utils_dist_c(t){const e=new Uint8Array(dist_Te(dist_Yr(t)));return esm/* ["default"].encode */.A.encode(e)}function dist_Yr(t){if(t instanceof Uint8Array)return t;if(Array.isArray(t))return new Uint8Array(t);if(typeof t=="object"&&t!=null&&t.data)return new Uint8Array(Object.values(t.data));if(typeof t=="object"&&t)return new Uint8Array(Object.values(t));throw new Error("getNearUint8ArrayFromBytes: Unexpected result type from bytes array")}function Rc(t){const e=Buffer.from(t,"base64"),n=decode_decode(e).txn;if(!n)throw new Error("Invalid signed transaction: missing 'txn' field");const r=encode_encode(n),o=Buffer.from("TX"),s=Buffer.concat([o,Buffer.from(r)]),i=vc(s);return lib_esm/* .base32.encode */.RG.encode(i).replace(/=+$/,"")}function pn(t){const e=[];let n=BigInt(t);for(;n>=BigInt(128);)e.push(Number(n&BigInt(127)|BigInt(128))),n>>=BigInt(7);return e.push(Number(n)),Buffer.from(e)}function $c(t){const e=Buffer.from(t.signed.bodyBytes,"base64"),n=Buffer.from(t.signed.authInfoBytes,"base64"),r=Buffer.from(t.signature.signature,"base64"),o=[];o.push(Buffer.from([10])),o.push(pn(e.length)),o.push(e),o.push(Buffer.from([18])),o.push(pn(n.length)),o.push(n),o.push(Buffer.from([26])),o.push(pn(r.length)),o.push(r);const s=Buffer.concat(o),i=dist_Te(s);return Buffer.from(i).toString("hex").toUpperCase()}function Tc(t){var e,n;const r=[];try{if(typeof t=="string")return r.push(t),r;if(typeof t!="object")return r;t!=null&&t.id&&r.push(t.id);const o=(n=(e=t?.capabilities)==null?void 0:e.caip345)==null?void 0:n.transactionHashes;o&&r.push(...o)}catch(o){console.warn("getWalletSendCallsHashes failed: ",o)}return r}var Cc=Object.defineProperty,jc=Object.defineProperties,Lc=Object.getOwnPropertyDescriptors,dist_Wr=Object.getOwnPropertySymbols,kc=Object.prototype.hasOwnProperty,Pc=Object.prototype.propertyIsEnumerable,dist_Xr=(t,e,n)=>e in t?Cc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,dist_gn=(t,e)=>{for(var n in e||(e={}))kc.call(e,n)&&dist_Xr(t,n,e[n]);if(dist_Wr)for(var n of dist_Wr(e))Pc.call(e,n)&&dist_Xr(t,n,e[n]);return t},dist_Jr=(t,e)=>jc(t,Lc(e));const dist_Qr="did:pkh:",Hc={eip155:"Ethereum",solana:"Solana",bip122:"Bitcoin"},Dc=t=>t?Hc[t]||t:"",dist_ye=t=>t?.split(":"),dist_to=t=>{const e=t&&dist_ye(t);if(e)return t.includes(dist_Qr)?e[3]:e[1]},dist_eo=t=>{const e=t&&dist_ye(t);if(e)return t.includes(dist_Qr)?e[2]:e[0]},dist_no=t=>{const e=t&&dist_ye(t);if(e)return e[2]+":"+e[3]},bn=t=>{const e=t&&dist_ye(t);if(e)return e.pop()};async function Vc(t){const{cacao:e,projectId:n}=t,{s:r,p:o}=e,s=dist_ro(o,o.iss),i=bn(o.iss);return await dist_Zr(i,s,r,dist_no(o.iss),n)}const dist_ro=(t,e)=>{const n=dist_eo(e);if(!n)throw new Error("Invalid issuer: "+e);const r=`${t.domain} wants you to sign in with your ${Dc(n)} account:`,o=bn(e);if(!t.aud&&!t.uri)throw new Error("Either `aud` or `uri` is required to construct the message");let s=t.statement||void 0;const i=`URI: ${t.aud||t.uri}`,c=`Version: ${t.version}`,f=`Chain ID: ${dist_to(e)}`,u=`Nonce: ${t.nonce}`,a=`Issued At: ${t.iat}`,l=t.exp?`Expiration Time: ${t.exp}`:void 0,d=t.nbf?`Not Before: ${t.nbf}`:void 0,h=t.requestId?`Request ID: ${t.requestId}`:void 0,y=t.resources?`Resources:${t.resources.map(w=>`
|
|
14869
14869
|
- ${w}`).join("")}`:void 0,m=dist_je(t.resources);if(m){const w=dist_kt(m);s=wn(s,w)}return[r,o,"",s,"",i,c,f,u,a,l,d,h,y].filter(w=>w!=null).join(`
|
|
@@ -15079,11 +15079,11 @@ class jsonrpc_provider_dist_index_es_o extends dist_index_es_r{constructor(t){su
|
|
|
15079
15079
|
const dist_index_es_v=()=>typeof WebSocket<"u"?WebSocket:typeof global<"u"&&typeof global.WebSocket<"u"?global.WebSocket:typeof window<"u"&&typeof window.WebSocket<"u"?window.WebSocket:typeof self<"u"&&typeof self.WebSocket<"u"?self.WebSocket:__webpack_require__("../../node_modules/.pnpm/ws@7.5.10/node_modules/ws/index.js"),jsonrpc_ws_connection_dist_index_es_w=()=>typeof WebSocket<"u"||typeof global<"u"&&typeof global.WebSocket<"u"||typeof window<"u"&&typeof window.WebSocket<"u"||typeof self<"u"&&typeof self.WebSocket<"u",dist_index_es_d=r=>r.split("?")[0],jsonrpc_ws_connection_dist_index_es_h=10,jsonrpc_ws_connection_dist_index_es_b=dist_index_es_v();class dist_index_es_f{constructor(e){if(this.url=e,this.events=new external_events_.EventEmitter,this.registering=!1,!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)=>{if(typeof this.socket>"u"){t(new Error("Connection already closed"));return}this.socket.onclose=n=>{this.onClose(n),e()},this.socket.close()})}async send(e){typeof this.socket>"u"&&(this.socket=await this.register());try{this.socket.send(safeJsonStringify(e))}catch(t){this.onError(e.id,t)}}register(e=this.url){if(!isWsUrl(e))throw new Error(`Provided URL is not compatible with WebSocket connection: ${e}`);if(this.registering){const t=this.events.getMaxListeners();return(this.events.listenerCount("register_error")>=t||this.events.listenerCount("open")>=t)&&this.events.setMaxListeners(t+1),new Promise((n,s)=>{this.events.once("register_error",o=>{this.resetMaxListeners(),s(o)}),this.events.once("open",()=>{if(this.resetMaxListeners(),typeof this.socket>"u")return s(new Error("WebSocket connection is missing or invalid"));n(this.socket)})})}return this.url=e,this.registering=!0,new Promise((t,n)=>{const s=(0,environment_dist_cjs.isReactNative)()?void 0:{rejectUnauthorized:!isLocalhostUrl(e)},o=new jsonrpc_ws_connection_dist_index_es_b(e,[],s);jsonrpc_ws_connection_dist_index_es_w()?o.onerror=i=>{const a=i;n(this.emitError(a.error))}:o.on("error",i=>{n(this.emitError(i))}),o.onopen=()=>{this.onOpen(o),t(o)}})}onOpen(e){e.onmessage=t=>this.onPayload(t),e.onclose=t=>this.onClose(t),this.socket=e,this.registering=!1,this.events.emit("open")}onClose(e){this.socket=void 0,this.registering=!1,this.events.emit("close",e)}onPayload(e){if(typeof e.data>"u")return;const t=typeof e.data=="string"?safeJsonParse(e.data):e.data;this.events.emit("payload",t)}onError(e,t){const n=this.parseError(t),s=n.message||n.toString(),o=formatJsonRpcError(e,s);this.events.emit("payload",o)}parseError(e,t=this.url){return parseConnectionError(e,dist_index_es_d(t),"WS")}resetMaxListeners(){this.events.getMaxListeners()>jsonrpc_ws_connection_dist_index_es_h&&this.events.setMaxListeners(jsonrpc_ws_connection_dist_index_es_h)}emitError(e){const t=this.parseError(new Error(e?.message||`WebSocket connection failed for host: ${dist_index_es_d(this.url)}`));return this.events.emit("register_error",t),t}}
|
|
15080
15080
|
//# sourceMappingURL=index.es.js.map
|
|
15081
15081
|
|
|
15082
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@walletconnect+core@2.23.4_typescript@5.
|
|
15082
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@walletconnect+core@2.23.4_typescript@5.8.3/node_modules/@walletconnect/core/dist/index.js
|
|
15083
15083
|
const core_dist_Ue="wc",core_dist_Fe=2,core_dist_ge="core",core_dist_W=`${core_dist_Ue}@2:${core_dist_ge}:`,core_dist_Et={name:core_dist_ge,logger:"error"},core_dist_It={database:":memory:"},core_dist_Tt="crypto",core_dist_Me="client_ed25519_seed",core_dist_Ct=cjs.ONE_DAY,core_dist_Pt="keychain",core_dist_St="0.3",core_dist_Ot="messages",core_dist_Rt="0.3",core_dist_At=cjs.SIX_HOURS,core_dist_xt="publisher",core_dist_Nt="irn",core_dist_$t="error",core_dist_Ke="wss://relay.walletconnect.org",core_dist_zt="relayer",core_dist_C={message:"relayer_message",message_ack:"relayer_message_ack",connect:"relayer_connect",disconnect:"relayer_disconnect",error:"relayer_error",connection_stalled:"relayer_connection_stalled",transport_closed:"relayer_transport_closed",publish:"relayer_publish"},core_dist_Lt="_subscription",core_dist_M={payload:"payload",connect:"connect",disconnect:"disconnect",error:"error"},core_dist_kt=.1,dist_Js=(/* unused pure expression or super */ null && ({database:":memory:"})),core_dist_Pe="2.23.4",Xs=1e4,core_dist_ee={link_mode:"link_mode",relay:"relay"},core_dist_ye={inbound:"inbound",outbound:"outbound"},core_dist_jt="0.3",core_dist_Ut="WALLETCONNECT_CLIENT_ID",core_dist_Be="WALLETCONNECT_LINK_MODE_APPS",core_dist_j={created:"subscription_created",deleted:"subscription_deleted",expired:"subscription_expired",disabled:"subscription_disabled",sync:"subscription_sync",resubscribed:"subscription_resubscribed"},Zs=(/* unused pure expression or super */ null && (Re)),core_dist_Ft="subscription",core_dist_Mt="0.3",dist_Qs=(/* unused pure expression or super */ null && (Ae*1e3)),core_dist_Kt="pairing",core_dist_Bt="0.3",dist_er=(/* unused pure expression or super */ null && (Re)),core_dist_oe={wc_pairingDelete:{req:{ttl:cjs.ONE_DAY,prompt:!1,tag:1e3},res:{ttl:cjs.ONE_DAY,prompt:!1,tag:1001}},wc_pairingPing:{req:{ttl:cjs.THIRTY_SECONDS,prompt:!1,tag:1002},res:{ttl:cjs.THIRTY_SECONDS,prompt:!1,tag:1003}},unregistered_method:{req:{ttl:cjs.ONE_DAY,prompt:!1,tag:0},res:{ttl:cjs.ONE_DAY,prompt:!1,tag:0}}},dist_ae={create:"pairing_create",expire:"pairing_expire",delete:"pairing_delete",ping:"pairing_ping"},core_dist_V={created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"},core_dist_Vt="history",core_dist_qt="0.3",core_dist_Gt="expirer",dist_q={created:"expirer_created",deleted:"expirer_deleted",expired:"expirer_expired",sync:"expirer_sync"},core_dist_Wt="0.3",dist_tr=(/* unused pure expression or super */ null && (re)),core_dist_Ht="verify-api",core_dist_ir="https://verify.walletconnect.com",dist_Yt="https://verify.walletconnect.org",core_dist_be=dist_Yt,core_dist_Jt=`${core_dist_be}/v3`,core_dist_Xt=[core_dist_ir,dist_Yt],core_dist_Zt="echo",core_dist_Qt="https://echo.walletconnect.com",core_dist_sr="event-client",dist_Y={pairing_started:"pairing_started",pairing_uri_validation_success:"pairing_uri_validation_success",pairing_uri_not_expired:"pairing_uri_not_expired",store_new_pairing:"store_new_pairing",subscribing_pairing_topic:"subscribing_pairing_topic",subscribe_pairing_topic_success:"subscribe_pairing_topic_success",existing_pairing:"existing_pairing",pairing_not_expired:"pairing_not_expired",emit_inactive_pairing:"emit_inactive_pairing",emit_session_proposal:"emit_session_proposal",subscribing_to_pairing_topic:"subscribing_to_pairing_topic"},core_dist_X={no_wss_connection:"no_wss_connection",no_internet_connection:"no_internet_connection",malformed_pairing_uri:"malformed_pairing_uri",active_pairing_already_exists:"active_pairing_already_exists",subscribe_pairing_topic_failure:"subscribe_pairing_topic_failure",pairing_expired:"pairing_expired",proposal_expired:"proposal_expired",proposal_listener_not_found:"proposal_listener_not_found"},dist_rr={session_approve_started:"session_approve_started",proposal_not_expired:"proposal_not_expired",session_namespaces_validation_success:"session_namespaces_validation_success",create_session_topic:"create_session_topic",subscribing_session_topic:"subscribing_session_topic",subscribe_session_topic_success:"subscribe_session_topic_success",publishing_session_approve:"publishing_session_approve",session_approve_publish_success:"session_approve_publish_success",store_session:"store_session",publishing_session_settle:"publishing_session_settle",session_settle_publish_success:"session_settle_publish_success",session_request_response_started:"session_request_response_started",session_request_response_validation_success:"session_request_response_validation_success",session_request_response_publish_started:"session_request_response_publish_started"},dist_nr={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",proposal_expired:"proposal_expired",subscribe_session_topic_failure:"subscribe_session_topic_failure",session_approve_publish_failure:"session_approve_publish_failure",session_settle_publish_failure:"session_settle_publish_failure",session_approve_namespace_validation_failure:"session_approve_namespace_validation_failure",proposal_not_found:"proposal_not_found",session_request_response_validation_failure:"session_request_response_validation_failure",session_request_response_publish_failure:"session_request_response_publish_failure"},core_dist_or={authenticated_session_approve_started:"authenticated_session_approve_started",authenticated_session_not_expired:"authenticated_session_not_expired",chains_caip2_compliant:"chains_caip2_compliant",chains_evm_compliant:"chains_evm_compliant",create_authenticated_session_topic:"create_authenticated_session_topic",cacaos_verified:"cacaos_verified",store_authenticated_session:"store_authenticated_session",subscribing_authenticated_session_topic:"subscribing_authenticated_session_topic",subscribe_authenticated_session_topic_success:"subscribe_authenticated_session_topic_success",publishing_authenticated_session_approve:"publishing_authenticated_session_approve",authenticated_session_approve_publish_success:"authenticated_session_approve_publish_success"},core_dist_ar={no_internet_connection:"no_internet_connection",no_wss_connection:"no_wss_connection",missing_session_authenticate_request:"missing_session_authenticate_request",session_authenticate_request_expired:"session_authenticate_request_expired",chains_caip2_compliant_failure:"chains_caip2_compliant_failure",chains_evm_compliant_failure:"chains_evm_compliant_failure",invalid_cacao:"invalid_cacao",subscribe_authenticated_session_topic_failure:"subscribe_authenticated_session_topic_failure",authenticated_session_approve_publish_failure:"authenticated_session_approve_publish_failure",authenticated_session_pending_request_not_found:"authenticated_session_pending_request_not_found"},dist_ei=.1,dist_ti="event-client",core_dist_ii=86400,dist_si="https://pulse.walletconnect.org/batch";function core_dist_cr(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),i=0;i<t.length;i++)t[i]=255;for(var s=0;s<r.length;s++){var n=r.charAt(s),o=n.charCodeAt(0);if(t[o]!==255)throw new TypeError(n+" is ambiguous");t[o]=s}var a=r.length,c=r.charAt(0),h=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function g(u){if(u instanceof Uint8Array||(ArrayBuffer.isView(u)?u=new Uint8Array(u.buffer,u.byteOffset,u.byteLength):Array.isArray(u)&&(u=Uint8Array.from(u))),!(u instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(u.length===0)return"";for(var m=0,D=0,w=0,E=u.length;w!==E&&u[w]===0;)w++,m++;for(var L=(E-w)*l+1>>>0,I=new Uint8Array(L);w!==E;){for(var k=u[w],T=0,S=L-1;(k!==0||T<D)&&S!==-1;S--,T++)k+=256*I[S]>>>0,I[S]=k%a>>>0,k=k/a>>>0;if(k!==0)throw new Error("Non-zero carry");D=T,w++}for(var O=L-D;O!==L&&I[O]===0;)O++;for(var te=c.repeat(m);O<L;++O)te+=r.charAt(I[O]);return te}function y(u){if(typeof u!="string")throw new TypeError("Expected String");if(u.length===0)return new Uint8Array;var m=0;if(u[m]!==" "){for(var D=0,w=0;u[m]===c;)D++,m++;for(var E=(u.length-m)*h+1>>>0,L=new Uint8Array(E);u[m];){var I=t[u.charCodeAt(m)];if(I===255)return;for(var k=0,T=E-1;(I!==0||k<w)&&T!==-1;T--,k++)I+=a*L[T]>>>0,L[T]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");w=k,m++}if(u[m]!==" "){for(var S=E-w;S!==E&&L[S]===0;)S++;for(var O=new Uint8Array(D+(E-S)),te=D;S!==E;)O[te++]=L[S++];return O}}}function _(u){var m=y(u);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:g,decodeUnsafe:y,decode:_}}var core_dist_hr=core_dist_cr,core_dist_lr=core_dist_hr;const dist_ri=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")},core_dist_ur=r=>new TextEncoder().encode(r),core_dist_dr=r=>new TextDecoder().decode(r);class core_dist_pr{constructor(e,t,i){this.name=e,this.prefix=t,this.baseEncode=i}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}}class core_dist_gr{constructor(e,t,i){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=i}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return dist_ni(this,e)}}class core_dist_yr{constructor(e){this.decoders=e}or(e){return dist_ni(this,e)}decode(e){const t=e[0],i=this.decoders[t];if(i)return i.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}}const dist_ni=(r,e)=>new core_dist_yr({...r.decoders||{[r.prefix]:r},...e.decoders||{[e.prefix]:e}});class core_dist_br{constructor(e,t,i,s){this.name=e,this.prefix=t,this.baseEncode=i,this.baseDecode=s,this.encoder=new core_dist_pr(e,t,i),this.decoder=new core_dist_gr(e,t,s)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}}const core_dist_Se=({name:r,prefix:e,encode:t,decode:i})=>new core_dist_br(r,e,t,i),core_dist_me=({prefix:r,name:e,alphabet:t})=>{const{encode:i,decode:s}=core_dist_lr(t,e);return core_dist_Se({prefix:r,name:e,encode:i,decode:n=>dist_ri(s(n))})},core_dist_mr=(r,e,t,i)=>{const s={};for(let l=0;l<e.length;++l)s[e[l]]=l;let n=r.length;for(;r[n-1]==="=";)--n;const o=new Uint8Array(n*t/8|0);let a=0,c=0,h=0;for(let l=0;l<n;++l){const g=s[r[l]];if(g===void 0)throw new SyntaxError(`Non-${i} character`);c=c<<t|g,a+=t,a>=8&&(a-=8,o[h++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},core_dist_fr=(r,e,t)=>{const i=e[e.length-1]==="=",s=(1<<t)-1;let n="",o=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],o+=8;o>t;)o-=t,n+=e[s&a>>o];if(o&&(n+=e[s&a<<t-o]),i)for(;n.length*t&7;)n+="=";return n},core_dist_x=({name:r,prefix:e,bitsPerChar:t,alphabet:i})=>core_dist_Se({prefix:e,name:r,encode(s){return core_dist_fr(s,i,t)},decode(s){return core_dist_mr(s,i,t,r)}}),core_dist_Dr=core_dist_Se({prefix:"\0",name:"identity",encode:r=>core_dist_dr(r),decode:r=>core_dist_ur(r)});var core_dist_vr=Object.freeze({__proto__:null,identity:core_dist_Dr});const core_dist_r=core_dist_x({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var core_dist_wr=Object.freeze({__proto__:null,base2:core_dist_r});const core_dist_Er=core_dist_x({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var core_dist_Ir=Object.freeze({__proto__:null,base8:core_dist_Er});const core_dist_Tr=core_dist_me({prefix:"9",name:"base10",alphabet:"0123456789"});var core_dist_Cr=Object.freeze({__proto__:null,base10:core_dist_Tr});const core_dist_Pr=core_dist_x({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),core_dist_Sr=core_dist_x({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var core_dist_Or=Object.freeze({__proto__:null,base16:core_dist_Pr,base16upper:core_dist_Sr});const core_dist_Rr=core_dist_x({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),core_dist_Ar=core_dist_x({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),core_dist_xr=core_dist_x({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),core_dist_Nr=core_dist_x({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),core_dist_$r=core_dist_x({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),core_dist_zr=core_dist_x({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),core_dist_Lr=core_dist_x({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),core_dist_kr=core_dist_x({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),core_dist_jr=core_dist_x({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var core_dist_Ur=Object.freeze({__proto__:null,base32:core_dist_Rr,base32upper:core_dist_Ar,base32pad:core_dist_xr,base32padupper:core_dist_Nr,base32hex:core_dist_$r,base32hexupper:core_dist_zr,base32hexpad:core_dist_Lr,base32hexpadupper:core_dist_kr,base32z:core_dist_jr});const core_dist_Fr=core_dist_me({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),core_dist_Mr=core_dist_me({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var core_dist_Kr=Object.freeze({__proto__:null,base36:core_dist_Fr,base36upper:core_dist_Mr});const core_dist_Br=core_dist_me({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),core_dist_Vr=core_dist_me({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var core_dist_qr=Object.freeze({__proto__:null,base58btc:core_dist_Br,base58flickr:core_dist_Vr});const core_dist_Gr=core_dist_x({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),core_dist_Wr=core_dist_x({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),core_dist_Hr=core_dist_x({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),core_dist_Yr=core_dist_x({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var core_dist_Jr=Object.freeze({__proto__:null,base64:core_dist_Gr,base64pad:core_dist_Wr,base64url:core_dist_Hr,base64urlpad:core_dist_Yr});const dist_oi=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),core_dist_Xr=dist_oi.reduce((r,e,t)=>(r[t]=e,r),[]),core_dist_Zr=dist_oi.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function core_dist_Qr(r){return r.reduce((e,t)=>(e+=core_dist_Xr[t],e),"")}function core_dist_en(r){const e=[];for(const t of r){const i=core_dist_Zr[t.codePointAt(0)];if(i===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(i)}return new Uint8Array(e)}const core_dist_tn=core_dist_Se({prefix:"\u{1F680}",name:"base256emoji",encode:core_dist_Qr,decode:core_dist_en});var core_dist_sn=Object.freeze({__proto__:null,base256emoji:core_dist_tn}),core_dist_rn=dist_ci,core_dist_ai=128,core_dist_nn=127,core_dist_on=~core_dist_nn,core_dist_an=Math.pow(2,31);function dist_ci(r,e,t){e=e||[],t=t||0;for(var i=t;r>=core_dist_an;)e[t++]=r&255|core_dist_ai,r/=128;for(;r&core_dist_on;)e[t++]=r&255|core_dist_ai,r>>>=7;return e[t]=r|0,dist_ci.bytes=t-i+1,e}var core_dist_cn=core_dist_Ve,core_dist_hn=128,core_dist_hi=127;function core_dist_Ve(r,i){var t=0,i=i||0,s=0,n=i,o,a=r.length;do{if(n>=a)throw core_dist_Ve.bytes=0,new RangeError("Could not decode varint");o=r[n++],t+=s<28?(o&core_dist_hi)<<s:(o&core_dist_hi)*Math.pow(2,s),s+=7}while(o>=core_dist_hn);return core_dist_Ve.bytes=n-i,t}var core_dist_ln=Math.pow(2,7),core_dist_un=Math.pow(2,14),core_dist_dn=Math.pow(2,21),dist_pn=Math.pow(2,28),core_dist_gn=Math.pow(2,35),core_dist_yn=Math.pow(2,42),dist_bn=Math.pow(2,49),core_dist_mn=Math.pow(2,56),core_dist_fn=Math.pow(2,63),core_dist_Dn=function(r){return r<core_dist_ln?1:r<core_dist_un?2:r<core_dist_dn?3:r<dist_pn?4:r<core_dist_gn?5:r<core_dist_yn?6:r<dist_bn?7:r<core_dist_mn?8:r<core_dist_fn?9:10},core_dist_vn={encode:core_dist_rn,decode:core_dist_cn,encodingLength:core_dist_Dn},dist_li=core_dist_vn;const dist_ui=(r,e,t=0)=>(dist_li.encode(r,e,t),e),dist_di=r=>dist_li.encodingLength(r),core_dist_qe=(r,e)=>{const t=e.byteLength,i=dist_di(r),s=i+dist_di(t),n=new Uint8Array(s+t);return dist_ui(r,n,0),dist_ui(t,n,i),n.set(e,s),new core_dist_n(r,t,e,n)};class core_dist_n{constructor(e,t,i,s){this.code=e,this.size=t,this.digest=i,this.bytes=s}}const dist_pi=({name:r,code:e,encode:t})=>new dist_wn(r,e,t);class dist_wn{constructor(e,t,i){this.name=e,this.code=t,this.encode=i}digest(e){if(e instanceof Uint8Array){const t=this.encode(e);return t instanceof Uint8Array?core_dist_qe(this.code,t):t.then(i=>core_dist_qe(this.code,i))}else throw Error("Unknown type, must be binary type")}}const dist_gi=r=>async e=>new Uint8Array(await crypto.subtle.digest(r,e)),core_dist_En=dist_pi({name:"sha2-256",code:18,encode:dist_gi("SHA-256")}),core_dist_In=dist_pi({name:"sha2-512",code:19,encode:dist_gi("SHA-512")});var core_dist_Tn=Object.freeze({__proto__:null,sha256:core_dist_En,sha512:core_dist_In});const dist_yi=0,core_dist_Cn="identity",dist_bi=dist_ri,core_dist_Pn=r=>core_dist_qe(dist_yi,dist_bi(r)),core_dist_Sn={code:dist_yi,name:core_dist_Cn,encode:dist_bi,digest:core_dist_Pn};var core_dist_On=Object.freeze({__proto__:null,identity:core_dist_Sn});new TextEncoder,new TextDecoder;const dist_mi={...core_dist_vr,...core_dist_wr,...core_dist_Ir,...core_dist_Cr,...core_dist_Or,...core_dist_Ur,...core_dist_Kr,...core_dist_qr,...core_dist_Jr,...core_dist_sn};({...core_dist_Tn,...core_dist_On});function dist_fi(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function core_dist_Rn(r=0){return globalThis.Buffer!=null&&globalThis.Buffer.allocUnsafe!=null?dist_fi(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function dist_Di(r,e,t,i){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:i}}}const dist_vi=dist_Di("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),core_dist_Ge=dist_Di("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);const e=core_dist_Rn(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),core_dist_An={utf8:dist_vi,"utf-8":dist_vi,hex:dist_mi.base16,latin1:core_dist_Ge,ascii:core_dist_Ge,binary:core_dist_Ge,...dist_mi};function core_dist_xn(r,e="utf8"){const t=core_dist_An[e];if(!t)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?dist_fi(globalThis.Buffer.from(r,"utf-8")):t.decoder.decode(`${t.prefix}${r}`)}var core_dist_Nn=Object.defineProperty,core_dist_$n=(r,e,t)=>e in r?core_dist_Nn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,core_dist_J=(r,e,t)=>core_dist_$n(r,typeof e!="symbol"?e+"":e,t);class core_dist_i{constructor(e,t){this.core=e,this.logger=t,core_dist_J(this,"keychain",new Map),core_dist_J(this,"name",core_dist_Pt),core_dist_J(this,"version",core_dist_St),core_dist_J(this,"initialized",!1),core_dist_J(this,"storagePrefix",core_dist_W),core_dist_J(this,"init",async()=>{if(!this.initialized){const i=await this.getKeyChain();typeof i<"u"&&(this.keychain=i),this.initialized=!0}}),core_dist_J(this,"has",i=>(this.isInitialized(),this.keychain.has(i))),core_dist_J(this,"set",async(i,s)=>{this.isInitialized(),this.keychain.set(i,s),await this.persist()}),core_dist_J(this,"get",i=>{this.isInitialized();const s=this.keychain.get(i);if(typeof s>"u"){const{message:n}=dist_Bt("NO_MATCHING_KEY",`${this.name}: ${i}`);throw new Error(n)}return s}),core_dist_J(this,"del",async i=>{this.isInitialized(),this.keychain.delete(i),await this.persist()}),this.core=e,this.logger=index_es_Re(t,this.name)}get context(){return index_es_ee(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}async setKeyChain(e){await this.core.storage.setItem(this.storageKey,vi(e))}async getKeyChain(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?xi(e):void 0}async persist(){await this.setKeyChain(this.keychain)}isInitialized(){if(!this.initialized){const{message:e}=dist_Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}}var core_dist_zn=Object.defineProperty,core_dist_Ln=(r,e,t)=>e in r?core_dist_zn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,core_dist_R=(r,e,t)=>core_dist_Ln(r,typeof e!="symbol"?e+"":e,t);class dist_wi{constructor(e,t,i){this.core=e,this.logger=t,core_dist_R(this,"name",core_dist_Tt),core_dist_R(this,"keychain"),core_dist_R(this,"randomSessionIdentifier",pa()),core_dist_R(this,"initialized",!1),core_dist_R(this,"clientId"),core_dist_R(this,"init",async()=>{this.initialized||(await this.keychain.init(),this.initialized=!0)}),core_dist_R(this,"hasKeys",s=>(this.isInitialized(),this.keychain.has(s))),core_dist_R(this,"getClientId",async()=>{if(this.isInitialized(),this.clientId)return this.clientId;const s=await this.getClientSeed(),n=Po(s),o=index_es_Qe(n.publicKey);return this.clientId=o,o}),core_dist_R(this,"generateKeyPair",()=>{this.isInitialized();const s=ha();return this.setPrivateKey(s.publicKey,s.privateKey)}),core_dist_R(this,"signJWT",async s=>{this.isInitialized();const n=await this.getClientSeed(),o=Po(n),a=this.randomSessionIdentifier,c=core_dist_Ct;return await Qo(a,s,c,o)}),core_dist_R(this,"generateSharedKey",(s,n,o)=>{this.isInitialized();const a=this.getPrivateKey(s),c=ga(a,n);return this.setSymKey(c,o)}),core_dist_R(this,"setSymKey",async(s,n)=>{this.isInitialized();const o=n||ba(s);return await this.keychain.set(o,s),o}),core_dist_R(this,"deleteKeyPair",async s=>{this.isInitialized(),await this.keychain.del(s)}),core_dist_R(this,"deleteSymKey",async s=>{this.isInitialized(),await this.keychain.del(s)}),core_dist_R(this,"encode",async(s,n,o)=>{this.isInitialized();const a=dist_ss(o),c=safeJsonStringify(n);if(Ia(a))return va(c,o?.encoding);if(Ba(a)){const y=a.senderPublicKey,_=a.receiverPublicKey;s=await this.generateSharedKey(y,_)}const h=this.getSymKey(s),{type:l,senderPublicKey:g}=a;return ma({type:l,symKey:h,message:c,senderPublicKey:g,encoding:o?.encoding})}),core_dist_R(this,"decode",async(s,n,o)=>{this.isInitialized();const a=Ea(n,o);if(Ia(a)){const c=xa(n,o?.encoding);return safeJsonParse(c)}if(Ba(a)){const c=a.receiverPublicKey,h=a.senderPublicKey;s=await this.generateSharedKey(c,h)}try{const c=this.getSymKey(s),h=wa({symKey:c,encoded:n,encoding:o?.encoding});return safeJsonParse(h)}catch(c){this.logger.error(`Failed to decode message from topic: '${s}', clientId: '${await this.getClientId()}'`),this.logger.error(c)}}),core_dist_R(this,"getPayloadType",(s,n=dist_oe)=>{const o=dist_ze({encoded:s,encoding:n});return dist_Zt(o.type)}),core_dist_R(this,"getPayloadSenderPublicKey",(s,n=dist_oe)=>{const o=dist_ze({encoded:s,encoding:n});return o.senderPublicKey?to_string_toString(o.senderPublicKey,dist_rt):void 0}),this.core=e,this.logger=index_es_Re(t,this.name),this.keychain=i||new core_dist_i(this.core,this.logger)}get context(){return index_es_ee(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(core_dist_Me)}catch{e=pa(),await this.keychain.set(core_dist_Me,e)}return core_dist_xn(e,"base16")}getSymKey(e){return this.keychain.get(e)}isInitialized(){if(!this.initialized){const{message:e}=dist_Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}}var core_dist_kn=Object.defineProperty,core_dist_jn=Object.defineProperties,core_dist_Un=Object.getOwnPropertyDescriptors,dist_Ei=Object.getOwnPropertySymbols,core_dist_Fn=Object.prototype.hasOwnProperty,core_dist_Mn=Object.prototype.propertyIsEnumerable,core_dist_We=(r,e,t)=>e in r?core_dist_kn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,core_dist_Kn=(r,e)=>{for(var t in e||(e={}))core_dist_Fn.call(e,t)&&core_dist_We(r,t,e[t]);if(dist_Ei)for(var t of dist_Ei(e))core_dist_Mn.call(e,t)&&core_dist_We(r,t,e[t]);return r},core_dist_Bn=(r,e)=>core_dist_jn(r,core_dist_Un(e)),core_dist_K=(r,e,t)=>core_dist_We(r,typeof e!="symbol"?e+"":e,t);class dist_Ii extends dist_y{constructor(e,t){super(e,t),this.logger=e,this.core=t,core_dist_K(this,"messages",new Map),core_dist_K(this,"messagesWithoutClientAck",new Map),core_dist_K(this,"name",core_dist_Ot),core_dist_K(this,"version",core_dist_Rt),core_dist_K(this,"initialized",!1),core_dist_K(this,"storagePrefix",core_dist_W),core_dist_K(this,"init",async()=>{if(!this.initialized){this.logger.trace("Initialized");try{const i=await this.getRelayerMessages();typeof i<"u"&&(this.messages=i);const s=await this.getRelayerMessagesWithoutClientAck();typeof s<"u"&&(this.messagesWithoutClientAck=s),this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",size:this.messages.size})}catch(i){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(i)}finally{this.initialized=!0}}}),core_dist_K(this,"set",async(i,s,n)=>{this.isInitialized();const o=ya(s);let a=this.messages.get(i);if(typeof a>"u"&&(a={}),typeof a[o]<"u")return o;if(a[o]=s,this.messages.set(i,a),n===core_dist_ye.inbound){const c=this.messagesWithoutClientAck.get(i)||{};this.messagesWithoutClientAck.set(i,core_dist_Bn(core_dist_Kn({},c),{[o]:s}))}return await this.persist(),o}),core_dist_K(this,"get",i=>{this.isInitialized();let s=this.messages.get(i);return typeof s>"u"&&(s={}),s}),core_dist_K(this,"getWithoutAck",i=>{this.isInitialized();const s={};for(const n of i){const o=this.messagesWithoutClientAck.get(n)||{};s[n]=Object.values(o)}return s}),core_dist_K(this,"has",(i,s)=>{this.isInitialized();const n=this.get(i),o=ya(s);return typeof n[o]<"u"}),core_dist_K(this,"ack",async(i,s)=>{this.isInitialized();const n=this.messagesWithoutClientAck.get(i);if(typeof n>"u")return;const o=ya(s);delete n[o],Object.keys(n).length===0?this.messagesWithoutClientAck.delete(i):this.messagesWithoutClientAck.set(i,n),await this.persist()}),core_dist_K(this,"del",async i=>{this.isInitialized(),this.messages.delete(i),this.messagesWithoutClientAck.delete(i),await this.persist()}),this.logger=index_es_Re(e,this.name),this.core=t}get context(){return index_es_ee(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,vi(e))}async setRelayerMessagesWithoutClientAck(e){await this.core.storage.setItem(this.storageKeyWithoutClientAck,vi(e))}async getRelayerMessages(){const e=await this.core.storage.getItem(this.storageKey);return typeof e<"u"?xi(e):void 0}async getRelayerMessagesWithoutClientAck(){const e=await this.core.storage.getItem(this.storageKeyWithoutClientAck);return typeof e<"u"?xi(e):void 0}async persist(){await this.setRelayerMessages(this.messages),await this.setRelayerMessagesWithoutClientAck(this.messagesWithoutClientAck)}isInitialized(){if(!this.initialized){const{message:e}=dist_Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}}var core_dist_Vn=Object.defineProperty,core_dist_qn=Object.defineProperties,core_dist_Gn=Object.getOwnPropertyDescriptors,dist_Ti=Object.getOwnPropertySymbols,core_dist_Wn=Object.prototype.hasOwnProperty,core_dist_Hn=Object.prototype.propertyIsEnumerable,core_dist_He=(r,e,t)=>e in r?core_dist_Vn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,dist_ce=(r,e)=>{for(var t in e||(e={}))core_dist_Wn.call(e,t)&&core_dist_He(r,t,e[t]);if(dist_Ti)for(var t of dist_Ti(e))core_dist_Hn.call(e,t)&&core_dist_He(r,t,e[t]);return r},dist_Ci=(r,e)=>core_dist_qn(r,core_dist_Gn(e)),dist_G=(r,e,t)=>core_dist_He(r,typeof e!="symbol"?e+"":e,t);class core_dist_Yn extends dist_m{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,dist_G(this,"events",new external_events_.EventEmitter),dist_G(this,"name",core_dist_xt),dist_G(this,"queue",new Map),dist_G(this,"publishTimeout",(0,cjs.toMiliseconds)(cjs.ONE_MINUTE)),dist_G(this,"initialPublishTimeout",(0,cjs.toMiliseconds)(cjs.ONE_SECOND*15)),dist_G(this,"needsTransportRestart",!1),dist_G(this,"publish",async(i,s,n)=>{var o,a,c,h,l;this.logger.debug("Publishing Payload"),this.logger.trace({type:"method",method:"publish",params:{topic:i,message:s,opts:n}});const g=n?.ttl||core_dist_At,y=n?.prompt||!1,_=n?.tag||0,u=n?.id||getBigIntRpcId().toString(),m=Oa(Sa().protocol),D={id:u,method:n?.publishMethod||m.publish,params:dist_ce({topic:i,message:s,ttl:g,prompt:y,tag:_,attestation:n?.attestation},n?.tvf)},w=`Failed to publish payload, please try again. id:${u} tag:${_}`;try{dist_Dt((o=D.params)==null?void 0:o.prompt)&&((a=D.params)==null||delete a.prompt),dist_Dt((c=D.params)==null?void 0:c.tag)&&((h=D.params)==null||delete h.tag);const E=new Promise(async L=>{const I=({id:T})=>{var S;((S=D.id)==null?void 0:S.toString())===T.toString()&&(this.removeRequestFromQueue(T),this.relayer.events.removeListener(core_dist_C.publish,I),L())};this.relayer.events.on(core_dist_C.publish,I);const k=Si(new Promise((T,S)=>{this.rpcPublish(D,n).then(T).catch(O=>{this.logger.warn(O,O?.message),S(O)})}),this.initialPublishTimeout,`Failed initial publish, retrying.... id:${u} tag:${_}`);try{await k,this.events.removeListener(core_dist_C.publish,I)}catch(T){this.queue.set(u,{request:D,opts:n,attempt:1}),this.logger.warn(T,T?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:u,topic:i,message:s,opts:n}}),await Si(E,this.publishTimeout,w)}catch(E){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(E),(l=n?.internal)!=null&&l.throwOnFailedPublish)throw E}finally{this.queue.delete(u)}}),dist_G(this,"publishCustom",async i=>{var s,n,o,a,c;this.logger.debug("Publishing custom payload"),this.logger.trace({type:"method",method:"publishCustom",params:i});const{payload:h,opts:l={}}=i,{attestation:g,tvf:y,publishMethod:_,prompt:u,tag:m,ttl:D=cjs.FIVE_MINUTES}=l,w=l.id||getBigIntRpcId().toString(),E=Oa(Sa().protocol),L=_||E.publish,I={id:w,method:L,params:dist_ce(dist_Ci(dist_ce({},h),{ttl:D,prompt:u,tag:m,attestation:g}),y)},k=`Failed to publish custom payload, please try again. id:${w} tag:${m}`;try{dist_Dt((s=I.params)==null?void 0:s.prompt)&&((n=I.params)==null||delete n.prompt),dist_Dt((o=I.params)==null?void 0:o.tag)&&((a=I.params)==null||delete a.tag);const T=new Promise(async S=>{const O=({id:Z})=>{var we;((we=I.id)==null?void 0:we.toString())===Z.toString()&&(this.removeRequestFromQueue(Z),this.relayer.events.removeListener(core_dist_C.publish,O),S())};this.relayer.events.on(core_dist_C.publish,O);const te=Si(new Promise((Z,we)=>{this.rpcPublish(I,l).then(Z).catch(Ee=>{this.logger.warn(Ee,Ee?.message),we(Ee)})}),this.initialPublishTimeout,`Failed initial custom payload publish, retrying.... method:${L} id:${w} tag:${m}`);try{await te,this.events.removeListener(core_dist_C.publish,O)}catch(Z){this.queue.set(w,{request:I,opts:l,attempt:1}),this.logger.warn(Z,Z?.message)}});this.logger.trace({type:"method",method:"publish",params:{id:w,payload:h,opts:l}}),await Si(T,this.publishTimeout,k)}catch(T){if(this.logger.debug("Failed to Publish Payload"),this.logger.error(T),(c=l?.internal)!=null&&c.throwOnFailedPublish)throw T}finally{this.queue.delete(w)}}),dist_G(this,"on",(i,s)=>{this.events.on(i,s)}),dist_G(this,"once",(i,s)=>{this.events.once(i,s)}),dist_G(this,"off",(i,s)=>{this.events.off(i,s)}),dist_G(this,"removeListener",(i,s)=>{this.events.removeListener(i,s)}),this.relayer=e,this.logger=index_es_Re(t,this.name),this.registerEventListeners()}get context(){return index_es_ee(this.logger)}async rpcPublish(e,t){this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"message",direction:"outgoing",request:e});const i=await this.relayer.request(e);return this.relayer.events.emit(core_dist_C.publish,dist_ce(dist_ce({},e),t)),this.logger.debug("Successfully Published Payload"),i}removeRequestFromQueue(e){this.queue.delete(e)}checkQueue(){this.queue.forEach(async(e,t)=>{var i;const s=e.attempt+1;this.queue.set(t,dist_Ci(dist_ce({},e),{attempt:s})),this.logger.warn({},`Publisher: queue->publishing: ${e.request.id}, tag: ${(i=e.request.params)==null?void 0:i.tag}, attempt: ${s}`),await this.rpcPublish(e.request,e.opts),this.logger.warn({},`Publisher: queue->published: ${e.request.id}`)})}registerEventListeners(){this.relayer.core.heartbeat.on(index_es_r.pulse,()=>{if(this.needsTransportRestart){this.needsTransportRestart=!1,this.relayer.events.emit(core_dist_C.connection_stalled);return}this.checkQueue()}),this.relayer.on(core_dist_C.message_ack,e=>{this.removeRequestFromQueue(e.id.toString())})}}var core_dist_Jn=Object.defineProperty,core_dist_Xn=(r,e,t)=>e in r?core_dist_Jn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,core_dist_he=(r,e,t)=>core_dist_Xn(r,typeof e!="symbol"?e+"":e,t);class core_dist_Zn{constructor(){core_dist_he(this,"map",new Map),core_dist_he(this,"set",(e,t)=>{const i=this.get(e);this.exists(e,t)||this.map.set(e,[...i,t])}),core_dist_he(this,"get",e=>this.map.get(e)||[]),core_dist_he(this,"exists",(e,t)=>this.get(e).includes(t)),core_dist_he(this,"delete",(e,t)=>{if(typeof t>"u"){this.map.delete(e);return}if(!this.map.has(e))return;const i=this.get(e);if(!this.exists(e,t))return;const s=i.filter(n=>n!==t);if(!s.length){this.map.delete(e);return}this.map.set(e,s)}),core_dist_he(this,"clear",()=>{this.map.clear()})}get topics(){return Array.from(this.map.keys())}}var dist_Qn=Object.defineProperty,core_dist_eo=Object.defineProperties,core_dist_to=Object.getOwnPropertyDescriptors,dist_Pi=Object.getOwnPropertySymbols,core_dist_io=Object.prototype.hasOwnProperty,core_dist_so=Object.prototype.propertyIsEnumerable,core_dist_Ye=(r,e,t)=>e in r?dist_Qn(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,dist_fe=(r,e)=>{for(var t in e||(e={}))core_dist_io.call(e,t)&&core_dist_Ye(r,t,e[t]);if(dist_Pi)for(var t of dist_Pi(e))core_dist_so.call(e,t)&&core_dist_Ye(r,t,e[t]);return r},core_dist_Je=(r,e)=>core_dist_eo(r,core_dist_to(e)),core_dist_f=(r,e,t)=>core_dist_Ye(r,typeof e!="symbol"?e+"":e,t);class dist_Si extends dist_P{constructor(e,t){super(e,t),this.relayer=e,this.logger=t,core_dist_f(this,"subscriptions",new Map),core_dist_f(this,"topicMap",new core_dist_Zn),core_dist_f(this,"events",new external_events_.EventEmitter),core_dist_f(this,"name",core_dist_Ft),core_dist_f(this,"version",core_dist_Mt),core_dist_f(this,"pending",new Map),core_dist_f(this,"cached",[]),core_dist_f(this,"initialized",!1),core_dist_f(this,"storagePrefix",core_dist_W),core_dist_f(this,"subscribeTimeout",(0,cjs.toMiliseconds)(cjs.ONE_MINUTE)),core_dist_f(this,"initialSubscribeTimeout",(0,cjs.toMiliseconds)(cjs.ONE_SECOND*15)),core_dist_f(this,"clientId"),core_dist_f(this,"batchSubscribeTopicsLimit",500),core_dist_f(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),this.registerEventListeners(),await this.restore()),this.initialized=!0}),core_dist_f(this,"subscribe",async(i,s)=>{var n;this.isInitialized(),this.logger.debug("Subscribing Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:s}});try{const o=Sa(s),a={topic:i,relay:o,transportType:s?.transportType};(n=s?.internal)!=null&&n.skipSubscribe||this.pending.set(i,a);const c=await this.rpcSubscribe(i,o,s);return typeof c=="string"&&(this.onSubscribe(c,a),this.logger.debug("Successfully Subscribed Topic"),this.logger.trace({type:"method",method:"subscribe",params:{topic:i,opts:s}})),c}catch(o){throw this.logger.debug("Failed to Subscribe Topic"),this.logger.error(o),o}}),core_dist_f(this,"unsubscribe",async(i,s)=>{this.isInitialized(),typeof s?.id<"u"?await this.unsubscribeById(i,s.id,s):await this.unsubscribeByTopic(i,s)}),core_dist_f(this,"isSubscribed",i=>new Promise(s=>{s(this.topicMap.topics.includes(i))})),core_dist_f(this,"isKnownTopic",i=>new Promise(s=>{s(this.topicMap.topics.includes(i)||this.pending.has(i)||this.cached.some(n=>n.topic===i))})),core_dist_f(this,"on",(i,s)=>{this.events.on(i,s)}),core_dist_f(this,"once",(i,s)=>{this.events.once(i,s)}),core_dist_f(this,"off",(i,s)=>{this.events.off(i,s)}),core_dist_f(this,"removeListener",(i,s)=>{this.events.removeListener(i,s)}),core_dist_f(this,"start",async()=>{await this.onConnect()}),core_dist_f(this,"stop",async()=>{await this.onDisconnect()}),core_dist_f(this,"restart",async()=>{await this.restore(),await this.onRestart()}),core_dist_f(this,"checkPending",async()=>{if(this.pending.size===0&&(!this.initialized||!this.relayer.connected))return;const i=[];this.pending.forEach(s=>{i.push(s)}),await this.batchSubscribe(i)}),core_dist_f(this,"registerEventListeners",()=>{this.relayer.core.heartbeat.on(index_es_r.pulse,async()=>{await this.checkPending()}),this.events.on(core_dist_j.created,async i=>{const s=core_dist_j.created;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:i}),await this.persist()}),this.events.on(core_dist_j.deleted,async i=>{const s=core_dist_j.deleted;this.logger.info(`Emitting ${s}`),this.logger.debug({type:"event",event:s,data:i}),await this.persist()})}),this.relayer=e,this.logger=index_es_Re(t,this.name),this.clientId=""}get context(){return index_es_ee(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.relayer.core.customStoragePrefix+"//"+this.name}get length(){return this.subscriptions.size}get ids(){return Array.from(this.subscriptions.keys())}get values(){return Array.from(this.subscriptions.values())}get topics(){return this.topicMap.topics}get hasAnyTopics(){return this.topicMap.topics.length>0||this.pending.size>0||this.cached.length>0||this.subscriptions.size>0}hasSubscription(e,t){let i=!1;try{i=this.getSubscription(e).topic===t}catch{}return i}reset(){this.cached=[],this.initialized=!0}onDisable(){this.values.length>0&&(this.cached=this.values),this.subscriptions.clear(),this.topicMap.clear()}async unsubscribeByTopic(e,t){const i=this.topicMap.get(e);await Promise.all(i.map(async s=>await this.unsubscribeById(e,s,t)))}async unsubscribeById(e,t,i){this.logger.debug("Unsubscribing Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}});try{const s=Sa(i);await this.restartToComplete({topic:e,id:t,relay:s}),await this.rpcUnsubscribe(e,t,s);const n=dist_zt("USER_DISCONNECTED",`${this.name}, ${e}`);await this.onUnsubscribe(e,t,n),this.logger.debug("Successfully Unsubscribed Topic"),this.logger.trace({type:"method",method:"unsubscribe",params:{topic:e,id:t,opts:i}})}catch(s){throw this.logger.debug("Failed to Unsubscribe Topic"),this.logger.error(s),s}}async rpcSubscribe(e,t,i){var s,n;const o=await this.getSubscriptionId(e);if((s=i?.internal)!=null&&s.skipSubscribe)return o;(!i||i?.transportType===core_dist_ee.relay)&&await this.restartToComplete({topic:e,id:e,relay:t});const a={method:Oa(t.protocol).subscribe,params:{topic:e}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:a});const c=(n=i?.internal)==null?void 0:n.throwOnFailedPublish;try{if(i?.transportType===core_dist_ee.link_mode)return setTimeout(()=>{(this.relayer.connected||this.relayer.connecting)&&this.relayer.request(a).catch(g=>this.logger.warn(g))},(0,cjs.toMiliseconds)(cjs.ONE_SECOND)),o;const h=new Promise(async g=>{const y=_=>{_.topic===e&&(this.events.removeListener(core_dist_j.created,y),g(_.id))};this.events.on(core_dist_j.created,y);try{const _=await Si(new Promise((u,m)=>{this.relayer.request(a).catch(D=>{this.logger.warn(D,D?.message),m(D)}).then(u)}),this.initialSubscribeTimeout,`Subscribing to ${e} failed, please try again`);this.events.removeListener(core_dist_j.created,y),g(_)}catch{}}),l=await Si(h,this.subscribeTimeout,`Subscribing to ${e} failed, please try again`);if(!l&&c)throw new Error(`Subscribing to ${e} failed, please try again`);return l?o:null}catch(h){if(this.logger.debug("Outgoing Relay Subscribe Payload stalled"),this.relayer.events.emit(core_dist_C.connection_stalled),c)throw h}return null}async rpcBatchSubscribe(e){if(!e.length)return;const t=e[0].relay,i={method:Oa(t.protocol).batchSubscribe,params:{topics:e.map(s=>s.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});try{await await Si(new Promise(s=>{this.relayer.request(i).catch(n=>this.logger.warn(n)).then(s)}),this.subscribeTimeout,"rpcBatchSubscribe failed, please try again")}catch{this.relayer.events.emit(core_dist_C.connection_stalled)}}async rpcBatchFetchMessages(e){if(!e.length)return;const t=e[0].relay,i={method:Oa(t.protocol).batchFetchMessages,params:{topics:e.map(n=>n.topic)}};this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:i});let s;try{s=await await Si(new Promise((n,o)=>{this.relayer.request(i).catch(a=>{this.logger.warn(a),o(a)}).then(n)}),this.subscribeTimeout,"rpcBatchFetchMessages failed, please try again")}catch{this.relayer.events.emit(core_dist_C.connection_stalled)}return s}rpcUnsubscribe(e,t,i){const s={method:Oa(i.protocol).unsubscribe,params:{topic:e,id:t}};return this.logger.debug("Outgoing Relay Payload"),this.logger.trace({type:"payload",direction:"outgoing",request:s}),this.relayer.request(s)}onSubscribe(e,t){this.setSubscription(e,core_dist_Je(dist_fe({},t),{id:e})),this.pending.delete(t.topic)}onBatchSubscribe(e){e.length&&e.forEach(t=>{this.setSubscription(t.id,dist_fe({},t)),this.pending.delete(t.topic)})}async onUnsubscribe(e,t,i){this.events.removeAllListeners(t),this.hasSubscription(t,e)&&this.deleteSubscription(t,i),await this.relayer.messages.del(e)}async setRelayerSubscriptions(e){await this.relayer.core.storage.setItem(this.storageKey,e)}async getRelayerSubscriptions(){return await this.relayer.core.storage.getItem(this.storageKey)}setSubscription(e,t){this.logger.debug("Setting subscription"),this.logger.trace({type:"method",method:"setSubscription",id:e,subscription:t}),this.addSubscription(e,t)}addSubscription(e,t){this.subscriptions.set(e,dist_fe({},t)),this.topicMap.set(t.topic,e),this.events.emit(core_dist_j.created,t)}getSubscription(e){this.logger.debug("Getting subscription"),this.logger.trace({type:"method",method:"getSubscription",id:e});const t=this.subscriptions.get(e);if(!t){const{message:i}=dist_Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}deleteSubscription(e,t){this.logger.debug("Deleting subscription"),this.logger.trace({type:"method",method:"deleteSubscription",id:e,reason:t});const i=this.getSubscription(e);this.subscriptions.delete(e),this.topicMap.delete(i.topic,e),this.events.emit(core_dist_j.deleted,core_dist_Je(dist_fe({},i),{reason:t}))}async persist(){await this.setRelayerSubscriptions(this.values),this.events.emit(core_dist_j.sync)}async onRestart(){if(this.cached.length){const e=[...this.cached],t=Math.ceil(this.cached.length/this.batchSubscribeTopicsLimit);for(let i=0;i<t;i++){const s=e.splice(0,this.batchSubscribeTopicsLimit);await this.batchSubscribe(s)}}this.events.emit(core_dist_j.resubscribed)}async restore(){try{const e=await this.getRelayerSubscriptions();if(typeof e>"u"||!e.length)return;if(this.subscriptions.size&&!e.every(t=>{var i;return t.topic===((i=this.subscriptions.get(t.id))==null?void 0:i.topic)})){const{message:t}=dist_Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),this.logger.error(`${this.name}: ${JSON.stringify(this.values)}`),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored subscriptions for ${this.name}`),this.logger.trace({type:"method",method:"restore",subscriptions:this.values})}catch(e){this.logger.debug(`Failed to Restore subscriptions for ${this.name}`),this.logger.error(e)}}async batchSubscribe(e){e.length&&(await this.rpcBatchSubscribe(e),this.onBatchSubscribe(await Promise.all(e.map(async t=>core_dist_Je(dist_fe({},t),{id:await this.getSubscriptionId(t.topic)})))))}async batchFetchMessages(e){if(!e.length)return;this.logger.trace(`Fetching batch messages for ${e.length} subscriptions`);const t=await this.rpcBatchFetchMessages(e);t&&t.messages&&(await Pi((0,cjs.toMiliseconds)(cjs.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}=dist_Bt("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 ya(e+await this.getClientId())}}var core_dist_ro=Object.defineProperty,dist_Oi=Object.getOwnPropertySymbols,core_dist_no=Object.prototype.hasOwnProperty,core_dist_oo=Object.prototype.propertyIsEnumerable,dist_Xe=(r,e,t)=>e in r?core_dist_ro(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,dist_Ri=(r,e)=>{for(var t in e||(e={}))core_dist_no.call(e,t)&&dist_Xe(r,t,e[t]);if(dist_Oi)for(var t of dist_Oi(e))core_dist_oo.call(e,t)&&dist_Xe(r,t,e[t]);return r},core_dist_p=(r,e,t)=>dist_Xe(r,typeof e!="symbol"?e+"":e,t);class dist_Ai extends dist_d{constructor(e){var t;super(e),core_dist_p(this,"protocol","wc"),core_dist_p(this,"version",2),core_dist_p(this,"core"),core_dist_p(this,"logger"),core_dist_p(this,"events",new external_events_.EventEmitter),core_dist_p(this,"provider"),core_dist_p(this,"messages"),core_dist_p(this,"subscriber"),core_dist_p(this,"publisher"),core_dist_p(this,"name",core_dist_zt),core_dist_p(this,"transportExplicitlyClosed",!1),core_dist_p(this,"initialized",!1),core_dist_p(this,"connectionAttemptInProgress",!1),core_dist_p(this,"relayUrl"),core_dist_p(this,"projectId"),core_dist_p(this,"packageName"),core_dist_p(this,"bundleId"),core_dist_p(this,"hasExperiencedNetworkDisruption",!1),core_dist_p(this,"pingTimeout"),core_dist_p(this,"heartBeatTimeout",(0,cjs.toMiliseconds)(cjs.THIRTY_SECONDS+cjs.FIVE_SECONDS)),core_dist_p(this,"reconnectTimeout"),core_dist_p(this,"connectPromise"),core_dist_p(this,"reconnectInProgress",!1),core_dist_p(this,"requestsInFlight",[]),core_dist_p(this,"connectTimeout",(0,cjs.toMiliseconds)(cjs.ONE_SECOND*15)),core_dist_p(this,"request",async i=>{var s,n;this.logger.debug("Publishing Request Payload");const o=i.id||getBigIntRpcId().toString();await this.toEstablishConnection();try{this.logger.trace({id:o,method:i.method,topic:(s=i.params)==null?void 0:s.topic},"relayer.request - publishing...");const a=`${o}:${((n=i.params)==null?void 0:n.tag)||""}`;this.requestsInFlight.push(a);const c=await this.provider.request(i);return this.requestsInFlight=this.requestsInFlight.filter(h=>h!==a),c}catch(a){throw this.logger.debug(`Failed to Publish Request: ${o}`),a}}),core_dist_p(this,"resetPingTimeout",()=>{dist_rn()&&(clearTimeout(this.pingTimeout),this.pingTimeout=setTimeout(()=>{var i,s,n,o;try{this.logger.debug({},"pingTimeout: Connection stalled, terminating..."),(o=(n=(s=(i=this.provider)==null?void 0:i.connection)==null?void 0:s.socket)==null?void 0:n.terminate)==null||o.call(n)}catch(a){this.logger.warn(a,a?.message)}},this.heartBeatTimeout))}),core_dist_p(this,"onPayloadHandler",i=>{this.onProviderPayload(i),this.resetPingTimeout()}),core_dist_p(this,"onConnectHandler",()=>{this.logger.warn({},"Relayer connected \u{1F6DC}"),this.startPingTimeout(),this.events.emit(core_dist_C.connect)}),core_dist_p(this,"onDisconnectHandler",()=>{this.logger.warn({},"Relayer disconnected \u{1F6D1}"),this.requestsInFlight=[],this.onProviderDisconnect()}),core_dist_p(this,"onProviderErrorHandler",i=>{this.logger.fatal(`Fatal socket error: ${i.message}`),this.events.emit(core_dist_C.error,i),this.logger.fatal("Fatal socket error received, closing transport"),this.transportExplicitlyClosed=!0,clearTimeout(this.reconnectTimeout),this.reconnectTimeout=void 0,this.reconnectInProgress=!1,this.transportClose().catch(s=>this.logger.warn(s))}),core_dist_p(this,"registerProviderListeners",()=>{this.provider.on(core_dist_M.payload,this.onPayloadHandler),this.provider.on(core_dist_M.connect,this.onConnectHandler),this.provider.on(core_dist_M.disconnect,this.onDisconnectHandler),this.provider.on(core_dist_M.error,this.onProviderErrorHandler)}),this.core=e.core,this.logger=Iu({logger:(t=e.logger)!=null?t:core_dist_$t,name:this.name}),this.messages=new dist_Ii(this.logger,e.core),this.subscriber=new dist_Si(this,this.logger),this.publisher=new core_dist_Yn(this,this.logger),this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||core_dist_Ke,li()?this.packageName=dist_hi():di()&&(this.bundleId=dist_hi()),this.provider={}}async init(){this.logger.trace("Initialized"),this.registerEventListeners(),await Promise.all([this.messages.init(),this.subscriber.init()]),this.initialized=!0,this.transportOpen().catch(e=>this.logger.warn(e,e?.message))}get context(){return index_es_ee(this.logger)}get connected(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===1||!1}get connecting(){var e,t,i;return((i=(t=(e=this.provider)==null?void 0:e.connection)==null?void 0:t.socket)==null?void 0:i.readyState)===0||this.connectPromise!==void 0||!1}async publish(e,t,i){this.isInitialized(),await this.publisher.publish(e,t,i),await this.recordMessageEvent({topic:e,message:t,publishedAt:Date.now(),transportType:core_dist_ee.relay},core_dist_ye.outbound)}async publishCustom(e){this.isInitialized(),await this.publisher.publishCustom(e)}async subscribe(e,t){var i,s,n;this.isInitialized(),(!(t!=null&&t.transportType)||t?.transportType==="relay")&&await this.toEstablishConnection();const o=typeof((i=t?.internal)==null?void 0:i.throwOnFailedPublish)>"u"?!0:(s=t?.internal)==null?void 0:s.throwOnFailedPublish;let a=((n=this.subscriber.topicMap.get(e))==null?void 0:n[0])||"",c;const h=l=>{l.topic===e&&(this.subscriber.off(core_dist_j.created,h),c())};return await Promise.all([new Promise(l=>{c=l,this.subscriber.on(core_dist_j.created,h)}),new Promise(async(l,g)=>{a=await this.subscriber.subscribe(e,dist_Ri({internal:{throwOnFailedPublish:o}},t)).catch(y=>{o&&g(y)})||a,l()})]),a}async unsubscribe(e,t){this.isInitialized(),await this.subscriber.unsubscribe(e,t)}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}off(e,t){this.events.off(e,t)}removeListener(e,t){this.events.removeListener(e,t)}async transportDisconnect(){this.provider.disconnect&&(this.hasExperiencedNetworkDisruption||this.connected)?await Si(this.provider.disconnect(),2e3,"provider.disconnect()").catch(()=>this.onProviderDisconnect()):this.onProviderDisconnect()}async transportClose(){this.transportExplicitlyClosed=!0,clearTimeout(this.reconnectTimeout),this.reconnectTimeout=void 0,this.reconnectInProgress=!1,await this.transportDisconnect()}async transportOpen(e){if(!this.subscriber.hasAnyTopics){this.logger.info("Starting WS connection skipped because the client has no topics to work with.");return}if(this.connectPromise?(this.logger.debug({},"Waiting for existing connection attempt to resolve..."),await this.connectPromise,this.logger.debug({},"Existing connection attempt resolved")):(this.connectPromise=new Promise(async(t,i)=>{await this.connect(e).then(t).catch(i).finally(()=>{this.connectPromise=void 0})}),await this.connectPromise),!this.connected)throw new Error(`Couldn't establish socket connection to the relay server: ${this.relayUrl}`)}async restartTransport(e){this.logger.debug({},"Restarting transport..."),!this.connectionAttemptInProgress&&(this.relayUrl=e||this.relayUrl,await this.confirmOnlineStateOrThrow(),await this.transportClose(),await this.transportOpen())}async confirmOnlineStateOrThrow(){if(!await gu())throw new Error("No internet connection detected. Please restart your network and try again.")}async handleBatchMessageEvents(e){if(e?.length===0){this.logger.trace("Batch message events is empty. Ignoring...");return}const t=e.sort((i,s)=>i.publishedAt-s.publishedAt);this.logger.debug(`Batch of ${t.length} message events sorted`);for(const i of t)try{await this.onMessageEvent(i)}catch(s){this.logger.warn(s,"Error while processing batch message event: "+s?.message)}this.logger.trace(`Batch of ${t.length} message events processed`)}async onLinkMessageEvent(e,t){const{topic:i}=e;if(!t.sessionExists){const s=_i(cjs.FIVE_MINUTES),n={topic:i,expiry:s,relay:{protocol:"irn"},active:!1};await this.core.pairing.pairings.set(i,n)}this.events.emit(core_dist_C.message,e),await this.recordMessageEvent(e,core_dist_ye.inbound)}async connect(e){await this.confirmOnlineStateOrThrow(),e&&e!==this.relayUrl&&(this.relayUrl=e,await this.transportDisconnect()),this.connectionAttemptInProgress=!0,this.transportExplicitlyClosed=!1;let t=1;for(;t<6;){try{if(this.transportExplicitlyClosed)break;this.logger.debug({},`Connecting to ${this.relayUrl}, attempt: ${t}...`),await this.createProvider(),await new Promise(async(i,s)=>{const n=()=>{s(new Error("Connection interrupted while trying to connect"))};this.provider.once(core_dist_M.disconnect,n),await Si(new Promise((o,a)=>{this.provider.connect().then(o).catch(a)}),this.connectTimeout,`Socket stalled when trying to connect to ${this.relayUrl}`).catch(o=>{s(o)}).finally(()=>{this.provider.off(core_dist_M.disconnect,n),clearTimeout(this.reconnectTimeout)}),await new Promise(async(o,a)=>{const c=()=>{s(new Error("Connection interrupted while trying to subscribe"))};this.provider.once(core_dist_M.disconnect,c),await this.subscriber.start().then(o).catch(a).finally(()=>{this.provider.off(core_dist_M.disconnect,c)})}),this.hasExperiencedNetworkDisruption=!1,i()})}catch(i){await this.subscriber.stop();const s=i;this.logger.warn({},s.message),this.hasExperiencedNetworkDisruption=!0}finally{this.connectionAttemptInProgress=!1}if(this.connected){this.logger.debug({},`Connected to ${this.relayUrl} successfully on attempt: ${t}`);break}await new Promise(i=>setTimeout(i,(0,cjs.toMiliseconds)(t*1))),t++}}startPingTimeout(){var e,t,i,s,n;if(dist_rn())try{(t=(e=this.provider)==null?void 0:e.connection)!=null&&t.socket&&((n=(s=(i=this.provider)==null?void 0:i.connection)==null?void 0:s.socket)==null||n.on("ping",()=>{this.resetPingTimeout()})),this.resetPingTimeout()}catch(o){this.logger.warn(o,o?.message)}}async createProvider(){this.provider.connection&&this.unregisterProviderListeners();const e=await this.core.crypto.signJWT(this.relayUrl);this.provider=new jsonrpc_provider_dist_index_es_o(new dist_index_es_f(bi({sdkVersion:core_dist_Pe,protocol:this.protocol,version:this.version,relayUrl:this.relayUrl,projectId:this.projectId,auth:e,useOnCloseEvent:!0,bundleId:this.bundleId,packageName:this.packageName}))),this.registerProviderListeners()}async recordMessageEvent(e,t){const{topic:i,message:s}=e;await this.messages.set(i,s,t)}async shouldIgnoreMessageEvent(e){const{topic:t,message:i}=e;if(!i||i.length===0)return this.logger.warn(`Ignoring invalid/empty message: ${i}`),!0;if(!await this.subscriber.isKnownTopic(t))return this.logger.warn(`Ignoring message for unknown topic ${t}`),!0;const s=this.messages.has(t,i);return s&&this.logger.warn(`Ignoring duplicate message: ${i}`),s}async onProviderPayload(e){if(this.logger.debug("Incoming Relay Payload"),this.logger.trace({type:"payload",direction:"incoming",payload:e}),isJsonRpcRequest(e)){if(!e.method.endsWith(core_dist_Lt))return;const t=e.params,{topic:i,message:s,publishedAt:n,attestation:o}=t.data,a={topic:i,message:s,publishedAt:n,transportType:core_dist_ee.relay,attestation:o};this.logger.debug("Emitting Relayer Payload"),this.logger.trace(dist_Ri({type:"event",event:t.id},a)),this.events.emit(t.id,a),await this.acknowledgePayload(e),await this.onMessageEvent(a)}else isJsonRpcResponse(e)&&this.events.emit(core_dist_C.message_ack,e)}async onMessageEvent(e){await this.shouldIgnoreMessageEvent(e)||(await this.recordMessageEvent(e,core_dist_ye.inbound),this.events.emit(core_dist_C.message,e))}async acknowledgePayload(e){const t=formatJsonRpcResult(e.id,!0);await this.provider.connection.send(t)}unregisterProviderListeners(){this.provider.off(core_dist_M.payload,this.onPayloadHandler),this.provider.off(core_dist_M.connect,this.onConnectHandler),this.provider.off(core_dist_M.disconnect,this.onDisconnectHandler),this.provider.off(core_dist_M.error,this.onProviderErrorHandler),clearTimeout(this.pingTimeout)}async registerEventListeners(){let e=await gu();bu(async t=>{e!==t&&(e=t,t?await this.transportOpen().catch(i=>this.logger.error(i,i?.message)):(this.hasExperiencedNetworkDisruption=!0,await this.transportDisconnect(),this.transportExplicitlyClosed=!1))}),this.core.heartbeat.on(index_es_r.pulse,async()=>{if(!this.transportExplicitlyClosed&&!this.connected&&yu())try{await this.confirmOnlineStateOrThrow(),await this.transportOpen()}catch(t){this.logger.warn(t,t?.message)}})}async onProviderDisconnect(){clearTimeout(this.pingTimeout),this.events.emit(core_dist_C.disconnect),this.connectionAttemptInProgress=!1,!this.reconnectInProgress&&(this.reconnectInProgress=!0,await this.subscriber.stop(),this.subscriber.hasAnyTopics&&(this.transportExplicitlyClosed||(this.reconnectTimeout=setTimeout(async()=>{await this.transportOpen().catch(e=>this.logger.error(e,e?.message)),this.reconnectTimeout=void 0,this.reconnectInProgress=!1},(0,cjs.toMiliseconds)(core_dist_kt)))))}isInitialized(){if(!this.initialized){const{message:e}=dist_Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}async toEstablishConnection(){if(await this.confirmOnlineStateOrThrow(),!this.connected){if(this.connectPromise){await this.connectPromise;return}await this.connect()}}}function core_dist_ao(r,e){return r===e||Number.isNaN(r)&&Number.isNaN(e)}function dist_xi(r){return Object.getOwnPropertySymbols(r).filter(e=>Object.prototype.propertyIsEnumerable.call(r,e))}function dist_Ni(r){return r==null?r===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(r)}const core_dist_co="[object RegExp]",core_dist_ho="[object String]",core_dist_lo="[object Number]",core_dist_uo="[object Boolean]",dist_$i="[object Arguments]",core_dist_po="[object Symbol]",core_dist_go="[object Date]",core_dist_yo="[object Map]",core_dist_bo="[object Set]",core_dist_mo="[object Array]",core_dist_fo="[object Function]",core_dist_Do="[object ArrayBuffer]",core_dist_Ze="[object Object]",core_dist_vo="[object Error]",core_dist_o="[object DataView]",core_dist_wo="[object Uint8Array]",core_dist_Eo="[object Uint8ClampedArray]",core_dist_Io="[object Uint16Array]",core_dist_To="[object Uint32Array]",core_dist_Co="[object BigUint64Array]",core_dist_Po="[object Int8Array]",core_dist_So="[object Int16Array]",core_dist_Oo="[object Int32Array]",core_dist_Ro="[object BigInt64Array]",core_dist_Ao="[object Float32Array]",core_dist_xo="[object Float64Array]";function dist_zi(r){if(!r||typeof r!="object")return!1;const e=Object.getPrototypeOf(r);return e===null||e===Object.prototype||Object.getPrototypeOf(e)===null?Object.prototype.toString.call(r)==="[object Object]":!1}function core_dist_No(r,e,t){return core_dist_De(r,e,void 0,void 0,void 0,void 0,t)}function core_dist_De(r,e,t,i,s,n,o){const a=o(r,e,t,i,s,n);if(a!==void 0)return a;if(typeof r==typeof e)switch(typeof r){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return r===e;case"number":return r===e||Object.is(r,e);case"function":return r===e;case"object":return core_dist_ve(r,e,n,o)}return core_dist_ve(r,e,n,o)}function core_dist_ve(r,e,t,i){if(Object.is(r,e))return!0;let s=dist_Ni(r),n=dist_Ni(e);if(s===dist_$i&&(s=core_dist_Ze),n===dist_$i&&(n=core_dist_Ze),s!==n)return!1;switch(s){case core_dist_ho:return r.toString()===e.toString();case core_dist_lo:{const c=r.valueOf(),h=e.valueOf();return core_dist_ao(c,h)}case core_dist_uo:case core_dist_go:case core_dist_po:return Object.is(r.valueOf(),e.valueOf());case core_dist_co:return r.source===e.source&&r.flags===e.flags;case core_dist_fo:return r===e}t=t??new Map;const o=t.get(r),a=t.get(e);if(o!=null&&a!=null)return o===e;t.set(r,e),t.set(e,r);try{switch(s){case core_dist_yo:{if(r.size!==e.size)return!1;for(const[c,h]of r.entries())if(!e.has(c)||!core_dist_De(h,e.get(c),c,r,e,t,i))return!1;return!0}case core_dist_bo:{if(r.size!==e.size)return!1;const c=Array.from(r.values()),h=Array.from(e.values());for(let l=0;l<c.length;l++){const g=c[l],y=h.findIndex(_=>core_dist_De(g,_,void 0,r,e,t,i));if(y===-1)return!1;h.splice(y,1)}return!0}case core_dist_mo:case core_dist_wo:case core_dist_Eo:case core_dist_Io:case core_dist_To:case core_dist_Co:case core_dist_Po:case core_dist_So:case core_dist_Oo:case core_dist_Ro:case core_dist_Ao:case core_dist_xo:{if(typeof Buffer<"u"&&Buffer.isBuffer(r)!==Buffer.isBuffer(e)||r.length!==e.length)return!1;for(let c=0;c<r.length;c++)if(!core_dist_De(r[c],e[c],c,r,e,t,i))return!1;return!0}case core_dist_Do:return r.byteLength!==e.byteLength?!1:core_dist_ve(new Uint8Array(r),new Uint8Array(e),t,i);case core_dist_o:return r.byteLength!==e.byteLength||r.byteOffset!==e.byteOffset?!1:core_dist_ve(new Uint8Array(r),new Uint8Array(e),t,i);case core_dist_vo:return r.name===e.name&&r.message===e.message;case core_dist_Ze:{if(!(core_dist_ve(r.constructor,e.constructor,t,i)||dist_zi(r)&&dist_zi(e)))return!1;const h=[...Object.keys(r),...dist_xi(r)],l=[...Object.keys(e),...dist_xi(e)];if(h.length!==l.length)return!1;for(let g=0;g<h.length;g++){const y=h[g],_=r[y];if(!Object.hasOwn(e,y))return!1;const u=e[y];if(!core_dist_De(_,u,y,r,e,t,i))return!1}return!0}default:return!1}}finally{t.delete(r),t.delete(e)}}function core_dist_$o(){}function core_dist_zo(r,e){return core_dist_No(r,e,core_dist_$o)}var core_dist_Lo=Object.defineProperty,dist_Li=Object.getOwnPropertySymbols,core_dist_ko=Object.prototype.hasOwnProperty,core_dist_jo=Object.prototype.propertyIsEnumerable,core_dist_Qe=(r,e,t)=>e in r?core_dist_Lo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,dist_ki=(r,e)=>{for(var t in e||(e={}))core_dist_ko.call(e,t)&&core_dist_Qe(r,t,e[t]);if(dist_Li)for(var t of dist_Li(e))core_dist_jo.call(e,t)&&core_dist_Qe(r,t,e[t]);return r},dist_U=(r,e,t)=>core_dist_Qe(r,typeof e!="symbol"?e+"":e,t);class dist_ji extends dist_f{constructor(e,t,i,s=core_dist_W,n=void 0){super(e,t,i,s),this.core=e,this.logger=t,this.name=i,dist_U(this,"map",new Map),dist_U(this,"version",core_dist_jt),dist_U(this,"cached",[]),dist_U(this,"initialized",!1),dist_U(this,"getKey"),dist_U(this,"storagePrefix",core_dist_W),dist_U(this,"recentlyDeleted",[]),dist_U(this,"recentlyDeletedLimit",200),dist_U(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(o=>{this.getKey&&o!==null&&!dist_Dt(o)?this.map.set(this.getKey(o),o):Ja(o)?this.map.set(o.id,o):Qa(o)&&this.map.set(o.topic,o)}),this.cached=[],this.initialized=!0)}),dist_U(this,"set",async(o,a)=>{this.isInitialized(),this.map.has(o)?await this.update(o,a):(this.logger.debug("Setting value"),this.logger.trace({type:"method",method:"set",key:o,value:a}),this.map.set(o,a),await this.persist())}),dist_U(this,"get",o=>(this.isInitialized(),this.logger.debug("Getting value"),this.logger.trace({type:"method",method:"get",key:o}),this.getData(o))),dist_U(this,"getAll",o=>(this.isInitialized(),o?this.values.filter(a=>Object.keys(o).every(c=>core_dist_zo(a[c],o[c]))):this.values)),dist_U(this,"update",async(o,a)=>{this.isInitialized(),this.logger.debug("Updating value"),this.logger.trace({type:"method",method:"update",key:o,update:a});const c=dist_ki(dist_ki({},this.getData(o)),a);this.map.set(o,c),await this.persist()}),dist_U(this,"delete",async(o,a)=>{this.isInitialized(),this.map.has(o)&&(this.logger.debug("Deleting value"),this.logger.trace({type:"method",method:"delete",key:o,reason:a}),this.map.delete(o),this.addToRecentlyDeleted(o),await this.persist())}),this.logger=index_es_Re(t,this.name),this.storagePrefix=s,this.getKey=n}get context(){return index_es_ee(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.map.size}get keys(){return Array.from(this.map.keys())}get values(){return Array.from(this.map.values())}addToRecentlyDeleted(e){this.recentlyDeleted.push(e),this.recentlyDeleted.length>=this.recentlyDeletedLimit&&this.recentlyDeleted.splice(0,this.recentlyDeletedLimit/2)}async setDataStore(e){await this.core.storage.setItem(this.storageKey,e)}async getDataStore(){return await this.core.storage.getItem(this.storageKey)}getData(e){const t=this.map.get(e);if(!t){if(this.recentlyDeleted.includes(e)){const{message:s}=dist_Bt("MISSING_OR_INVALID",`Record was recently deleted - ${this.name}: ${e}`);throw this.logger.error(s),new Error(s)}const{message:i}=dist_Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.error(i),new Error(i)}return t}async persist(){await this.setDataStore(this.values)}async restore(){try{const e=await this.getDataStore();if(typeof e>"u"||!e.length)return;if(this.map.size){const{message:t}=dist_Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored value for ${this.name}`),this.logger.trace({type:"method",method:"restore",value:this.values})}catch(e){this.logger.debug(`Failed to Restore value for ${this.name}`),this.logger.error(e)}}isInitialized(){if(!this.initialized){const{message:e}=dist_Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}}var core_dist_Uo=Object.defineProperty,core_dist_Fo=(r,e,t)=>e in r?core_dist_Uo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,core_dist_d=(r,e,t)=>core_dist_Fo(r,typeof e!="symbol"?e+"":e,t);class dist_Ui{constructor(e,t){this.core=e,this.logger=t,core_dist_d(this,"name",core_dist_Kt),core_dist_d(this,"version",core_dist_Bt),core_dist_d(this,"events",new external_events_),core_dist_d(this,"pairings"),core_dist_d(this,"initialized",!1),core_dist_d(this,"storagePrefix",core_dist_W),core_dist_d(this,"ignoredPayloadTypes",[dist_ie]),core_dist_d(this,"registeredMethods",[]),core_dist_d(this,"init",async()=>{this.initialized||(await this.pairings.init(),await this.cleanup(),this.registerRelayerEvents(),this.registerExpirerEvents(),this.initialized=!0,this.logger.trace("Initialized"))}),core_dist_d(this,"register",({methods:i})=>{this.isInitialized(),this.registeredMethods=[...new Set([...this.registeredMethods,...i])]}),core_dist_d(this,"create",async i=>{this.isInitialized();const s=pa(),n=await this.core.crypto.setSymKey(s),o=_i(cjs.FIVE_MINUTES),a={protocol:core_dist_Nt},c={topic:n,expiry:o,relay:a,active:!1,methods:i?.methods},h=ja({protocol:this.core.protocol,version:this.core.version,topic:n,symKey:s,relay:a,expiryTimestamp:o,methods:i?.methods});return this.events.emit(dist_ae.create,c),this.core.expirer.set(n,o),await this.pairings.set(n,c),await this.core.relayer.subscribe(n,{transportType:i?.transportType,internal:i?.internal}),{topic:n,uri:h}}),core_dist_d(this,"pair",async i=>{this.isInitialized();const s=this.core.eventClient.createEvent({properties:{topic:i?.uri,trace:[dist_Y.pairing_started]}});this.isValidPair(i,s);const{topic:n,symKey:o,relay:a,expiryTimestamp:c,methods:h}=Ca(i.uri);s.props.properties.topic=n,s.addTrace(dist_Y.pairing_uri_validation_success),s.addTrace(dist_Y.pairing_uri_not_expired);let l;if(this.pairings.keys.includes(n)){if(l=this.pairings.get(n),s.addTrace(dist_Y.existing_pairing),l.active)throw s.setError(core_dist_X.active_pairing_already_exists),new Error(`Pairing already exists: ${n}. Please try again with a new connection URI.`);s.addTrace(dist_Y.pairing_not_expired)}const g=c||_i(cjs.FIVE_MINUTES),y={topic:n,relay:a,expiry:g,active:!1,methods:h};this.core.expirer.set(n,g),await this.pairings.set(n,y),s.addTrace(dist_Y.store_new_pairing),i.activatePairing&&await this.activate({topic:n}),this.events.emit(dist_ae.create,y),s.addTrace(dist_Y.emit_inactive_pairing),this.core.crypto.keychain.has(n)||await this.core.crypto.setSymKey(o,n),s.addTrace(dist_Y.subscribing_pairing_topic);try{await this.core.relayer.confirmOnlineStateOrThrow()}catch{s.setError(core_dist_X.no_internet_connection)}try{await this.core.relayer.subscribe(n,{relay:a})}catch(_){throw s.setError(core_dist_X.subscribe_pairing_topic_failure),_}return s.addTrace(dist_Y.subscribe_pairing_topic_success),y}),core_dist_d(this,"activate",async({topic:i})=>{this.isInitialized();const s=_i(cjs.FIVE_MINUTES);this.core.expirer.set(i,s),await this.pairings.update(i,{active:!0,expiry:s})}),core_dist_d(this,"ping",async i=>{this.isInitialized(),await this.isValidPing(i),this.logger.warn("ping() is deprecated and will be removed in the next major release.");const{topic:s}=i;if(this.pairings.keys.includes(s)){const n=await this.sendRequest(s,"wc_pairingPing",{}),{done:o,resolve:a,reject:c}=Ai();this.events.once($i("pairing_ping",n),({error:h})=>{h?c(h):a()}),await o()}}),core_dist_d(this,"updateExpiry",async({topic:i,expiry:s})=>{this.isInitialized(),await this.pairings.update(i,{expiry:s})}),core_dist_d(this,"updateMetadata",async({topic:i,metadata:s})=>{this.isInitialized(),await this.pairings.update(i,{peerMetadata:s})}),core_dist_d(this,"getPairings",()=>(this.isInitialized(),this.pairings.values)),core_dist_d(this,"disconnect",async i=>{this.isInitialized(),await this.isValidDisconnect(i);const{topic:s}=i;this.pairings.keys.includes(s)&&(await this.sendRequest(s,"wc_pairingDelete",dist_zt("USER_DISCONNECTED")),await this.deletePairing(s))}),core_dist_d(this,"formatUriFromPairing",i=>{this.isInitialized();const{topic:s,relay:n,expiry:o,methods:a}=i,c=this.core.crypto.keychain.get(s);return ja({protocol:this.core.protocol,version:this.core.version,topic:s,symKey:c,relay:n,expiryTimestamp:o,methods:a})}),core_dist_d(this,"sendRequest",async(i,s,n)=>{const o=formatJsonRpcRequest(s,n),a=await this.core.crypto.encode(i,o),c=core_dist_oe[s].req;return this.core.history.set(i,o),this.core.relayer.publish(i,a,c),o.id}),core_dist_d(this,"sendResult",async(i,s,n)=>{const o=formatJsonRpcResult(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,h=core_dist_oe[c].res;await this.core.relayer.publish(s,a,h),await this.core.history.resolve(o)}),core_dist_d(this,"sendError",async(i,s,n)=>{const o=formatJsonRpcError(i,n),a=await this.core.crypto.encode(s,o),c=(await this.core.history.get(s,i)).request.method,h=core_dist_oe[c]?core_dist_oe[c].res:core_dist_oe.unregistered_method.res;await this.core.relayer.publish(s,a,h),await this.core.history.resolve(o)}),core_dist_d(this,"deletePairing",async(i,s)=>{await this.core.relayer.unsubscribe(i),await Promise.all([this.pairings.delete(i,dist_zt("USER_DISCONNECTED")),this.core.crypto.deleteSymKey(i),s?Promise.resolve():this.core.expirer.del(i)])}),core_dist_d(this,"cleanup",async()=>{const i=this.pairings.getAll().filter(s=>Ri(s.expiry));await Promise.all(i.map(s=>this.deletePairing(s.topic)))}),core_dist_d(this,"onRelayEventRequest",async i=>{const{topic:s,payload:n}=i;switch(n.method){case"wc_pairingPing":return await this.onPairingPingRequest(s,n);case"wc_pairingDelete":return await this.onPairingDeleteRequest(s,n);default:return await this.onUnknownRpcMethodRequest(s,n)}}),core_dist_d(this,"onRelayEventResponse",async i=>{const{topic:s,payload:n}=i,o=(await this.core.history.get(s,n.id)).request.method;switch(o){case"wc_pairingPing":return this.onPairingPingResponse(s,n);default:return this.onUnknownRpcMethodResponse(o)}}),core_dist_d(this,"onPairingPingRequest",async(i,s)=>{const{id:n}=s;try{this.isValidPing({topic:i}),await this.sendResult(n,i,!0),this.events.emit(dist_ae.ping,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),core_dist_d(this,"onPairingPingResponse",(i,s)=>{const{id:n}=s;setTimeout(()=>{isJsonRpcResult(s)?this.events.emit($i("pairing_ping",n),{}):isJsonRpcError(s)&&this.events.emit($i("pairing_ping",n),{error:s.error})},500)}),core_dist_d(this,"onPairingDeleteRequest",async(i,s)=>{const{id:n}=s;try{this.isValidDisconnect({topic:i}),await this.deletePairing(i),this.events.emit(dist_ae.delete,{id:n,topic:i})}catch(o){await this.sendError(n,i,o),this.logger.error(o)}}),core_dist_d(this,"onUnknownRpcMethodRequest",async(i,s)=>{const{id:n,method:o}=s;try{if(this.registeredMethods.includes(o))return;const a=dist_zt("WC_METHOD_UNSUPPORTED",o);await this.sendError(n,i,a),this.logger.error(a)}catch(a){await this.sendError(n,i,a),this.logger.error(a)}}),core_dist_d(this,"onUnknownRpcMethodResponse",i=>{this.registeredMethods.includes(i)||this.logger.error(dist_zt("WC_METHOD_UNSUPPORTED",i))}),core_dist_d(this,"isValidPair",(i,s)=>{var n;if(!ou(i)){const{message:a}=dist_Bt("MISSING_OR_INVALID",`pair() params: ${i}`);throw s.setError(core_dist_X.malformed_pairing_uri),new Error(a)}if(!Xa(i.uri)){const{message:a}=dist_Bt("MISSING_OR_INVALID",`pair() uri: ${i.uri}`);throw s.setError(core_dist_X.malformed_pairing_uri),new Error(a)}const o=Ca(i?.uri);if(!((n=o?.relay)!=null&&n.protocol)){const{message:a}=dist_Bt("MISSING_OR_INVALID","pair() uri#relay-protocol");throw s.setError(core_dist_X.malformed_pairing_uri),new Error(a)}if(!(o!=null&&o.symKey)){const{message:a}=dist_Bt("MISSING_OR_INVALID","pair() uri#symKey");throw s.setError(core_dist_X.malformed_pairing_uri),new Error(a)}if(o!=null&&o.expiryTimestamp&&(0,cjs.toMiliseconds)(o?.expiryTimestamp)<Date.now()){s.setError(core_dist_X.pairing_expired);const{message:a}=dist_Bt("EXPIRED","pair() URI has expired. Please try again with a new connection URI.");throw new Error(a)}}),core_dist_d(this,"isValidPing",async i=>{if(!ou(i)){const{message:n}=dist_Bt("MISSING_OR_INVALID",`ping() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),core_dist_d(this,"isValidDisconnect",async i=>{if(!ou(i)){const{message:n}=dist_Bt("MISSING_OR_INVALID",`disconnect() params: ${i}`);throw new Error(n)}const{topic:s}=i;await this.isValidPairingTopic(s)}),core_dist_d(this,"isValidPairingTopic",async i=>{if(!dist_ft(i,!1)){const{message:s}=dist_Bt("MISSING_OR_INVALID",`pairing topic should be a string: ${i}`);throw new Error(s)}if(!this.pairings.keys.includes(i)){const{message:s}=dist_Bt("NO_MATCHING_KEY",`pairing topic doesn't exist: ${i}`);throw new Error(s)}if(Ri(this.pairings.get(i).expiry)){await this.deletePairing(i);const{message:s}=dist_Bt("EXPIRED",`pairing topic: ${i}`);throw new Error(s)}}),this.core=e,this.logger=index_es_Re(t,this.name),this.pairings=new dist_ji(this.core,this.logger,this.name,this.storagePrefix)}get context(){return index_es_ee(this.logger)}isInitialized(){if(!this.initialized){const{message:e}=dist_Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}registerRelayerEvents(){this.core.relayer.on(core_dist_C.message,async e=>{const{topic:t,message:i,transportType:s}=e;if(this.pairings.keys.includes(t)&&s!==core_dist_ee.link_mode&&!this.ignoredPayloadTypes.includes(this.core.crypto.getPayloadType(i)))try{const n=await this.core.crypto.decode(t,i);isJsonRpcRequest(n)?(this.core.history.set(t,n),await this.onRelayEventRequest({topic:t,payload:n})):isJsonRpcResponse(n)&&(await this.core.history.resolve(n),await this.onRelayEventResponse({topic:t,payload:n}),this.core.history.delete(t,n.id)),await this.core.relayer.messages.ack(t,i)}catch(n){this.logger.error(n)}})}registerExpirerEvents(){this.core.expirer.on(dist_q.expired,async e=>{const{topic:t}=Ui(e.target);t&&this.pairings.keys.includes(t)&&(await this.deletePairing(t,!0),this.events.emit(dist_ae.expire,{topic:t}))})}}var core_dist_Mo=Object.defineProperty,core_dist_Ko=(r,e,t)=>e in r?core_dist_Mo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,dist_N=(r,e,t)=>core_dist_Ko(r,typeof e!="symbol"?e+"":e,t);class dist_Fi extends dist_I{constructor(e,t){super(e,t),this.core=e,this.logger=t,dist_N(this,"records",new Map),dist_N(this,"events",new external_events_.EventEmitter),dist_N(this,"name",core_dist_Vt),dist_N(this,"version",core_dist_qt),dist_N(this,"cached",[]),dist_N(this,"initialized",!1),dist_N(this,"storagePrefix",core_dist_W),dist_N(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.records.set(i.id,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),dist_N(this,"set",(i,s,n)=>{if(this.isInitialized(),this.logger.debug("Setting JSON-RPC request history record"),this.logger.trace({type:"method",method:"set",topic:i,request:s,chainId:n}),this.records.has(s.id))return;const o={id:s.id,topic:i,request:{method:s.method,params:s.params||null},chainId:n,expiry:_i(cjs.THIRTY_DAYS)};this.records.set(o.id,o),this.persist(),this.events.emit(core_dist_V.created,o)}),dist_N(this,"resolve",async i=>{if(this.isInitialized(),this.logger.debug("Updating JSON-RPC response history record"),this.logger.trace({type:"method",method:"update",response:i}),!this.records.has(i.id))return;const s=await this.getRecord(i.id);typeof s.response>"u"&&(s.response=isJsonRpcError(i)?{error:i.error}:{result:i.result},this.records.set(s.id,s),this.persist(),this.events.emit(core_dist_V.updated,s))}),dist_N(this,"get",async(i,s)=>(this.isInitialized(),this.logger.debug("Getting record"),this.logger.trace({type:"method",method:"get",topic:i,id:s}),await this.getRecord(s))),dist_N(this,"delete",(i,s)=>{this.isInitialized(),this.logger.debug("Deleting record"),this.logger.trace({type:"method",method:"delete",id:s}),this.values.forEach(n=>{if(n.topic===i){if(typeof s<"u"&&n.id!==s)return;this.records.delete(n.id),this.events.emit(core_dist_V.deleted,n)}}),this.persist()}),dist_N(this,"exists",async(i,s)=>(this.isInitialized(),this.records.has(s)?(await this.getRecord(s)).topic===i:!1)),dist_N(this,"on",(i,s)=>{this.events.on(i,s)}),dist_N(this,"once",(i,s)=>{this.events.once(i,s)}),dist_N(this,"off",(i,s)=>{this.events.off(i,s)}),dist_N(this,"removeListener",(i,s)=>{this.events.removeListener(i,s)}),this.logger=index_es_Re(t,this.name)}get context(){return index_es_ee(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get size(){return this.records.size}get keys(){return Array.from(this.records.keys())}get values(){return Array.from(this.records.values())}get pending(){const e=[];return this.values.forEach(t=>{if(typeof t.response<"u")return;const i={topic:t.topic,request:formatJsonRpcRequest(t.request.method,t.request.params,t.id),chainId:t.chainId};return e.push(i)}),e}async setJsonRpcRecords(e){await this.core.storage.setItem(this.storageKey,e)}async getJsonRpcRecords(){return await this.core.storage.getItem(this.storageKey)}getRecord(e){this.isInitialized();const t=this.records.get(e);if(!t){const{message:i}=dist_Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw new Error(i)}return t}async persist(){await this.setJsonRpcRecords(this.values),this.events.emit(core_dist_V.sync)}async restore(){try{const e=await this.getJsonRpcRecords();if(typeof e>"u"||!e.length)return;if(this.records.size){const{message:t}=dist_Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored records for ${this.name}`),this.logger.trace({type:"method",method:"restore",records:this.values})}catch(e){this.logger.debug(`Failed to Restore records for ${this.name}`),this.logger.error(e)}}registerEventListeners(){this.events.on(core_dist_V.created,e=>{const t=core_dist_V.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(core_dist_V.updated,e=>{const t=core_dist_V.updated;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.events.on(core_dist_V.deleted,e=>{const t=core_dist_V.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,record:e})}),this.core.heartbeat.on(index_es_r.pulse,()=>{this.cleanup()})}cleanup(){try{this.isInitialized();let e=!1;this.records.forEach(t=>{(0,cjs.toMiliseconds)(t.expiry||0)-Date.now()<=0&&(this.logger.info(`Deleting expired history log: ${t.id}`),this.records.delete(t.id),this.events.emit(core_dist_V.deleted,t,!1),e=!0)}),e&&this.persist()}catch(e){this.logger.warn(e)}}isInitialized(){if(!this.initialized){const{message:e}=dist_Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}}var core_dist_Bo=Object.defineProperty,core_dist_Vo=(r,e,t)=>e in r?core_dist_Bo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,core_dist_z=(r,e,t)=>core_dist_Vo(r,typeof e!="symbol"?e+"":e,t);class dist_Mi extends dist_S{constructor(e,t){super(e,t),this.core=e,this.logger=t,core_dist_z(this,"expirations",new Map),core_dist_z(this,"events",new external_events_.EventEmitter),core_dist_z(this,"name",core_dist_Gt),core_dist_z(this,"version",core_dist_Wt),core_dist_z(this,"cached",[]),core_dist_z(this,"initialized",!1),core_dist_z(this,"storagePrefix",core_dist_W),core_dist_z(this,"init",async()=>{this.initialized||(this.logger.trace("Initialized"),await this.restore(),this.cached.forEach(i=>this.expirations.set(i.target,i)),this.cached=[],this.registerEventListeners(),this.initialized=!0)}),core_dist_z(this,"has",i=>{try{const s=this.formatTarget(i);return typeof this.getExpiration(s)<"u"}catch{return!1}}),core_dist_z(this,"set",(i,s)=>{this.isInitialized();const n=this.formatTarget(i),o={target:n,expiry:s};this.expirations.set(n,o),this.checkExpiry(n,o),this.events.emit(dist_q.created,{target:n,expiration:o})}),core_dist_z(this,"get",i=>{this.isInitialized();const s=this.formatTarget(i);return this.getExpiration(s)}),core_dist_z(this,"del",i=>{if(this.isInitialized(),this.has(i)){const s=this.formatTarget(i),n=this.getExpiration(s);this.expirations.delete(s),this.events.emit(dist_q.deleted,{target:s,expiration:n})}}),core_dist_z(this,"on",(i,s)=>{this.events.on(i,s)}),core_dist_z(this,"once",(i,s)=>{this.events.once(i,s)}),core_dist_z(this,"off",(i,s)=>{this.events.off(i,s)}),core_dist_z(this,"removeListener",(i,s)=>{this.events.removeListener(i,s)}),this.logger=index_es_Re(t,this.name)}get context(){return index_es_ee(this.logger)}get storageKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//"+this.name}get length(){return this.expirations.size}get keys(){return Array.from(this.expirations.keys())}get values(){return Array.from(this.expirations.values())}formatTarget(e){if(typeof e=="string")return Oi(e);if(typeof e=="number")return Ni(e);const{message:t}=dist_Bt("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(dist_q.sync)}async restore(){try{const e=await this.getExpirations();if(typeof e>"u"||!e.length)return;if(this.expirations.size){const{message:t}=dist_Bt("RESTORE_WILL_OVERRIDE",this.name);throw this.logger.error(t),new Error(t)}this.cached=e,this.logger.debug(`Successfully Restored expirations for ${this.name}`),this.logger.trace({type:"method",method:"restore",expirations:this.values})}catch(e){this.logger.debug(`Failed to Restore expirations for ${this.name}`),this.logger.error(e)}}getExpiration(e){const t=this.expirations.get(e);if(!t){const{message:i}=dist_Bt("NO_MATCHING_KEY",`${this.name}: ${e}`);throw this.logger.warn(i),new Error(i)}return t}checkExpiry(e,t){const{expiry:i}=t;(0,cjs.toMiliseconds)(i)-Date.now()<=0&&this.expire(e,t)}expire(e,t){this.expirations.delete(e),this.events.emit(dist_q.expired,{target:e,expiration:t})}checkExpirations(){this.core.relayer.connected&&this.expirations.forEach((e,t)=>this.checkExpiry(t,e))}registerEventListeners(){this.core.heartbeat.on(index_es_r.pulse,()=>this.checkExpirations()),this.events.on(dist_q.created,e=>{const t=dist_q.created;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(dist_q.expired,e=>{const t=dist_q.expired;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()}),this.events.on(dist_q.deleted,e=>{const t=dist_q.deleted;this.logger.info(`Emitting ${t}`),this.logger.debug({type:"event",event:t,data:e}),this.persist()})}isInitialized(){if(!this.initialized){const{message:e}=dist_Bt("NOT_INITIALIZED",this.name);throw new Error(e)}}}var core_dist_qo=Object.defineProperty,core_dist_Go=(r,e,t)=>e in r?core_dist_qo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,core_dist_P=(r,e,t)=>core_dist_Go(r,typeof e!="symbol"?e+"":e,t);class dist_Ki extends dist_M{constructor(e,t,i){super(e,t,i),this.core=e,this.logger=t,this.store=i,core_dist_P(this,"name",core_dist_Ht),core_dist_P(this,"abortController"),core_dist_P(this,"isDevEnv"),core_dist_P(this,"verifyUrlV3",core_dist_Jt),core_dist_P(this,"storagePrefix",core_dist_W),core_dist_P(this,"version",core_dist_Fe),core_dist_P(this,"publicKey"),core_dist_P(this,"fetchPromise"),core_dist_P(this,"init",async()=>{var s;this.isDevEnv||(this.publicKey=await this.store.getItem(this.storeKey),this.publicKey&&(0,cjs.toMiliseconds)((s=this.publicKey)==null?void 0:s.expiresAt)<Date.now()&&(this.logger.debug("verify v2 public key expired"),await this.removePublicKey()))}),core_dist_P(this,"register",async s=>{if(!dist_Wt()||this.isDevEnv)return;const n=window.location.origin,{id:o,decryptedId:a}=s,c=`${this.verifyUrlV3}/attestation?projectId=${this.core.projectId}&origin=${n}&id=${o}&decryptedId=${a}`;try{const h=(0,dist_cjs.getDocument)(),l=this.startAbortTimer(cjs.ONE_SECOND*5),g=await new Promise((y,_)=>{const u=()=>{window.removeEventListener("message",D),h.body.removeChild(m),_("attestation aborted")};this.abortController.signal.addEventListener("abort",u);const m=h.createElement("iframe");m.src=c,m.style.display="none",m.addEventListener("error",u,{signal:this.abortController.signal});const D=w=>{if(w.data&&typeof w.data=="string")try{const E=JSON.parse(w.data);if(E.type==="verify_attestation"){if(sn(E.attestation).payload.id!==o)return;clearInterval(l),h.body.removeChild(m),this.abortController.signal.removeEventListener("abort",u),window.removeEventListener("message",D),y(E.attestation===null?"":E.attestation)}}catch(E){this.logger.warn(E)}};h.body.appendChild(m),window.addEventListener("message",D,{signal:this.abortController.signal})});return this.logger.debug(g,"jwt attestation"),g}catch(h){this.logger.warn(h)}return""}),core_dist_P(this,"resolve",async s=>{if(this.isDevEnv)return"";const{attestationId:n,hash:o,encryptedId:a}=s;if(n===""){this.logger.debug("resolve: attestationId is empty, skipping");return}if(n){if(sn(n).payload.id!==a)return;const h=await this.isValidJwtAttestation(n);if(h){if(!h.isVerified){this.logger.warn("resolve: jwt attestation: origin url not verified");return}return h}}if(!o)return;const c=this.getVerifyUrl(s?.verifyUrl);return this.fetchAttestation(o,c)}),core_dist_P(this,"fetchAttestation",async(s,n)=>{this.logger.debug(`resolving attestation: ${s} from url: ${n}`);const o=this.startAbortTimer(cjs.ONE_SECOND*5),a=await fetch(`${n}/attestation/${s}?v2Supported=true`,{signal:this.abortController.signal});return clearTimeout(o),a.status===200?await a.json():void 0}),core_dist_P(this,"getVerifyUrl",s=>{let n=s||core_dist_be;return core_dist_Xt.includes(n)||(this.logger.info(`verify url: ${n}, not included in trusted list, assigning default: ${core_dist_be}`),n=core_dist_be),n}),core_dist_P(this,"fetchPublicKey",async()=>{try{this.logger.debug(`fetching public key from: ${this.verifyUrlV3}`);const s=this.startAbortTimer(cjs.FIVE_SECONDS),n=await fetch(`${this.verifyUrlV3}/public-key`,{signal:this.abortController.signal});return clearTimeout(s),await n.json()}catch(s){this.logger.warn(s)}}),core_dist_P(this,"persistPublicKey",async s=>{this.logger.debug(s,"persisting public key to local storage"),await this.store.setItem(this.storeKey,s),this.publicKey=s}),core_dist_P(this,"removePublicKey",async()=>{this.logger.debug("removing verify v2 public key from storage"),await this.store.removeItem(this.storeKey),this.publicKey=void 0}),core_dist_P(this,"isValidJwtAttestation",async s=>{const n=await this.getPublicKey();try{if(n)return this.validateAttestation(s,n)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}const o=await this.fetchAndPersistPublicKey();try{if(o)return this.validateAttestation(s,o)}catch(a){this.logger.error(a),this.logger.warn("error validating attestation")}}),core_dist_P(this,"getPublicKey",async()=>this.publicKey?this.publicKey:await this.fetchAndPersistPublicKey()),core_dist_P(this,"fetchAndPersistPublicKey",async()=>{if(this.fetchPromise)return await this.fetchPromise,this.publicKey;this.fetchPromise=new Promise(async n=>{const o=await this.fetchPublicKey();o&&(await this.persistPublicKey(o),n(o))});const s=await this.fetchPromise;return this.fetchPromise=void 0,s}),core_dist_P(this,"validateAttestation",(s,n)=>{const o=Aa(s,n.publicKey),a={hasExpired:(0,cjs.toMiliseconds)(o.exp)<Date.now(),payload:o};if(a.hasExpired)throw this.logger.warn("resolve: jwt attestation expired"),new Error("JWT attestation expired");return{origin:a.payload.origin,isScam:a.payload.isScam,isVerified:a.payload.isVerified}}),this.logger=index_es_Re(t,this.name),this.abortController=new AbortController,this.isDevEnv=ki(),this.init()}get storeKey(){return this.storagePrefix+this.version+this.core.customStoragePrefix+"//verify:public:key"}get context(){return index_es_ee(this.logger)}startAbortTimer(e){return this.abortController=new AbortController,setTimeout(()=>this.abortController.abort(),(0,cjs.toMiliseconds)(e))}}var core_dist_Wo=Object.defineProperty,core_dist_Ho=(r,e,t)=>e in r?core_dist_Wo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,dist_Bi=(r,e,t)=>core_dist_Ho(r,typeof e!="symbol"?e+"":e,t);class dist_Vi extends dist_O{constructor(e,t){super(e,t),this.projectId=e,this.logger=t,dist_Bi(this,"context",core_dist_Zt),dist_Bi(this,"registerDeviceToken",async i=>{const{clientId:s,token:n,notificationType:o,enableEncrypted:a=!1}=i,c=`${core_dist_Qt}/${this.projectId}/clients`;await fetch(c,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({client_id:s,type:o,token:n,always_raw:a})})}),this.logger=index_es_Re(t,this.context)}}var core_dist_Yo=Object.defineProperty,dist_qi=Object.getOwnPropertySymbols,core_dist_Jo=Object.prototype.hasOwnProperty,core_dist_Xo=Object.prototype.propertyIsEnumerable,core_dist_et=(r,e,t)=>e in r?core_dist_Yo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,core_dist_e=(r,e)=>{for(var t in e||(e={}))core_dist_Jo.call(e,t)&&core_dist_et(r,t,e[t]);if(dist_qi)for(var t of dist_qi(e))core_dist_Xo.call(e,t)&&core_dist_et(r,t,e[t]);return r},dist_A=(r,e,t)=>core_dist_et(r,typeof e!="symbol"?e+"":e,t);class dist_Gi extends dist_R{constructor(e,t,i=!0){super(e,t,i),this.core=e,this.logger=t,dist_A(this,"context",dist_ti),dist_A(this,"storagePrefix",core_dist_W),dist_A(this,"storageVersion",dist_ei),dist_A(this,"events",new Map),dist_A(this,"shouldPersist",!1),dist_A(this,"init",async()=>{if(!ki())try{const s={eventId:Li(),timestamp:Date.now(),domain:this.getAppDomain(),props:{event:"INIT",type:"",properties:{client_id:await this.core.crypto.getClientId(),user_agent:dist_wr(this.core.relayer.protocol,this.core.relayer.version,core_dist_Pe)}}};await this.sendEvent([s])}catch(s){this.logger.warn(s)}}),dist_A(this,"createEvent",s=>{const{event:n="ERROR",type:o="",properties:{topic:a,trace:c}}=s,h=Li(),l=this.core.projectId||"",g=Date.now(),y=core_dist_e({eventId:h,timestamp:g,props:{event:n,type:o,properties:{topic:a,trace:c}},bundleId:l,domain:this.getAppDomain()},this.setMethods(h));return this.telemetryEnabled&&(this.events.set(h,y),this.shouldPersist=!0),y}),dist_A(this,"getEvent",s=>{const{eventId:n,topic:o}=s;if(n)return this.events.get(n);const a=Array.from(this.events.values()).find(c=>c.props.properties.topic===o);if(a)return core_dist_e(core_dist_e({},a),this.setMethods(a.eventId))}),dist_A(this,"deleteEvent",s=>{const{eventId:n}=s;this.events.delete(n),this.shouldPersist=!0}),dist_A(this,"setEventListeners",()=>{this.core.heartbeat.on(index_es_r.pulse,async()=>{this.shouldPersist&&await this.persist(),this.events.forEach(s=>{(0,cjs.fromMiliseconds)(Date.now())-(0,cjs.fromMiliseconds)(s.timestamp)>core_dist_ii&&(this.events.delete(s.eventId),this.shouldPersist=!0)})})}),dist_A(this,"setMethods",s=>({addTrace:n=>this.addTrace(s,n),setError:n=>this.setError(s,n)})),dist_A(this,"addTrace",(s,n)=>{const o=this.events.get(s);o&&(o.props.properties.trace.push(n),this.events.set(s,o),this.shouldPersist=!0)}),dist_A(this,"setError",(s,n)=>{const o=this.events.get(s);o&&(o.props.type=n,o.timestamp=Date.now(),this.events.set(s,o),this.shouldPersist=!0)}),dist_A(this,"persist",async()=>{await this.core.storage.setItem(this.storageKey,Array.from(this.events.values())),this.shouldPersist=!1}),dist_A(this,"restore",async()=>{try{const s=await this.core.storage.getItem(this.storageKey)||[];if(!s.length)return;s.forEach(n=>{this.events.set(n.eventId,core_dist_e(core_dist_e({},n),this.setMethods(n.eventId)))})}catch(s){this.logger.warn(s)}}),dist_A(this,"submit",async()=>{if(!this.telemetryEnabled||this.events.size===0)return;const s=[];for(const[n,o]of this.events)o.props.type&&s.push(o);if(s.length!==0)try{if((await this.sendEvent(s)).ok)for(const n of s)this.events.delete(n.eventId),this.shouldPersist=!0}catch(n){this.logger.warn(n)}}),dist_A(this,"sendEvent",async s=>{const n=this.getAppDomain()?"":"&sp=desktop";return await fetch(`${dist_si}?projectId=${this.core.projectId}&st=events_sdk&sv=js-${core_dist_Pe}${n}`,{method:"POST",body:JSON.stringify(s)})}),dist_A(this,"getAppDomain",()=>dist_br().url),this.logger=index_es_Re(t,this.context),this.telemetryEnabled=i,i?this.restore().then(async()=>{await this.submit(),this.setEventListeners()}):this.persist()}get storageKey(){return this.storagePrefix+this.storageVersion+this.core.customStoragePrefix+"//"+this.context}}var core_dist_Zo=Object.defineProperty,dist_Wi=Object.getOwnPropertySymbols,core_dist_Qo=Object.prototype.hasOwnProperty,dist_ea=Object.prototype.propertyIsEnumerable,core_dist_tt=(r,e,t)=>e in r?core_dist_Zo(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,dist_Hi=(r,e)=>{for(var t in e||(e={}))core_dist_Qo.call(e,t)&&core_dist_tt(r,t,e[t]);if(dist_Wi)for(var t of dist_Wi(e))dist_ea.call(e,t)&&core_dist_tt(r,t,e[t]);return r},core_dist_v=(r,e,t)=>core_dist_tt(r,typeof e!="symbol"?e+"":e,t);class core_dist_Oe extends dist_h{constructor(e){var t;super(e),core_dist_v(this,"protocol",core_dist_Ue),core_dist_v(this,"version",core_dist_Fe),core_dist_v(this,"name",core_dist_ge),core_dist_v(this,"relayUrl"),core_dist_v(this,"projectId"),core_dist_v(this,"customStoragePrefix"),core_dist_v(this,"events",new external_events_.EventEmitter),core_dist_v(this,"logger"),core_dist_v(this,"heartbeat"),core_dist_v(this,"relayer"),core_dist_v(this,"crypto"),core_dist_v(this,"storage"),core_dist_v(this,"history"),core_dist_v(this,"expirer"),core_dist_v(this,"pairing"),core_dist_v(this,"verify"),core_dist_v(this,"echoClient"),core_dist_v(this,"linkModeSupportedApps"),core_dist_v(this,"eventClient"),core_dist_v(this,"initialized",!1),core_dist_v(this,"logChunkController"),core_dist_v(this,"on",(a,c)=>this.events.on(a,c)),core_dist_v(this,"once",(a,c)=>this.events.once(a,c)),core_dist_v(this,"off",(a,c)=>this.events.off(a,c)),core_dist_v(this,"removeListener",(a,c)=>this.events.removeListener(a,c)),core_dist_v(this,"dispatchEnvelope",({topic:a,message:c,sessionExists:h})=>{if(!a||!c)return;const l={topic:a,message:c,publishedAt:Date.now(),transportType:core_dist_ee.link_mode};this.relayer.onLinkMessageEvent(l,{sessionExists:h})});const i=this.getGlobalCore(e?.customStoragePrefix);if(i)try{return this.customStoragePrefix=i.customStoragePrefix,this.logger=i.logger,this.heartbeat=i.heartbeat,this.crypto=i.crypto,this.history=i.history,this.expirer=i.expirer,this.storage=i.storage,this.relayer=i.relayer,this.pairing=i.pairing,this.verify=i.verify,this.echoClient=i.echoClient,this.linkModeSupportedApps=i.linkModeSupportedApps,this.eventClient=i.eventClient,this.initialized=i.initialized,this.logChunkController=i.logChunkController,i}catch(a){console.warn("Failed to copy global core",a)}this.projectId=e?.projectId,this.relayUrl=e?.relayUrl||core_dist_Ke,this.customStoragePrefix=e!=null&&e.customStoragePrefix?`:${e.customStoragePrefix}`:"";const s=Ge({level:typeof e?.logger=="string"&&e.logger?e.logger:core_dist_Et.logger,name:core_dist_ge}),{logger:n,chunkLoggerController:o}=Ue({opts:s,maxSizeInBytes:e?.maxLogBlobSizeInBytes,loggerOverride:e?.logger});this.logChunkController=o,(t=this.logChunkController)!=null&&t.downloadLogsBlobInBrowser&&(window.downloadLogsBlobInBrowser=async()=>{var a,c;(a=this.logChunkController)!=null&&a.downloadLogsBlobInBrowser&&((c=this.logChunkController)==null||c.downloadLogsBlobInBrowser({clientId:await this.crypto.getClientId()}))}),this.logger=index_es_Re(n,this.name),this.heartbeat=new index_es_i,this.crypto=new dist_wi(this,this.logger,e?.keychain),this.history=new dist_Fi(this,this.logger),this.expirer=new dist_Mi(this,this.logger),this.storage=e!=null&&e.storage?e.storage:new index_es_h(dist_Hi(dist_Hi({},core_dist_It),e?.storageOptions)),this.relayer=new dist_Ai({core:this,logger:this.logger,relayUrl:this.relayUrl,projectId:this.projectId}),this.pairing=new dist_Ui(this,this.logger),this.verify=new dist_Ki(this,this.logger,this.storage),this.echoClient=new dist_Vi(this.projectId||"",this.logger),this.linkModeSupportedApps=[],this.eventClient=new dist_Gi(this,this.logger,e?.telemetryEnabled),this.setGlobalCore(this)}static async init(e){const t=new core_dist_Oe(e);await t.initialize();const i=await t.crypto.getClientId();return await t.storage.setItem(core_dist_Ut,i),t}get context(){return index_es_ee(this.logger)}async start(){this.initialized||await this.initialize()}async getLogsBlob(){var e;return(e=this.logChunkController)==null?void 0:e.logsToBlob({clientId:await this.crypto.getClientId()})}async addLinkModeSupportedApp(e){this.linkModeSupportedApps.includes(e)||(this.linkModeSupportedApps.push(e),await this.storage.setItem(core_dist_Be,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(core_dist_Be)||[],this.initialized=!0,this.logger.info("Core Initialization Success")}catch(e){throw this.logger.warn(e,`Core Initialization Failure at epoch ${Date.now()}`),this.logger.error(e.message),e}}getGlobalCore(e=""){try{if(this.isGlobalCoreDisabled())return;const t=`_walletConnectCore_${e}`,i=`${t}_count`;return globalThis[i]=(globalThis[i]||0)+1,globalThis[i]>1&&console.warn(`WalletConnect Core is already initialized. This is probably a mistake and can lead to unexpected behavior. Init() was called ${globalThis[i]} times.`),globalThis[t]}catch(t){console.warn("Failed to get global WalletConnect core",t);return}}setGlobalCore(e){var t;try{if(this.isGlobalCoreDisabled())return;const i=`_walletConnectCore_${((t=e.opts)==null?void 0:t.customStoragePrefix)||""}`;globalThis[i]=e}catch(i){console.warn("Failed to set global WalletConnect core",i)}}isGlobalCoreDisabled(){try{return typeof process<"u"&&process.env.DISABLE_GLOBAL_CORE==="true"}catch{return!0}}}const dist_ta=core_dist_Oe;
|
|
15084
15084
|
//# sourceMappingURL=index.js.map
|
|
15085
15085
|
|
|
15086
|
-
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@walletconnect+sign-client@2.23.4_typescript@5.
|
|
15086
|
+
;// CONCATENATED MODULE: ../../node_modules/.pnpm/@walletconnect+sign-client@2.23.4_typescript@5.8.3/node_modules/@walletconnect/sign-client/dist/index.js
|
|
15087
15087
|
const sign_client_dist_De="wc",sign_client_dist_Le=2,sign_client_dist_Me="client",sign_client_dist_Re=`${sign_client_dist_De}@${sign_client_dist_Le}:${sign_client_dist_Me}:`,sign_client_dist_Ie={name:sign_client_dist_Me,logger:"error",controller:!1,relayUrl:"wss://relay.walletconnect.org"},dist_Is=(/* unused pure expression or super */ null && ({session_proposal:"session_proposal",session_update:"session_update",session_extend:"session_extend",session_ping:"session_ping",session_delete:"session_delete",session_expire:"session_expire",session_request:"session_request",session_request_sent:"session_request_sent",session_event:"session_event",proposal_expire:"proposal_expire",session_authenticate:"session_authenticate",session_request_expire:"session_request_expire",session_connect:"session_connect"})),dist_Ts=(/* unused pure expression or super */ null && ({database:":memory:"})),sign_client_dist_$e="WALLETCONNECT_DEEPLINK_CHOICE",qs=(/* unused pure expression or super */ null && ({created:"history_created",updated:"history_updated",deleted:"history_deleted",sync:"history_sync"})),dist_Ps="history",dist_Ns="0.3",sign_client_dist_dt="proposal",dist_Os=(/* unused pure expression or super */ null && (vs)),sign_client_dist_Ke="Proposal expired",sign_client_dist_ut="session",sign_client_dist_se=cjs.SEVEN_DAYS,sign_client_dist_gt="engine",sign_client_dist_N={wc_sessionPropose:{req:{ttl:cjs.FIVE_MINUTES,prompt:!0,tag:1100},res:{ttl:cjs.FIVE_MINUTES,prompt:!1,tag:1101},reject:{ttl:cjs.FIVE_MINUTES,prompt:!1,tag:1120},autoReject:{ttl:cjs.FIVE_MINUTES,prompt:!1,tag:1121}},wc_sessionSettle:{req:{ttl:cjs.FIVE_MINUTES,prompt:!1,tag:1102},res:{ttl:cjs.FIVE_MINUTES,prompt:!1,tag:1103}},wc_sessionUpdate:{req:{ttl:cjs.ONE_DAY,prompt:!1,tag:1104},res:{ttl:cjs.ONE_DAY,prompt:!1,tag:1105}},wc_sessionExtend:{req:{ttl:cjs.ONE_DAY,prompt:!1,tag:1106},res:{ttl:cjs.ONE_DAY,prompt:!1,tag:1107}},wc_sessionRequest:{req:{ttl:cjs.FIVE_MINUTES,prompt:!0,tag:1108},res:{ttl:cjs.FIVE_MINUTES,prompt:!1,tag:1109}},wc_sessionEvent:{req:{ttl:cjs.FIVE_MINUTES,prompt:!0,tag:1110},res:{ttl:cjs.FIVE_MINUTES,prompt:!1,tag:1111}},wc_sessionDelete:{req:{ttl:cjs.ONE_DAY,prompt:!1,tag:1112},res:{ttl:cjs.ONE_DAY,prompt:!1,tag:1113}},wc_sessionPing:{req:{ttl:cjs.ONE_DAY,prompt:!1,tag:1114},res:{ttl:cjs.ONE_DAY,prompt:!1,tag:1115}},wc_sessionAuthenticate:{req:{ttl:cjs.ONE_HOUR,prompt:!0,tag:1116},res:{ttl:cjs.ONE_HOUR,prompt:!1,tag:1117},reject:{ttl:cjs.FIVE_MINUTES,prompt:!1,tag:1118},autoReject:{ttl:cjs.FIVE_MINUTES,prompt:!1,tag:1119}}},sign_client_dist_Te={min:cjs.FIVE_MINUTES,max:cjs.SEVEN_DAYS},sign_client_dist_K={idle:"IDLE",active:"ACTIVE"},sign_client_dist_yt={eth_sendTransaction:{key:""},eth_sendRawTransaction:{key:""},wallet_sendCalls:{key:""},solana_signTransaction:{key:"signature"},solana_signAllTransactions:{key:"transactions"},solana_signAndSendTransaction:{key:"signature"},sui_signAndExecuteTransaction:{key:"digest"},sui_signTransaction:{key:""},hedera_signAndExecuteTransaction:{key:"transactionId"},hedera_executeTransaction:{key:"transactionId"},near_signTransaction:{key:""},near_signTransactions:{key:""},tron_signTransaction:{key:"txID"},xrpl_signTransaction:{key:""},xrpl_signTransactionFor:{key:""},algo_signTxn:{key:""},sendTransfer:{key:"txid"},stacks_stxTransfer:{key:"txId"},polkadot_signTransaction:{key:""},cosmos_signDirect:{key:""}},sign_client_dist_mt="request",sign_client_dist_wt=["wc_sessionPropose","wc_sessionRequest","wc_authRequest","wc_sessionAuthenticate"],sign_client_dist_t="wc",dist_bs=1.5,sign_client_dist_vt="auth",sign_client_dist_St="authKeys",sign_client_dist_Et="pairingTopics",sign_client_dist_ft="requests",sign_client_dist_we=`${sign_client_dist_t}@${1.5}:${sign_client_dist_vt}:`,sign_client_dist_e=`${sign_client_dist_we}:PUB_KEY`;var dist_As=Object.defineProperty,dist_xs=Object.defineProperties,dist_Cs=Object.getOwnPropertyDescriptors,sign_client_dist_Rt=Object.getOwnPropertySymbols,Vs=Object.prototype.hasOwnProperty,dist_ks=Object.prototype.propertyIsEnumerable,sign_client_dist_Ue=(S,o,e)=>o in S?dist_As(S,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[o]=e,sign_client_dist_E=(S,o)=>{for(var e in o||(o={}))Vs.call(o,e)&&sign_client_dist_Ue(S,e,o[e]);if(sign_client_dist_Rt)for(var e of sign_client_dist_Rt(o))dist_ks.call(o,e)&&sign_client_dist_Ue(S,e,o[e]);return S},sign_client_dist_b=(S,o)=>dist_xs(S,dist_Cs(o)),sign_client_dist_c=(S,o,e)=>sign_client_dist_Ue(S,typeof o!="symbol"?o+"":o,e);class Ds extends dist_V{constructor(o){super(o),sign_client_dist_c(this,"name",sign_client_dist_gt),sign_client_dist_c(this,"events",new external_events_),sign_client_dist_c(this,"initialized",!1),sign_client_dist_c(this,"requestQueue",{state:sign_client_dist_K.idle,queue:[]}),sign_client_dist_c(this,"sessionRequestQueue",{state:sign_client_dist_K.idle,queue:[]}),sign_client_dist_c(this,"emittedSessionRequests",new Hi({limit:500})),sign_client_dist_c(this,"requestQueueDelay",cjs.ONE_SECOND),sign_client_dist_c(this,"expectedPairingMethodMap",new Map),sign_client_dist_c(this,"recentlyDeletedMap",new Map),sign_client_dist_c(this,"recentlyDeletedLimit",200),sign_client_dist_c(this,"relayMessageCache",[]),sign_client_dist_c(this,"pendingSessions",new Map),sign_client_dist_c(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(sign_client_dist_N)}),this.initialized=!0,setTimeout(async()=>{await this.processPendingMessageEvents(),this.sessionRequestQueue.queue=this.getPendingSessionRequests(),this.processSessionRequestQueue()},(0,cjs.toMiliseconds)(this.requestQueueDelay)))}),sign_client_dist_c(this,"connect",async e=>{var t;this.isInitialized(),await this.confirmOnlineStateOrThrow();const s=sign_client_dist_b(sign_client_dist_E({},e),{requiredNamespaces:e.requiredNamespaces||{},optionalNamespaces:e.optionalNamespaces||{}});await this.isValidConnect(s),s.optionalNamespaces=Ya(s.requiredNamespaces,s.optionalNamespaces),s.requiredNamespaces={};const{pairingTopic:i,requiredNamespaces:r,optionalNamespaces:n,sessionProperties:a,scopedProperties:l,relays:h,authentication:p,walletPay:y}=s,d=((t=p?.[0])==null?void 0:t.ttl)||sign_client_dist_N.wc_sessionPropose.req.ttl||cjs.FIVE_MINUTES;this.validateRequestExpiry(d);let u=i,w,g=!1;try{if(u){const R=this.client.core.pairing.pairings.get(u);this.client.logger.warn("connect() with existing pairing topic is deprecated and will be removed in the next major release."),g=R.active}}catch(R){throw this.client.logger.error(`connect() -> pairing.get(${u}) failed`),R}if(!u||!g){const{topic:R,uri:q}=await this.client.core.pairing.create({internal:{skipSubscribe:!0}});u=R,w=q}if(!u){const{message:R}=dist_Bt("NO_MATCHING_KEY",`connect() pairing topic: ${u}`);throw new Error(R)}const f=await this.client.core.crypto.generateKeyPair(),v=_i(d),T=sign_client_dist_E(sign_client_dist_b(sign_client_dist_E(sign_client_dist_E({requiredNamespaces:r,optionalNamespaces:n,relays:h??[{protocol:core_dist_Nt}],proposer:{publicKey:f,metadata:this.client.metadata},expiryTimestamp:v,pairingTopic:u},a&&{sessionProperties:a}),l&&{scopedProperties:l}),{id:payloadId()}),(p||y)&&{requests:{authentication:p?.map(R=>{const{domain:q,chains:ve,nonce:ce,uri:Y,exp:ie,nbf:le,type:J,statement:pe,requestId:he,resources:C,signatureTypes:D}=R;return{domain:q,chains:ve,nonce:ce,type:J??"caip122",aud:Y,version:"1",iat:new Date().toISOString(),exp:ie,nbf:le,statement:pe,requestId:he,resources:C,signatureTypes:D}}),walletPay:y}}),A=$i("session_connect",T.id),{reject:V,resolve:x,done:U}=Ai(d,sign_client_dist_Ke),z=({id:R})=>{R===T.id&&(this.client.events.off("proposal_expire",z),this.pendingSessions.delete(T.id),this.events.emit(A,{error:{message:sign_client_dist_Ke,code:0}}))};return this.client.events.on("proposal_expire",z),this.events.once(A,({error:R,session:q})=>{this.client.events.off("proposal_expire",z),R?V(R):q&&x(q)}),await this.setProposal(T.id,T),await this.sendProposeSession({proposal:T,publishOpts:{internal:{throwOnFailedPublish:!0},tvf:{correlationId:T.id}}}).catch(R=>{throw this.deleteProposal(T.id),R}),{uri:w,approval:U}}),sign_client_dist_c(this,"pair",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{return await this.client.core.pairing.pair(e)}catch(t){throw this.client.logger.error("pair() failed"),t}}),sign_client_dist_c(this,"approve",async e=>{var t,s,i;const r=this.client.core.eventClient.createEvent({properties:{topic:(t=e?.id)==null?void 0:t.toString(),trace:[dist_rr.session_approve_started]}});try{this.isInitialized(),await this.confirmOnlineStateOrThrow()}catch(q){throw r.setError(dist_nr.no_internet_connection),q}try{await this.isValidProposalId(e?.id)}catch(q){throw this.client.logger.error(`approve() -> proposal.get(${e?.id}) failed`),r.setError(dist_nr.proposal_not_found),q}try{await this.isValidApprove(e)}catch(q){throw this.client.logger.error("approve() -> isValidApprove() failed"),r.setError(dist_nr.session_approve_namespace_validation_failure),q}const{id:n,relayProtocol:a,namespaces:l,sessionProperties:h,scopedProperties:p,sessionConfig:y,proposalRequestsResponses:d}=e,u=this.client.proposal.get(n);this.client.core.eventClient.deleteEvent({eventId:r.eventId});const{pairingTopic:w,proposer:g,requiredNamespaces:f,optionalNamespaces:v}=u;let T=(s=this.client.core.eventClient)==null?void 0:s.getEvent({topic:w});T||(T=(i=this.client.core.eventClient)==null?void 0:i.createEvent({type:dist_rr.session_approve_started,properties:{topic:w,trace:[dist_rr.session_approve_started,dist_rr.session_namespaces_validation_success]}}));const A=await this.client.core.crypto.generateKeyPair(),V=g.publicKey,x=await this.client.core.crypto.generateSharedKey(A,V),U=sign_client_dist_b(sign_client_dist_E(sign_client_dist_E(sign_client_dist_E({relay:{protocol:a??"irn"},namespaces:l,controller:{publicKey:A,metadata:this.client.metadata},expiry:_i(sign_client_dist_se)},h&&{sessionProperties:h}),p&&{scopedProperties:p}),y&&{sessionConfig:y}),{proposalRequestsResponses:d}),z=core_dist_ee.relay;T.addTrace(dist_rr.subscribing_session_topic);try{await this.client.core.relayer.subscribe(x,{transportType:z,internal:{skipSubscribe:!0}})}catch(q){throw T.setError(dist_nr.subscribe_session_topic_failure),q}T.addTrace(dist_rr.subscribe_session_topic_success);const R=sign_client_dist_b(sign_client_dist_E({},U),{topic:x,requiredNamespaces:f,optionalNamespaces:v,pairingTopic:w,acknowledged:!1,self:U.controller,peer:{publicKey:g.publicKey,metadata:g.metadata},controller:A,transportType:core_dist_ee.relay,authentication:d?.authentication,walletPayResult:d?.walletPay});await this.client.session.set(x,R),T.addTrace(dist_rr.store_session);try{await this.sendApproveSession({sessionTopic:x,proposal:u,pairingProposalResponse:{relay:{protocol:a??"irn"},responderPublicKey:A},sessionSettleRequest:U,publishOpts:{internal:{throwOnFailedPublish:!0},tvf:sign_client_dist_E({correlationId:n},this.getTVFApproveParams(R))}}),T.addTrace(dist_rr.session_approve_publish_success)}catch(q){throw this.client.logger.error(q),this.client.session.delete(x,dist_zt("USER_DISCONNECTED")),await this.client.core.relayer.unsubscribe(x),q}return this.client.core.eventClient.deleteEvent({eventId:T.eventId}),await this.client.core.pairing.updateMetadata({topic:w,metadata:g.metadata}),await this.deleteProposal(n),await this.client.core.pairing.activate({topic:w}),await this.setExpiry(x,_i(sign_client_dist_se)),{topic:x,acknowledged:()=>Promise.resolve(this.client.session.get(x))}}),sign_client_dist_c(this,"reject",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidReject(e)}catch(r){throw this.client.logger.error("reject() -> isValidReject() failed"),r}const{id:t,reason:s}=e;let i;try{i=this.client.proposal.get(t).pairingTopic}catch(r){throw this.client.logger.error(`reject() -> proposal.get(${t}) failed`),r}i&&await this.sendError({id:t,topic:i,error:s,rpcOpts:sign_client_dist_N.wc_sessionPropose.reject}),await this.deleteProposal(t)}),sign_client_dist_c(this,"update",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidUpdate(e)}catch(p){throw this.client.logger.error("update() -> isValidUpdate() failed"),p}const{topic:t,namespaces:s}=e,{done:i,resolve:r,reject:n}=Ai(cjs.FIVE_MINUTES,"Session update request expired without receiving any acknowledgement"),a=payloadId(),l=getBigIntRpcId().toString(),h=this.client.session.get(t).namespaces;return this.events.once($i("session_update",a),({error:p})=>{p?n(p):r()}),await this.client.session.update(t,{namespaces:s}),await this.sendRequest({topic:t,method:"wc_sessionUpdate",params:{namespaces:s},throwOnFailedPublish:!0,clientRpcId:a,relayRpcId:l}).catch(p=>{this.client.logger.error(p),this.client.session.update(t,{namespaces:h}),n(p)}),{acknowledged:i}}),sign_client_dist_c(this,"extend",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidExtend(e)}catch(a){throw this.client.logger.error("extend() -> isValidExtend() failed"),a}const{topic:t}=e,s=payloadId(),{done:i,resolve:r,reject:n}=Ai(cjs.FIVE_MINUTES,"Session extend request expired without receiving any acknowledgement");return this.events.once($i("session_extend",s),({error:a})=>{a?n(a):r()}),await this.setExpiry(t,_i(sign_client_dist_se)),this.sendRequest({topic:t,method:"wc_sessionExtend",params:{},clientRpcId:s,throwOnFailedPublish:!0}).catch(a=>{n(a)}),{acknowledged:i}}),sign_client_dist_c(this,"request",async e=>{this.isInitialized();try{await this.isValidRequest(e)}catch(g){throw this.client.logger.error("request() -> isValidRequest() failed"),g}const{chainId:t,request:s,topic:i,expiry:r=sign_client_dist_N.wc_sessionRequest.req.ttl}=e,n=this.client.session.get(i);n?.transportType===core_dist_ee.relay&&await this.confirmOnlineStateOrThrow();const a=payloadId(),l=getBigIntRpcId().toString(),{done:h,resolve:p,reject:y}=Ai(r,"Request expired. Please try again.");this.events.once($i("session_request",a),({error:g,result:f})=>{g?y(g):p(f)});const d="wc_sessionRequest",u=this.getAppLinkIfEnabled(n.peer.metadata,n.transportType);if(u)return await this.sendRequest({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:{request:sign_client_dist_b(sign_client_dist_E({},s),{expiryTimestamp:_i(r)}),chainId:t},expiry:r,throwOnFailedPublish:!0,appLink:u}).catch(g=>y(g)),this.client.events.emit("session_request_sent",{topic:i,request:s,chainId:t,id:a}),await h();const w={request:sign_client_dist_b(sign_client_dist_E({},s),{expiryTimestamp:_i(r)}),chainId:t};return await Promise.all([new Promise(async g=>{await this.sendRequest({clientRpcId:a,relayRpcId:l,topic:i,method:d,params:w,expiry:r,throwOnFailedPublish:!0,tvf:this.getTVFParams(a,w)}).catch(f=>y(f)),this.client.events.emit("session_request_sent",{topic:i,request:s,chainId:t,id:a}),g()}),new Promise(async g=>{var f;if(!((f=n.sessionConfig)!=null&&f.disableDeepLink)){const v=await Ci(this.client.core.storage,sign_client_dist_$e);await Ti({id:a,topic:i,wcDeepLink:v})}g()}),h()]).then(g=>g[2])}),sign_client_dist_c(this,"respond",async e=>{var t,s;this.isInitialized();const i=this.client.core.eventClient.createEvent({properties:{topic:e?.topic||((s=(t=e?.response)==null?void 0:t.id)==null?void 0:s.toString()),trace:[dist_rr.session_request_response_started]}});try{await this.isValidRespond(e)}catch(p){throw i.addTrace(p?.message),i.setError(dist_nr.session_request_response_validation_failure),p}i.addTrace(dist_rr.session_request_response_validation_success);const{topic:r,response:n}=e,{id:a}=n,l=this.client.session.get(r);l.transportType===core_dist_ee.relay&&await this.confirmOnlineStateOrThrow();const h=this.getAppLinkIfEnabled(l.peer.metadata,l.transportType);try{i.addTrace(dist_rr.session_request_response_publish_started),isJsonRpcResult(n)?await this.sendResult({id:a,topic:r,result:n.result,throwOnFailedPublish:!0,appLink:h}):isJsonRpcError(n)&&await this.sendError({id:a,topic:r,error:n.error,appLink:h}),this.cleanupAfterResponse(e)}catch(p){throw i.addTrace(p?.message),i.setError(dist_nr.session_request_response_publish_failure),p}}),sign_client_dist_c(this,"ping",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow();try{await this.isValidPing(e)}catch(s){throw this.client.logger.error("ping() -> isValidPing() failed"),s}const{topic:t}=e;if(this.client.session.keys.includes(t)){const s=payloadId(),i=getBigIntRpcId().toString(),{done:r,resolve:n,reject:a}=Ai(cjs.FIVE_MINUTES,"Ping request expired without receiving any acknowledgement");this.events.once($i("session_ping",s),({error:l})=>{l?a(l):n()}),await Promise.all([this.sendRequest({topic:t,method:"wc_sessionPing",params:{},throwOnFailedPublish:!0,clientRpcId:s,relayRpcId:i}),r()])}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}))}),sign_client_dist_c(this,"emit",async e=>{this.isInitialized(),await this.confirmOnlineStateOrThrow(),await this.isValidEmit(e);const{topic:t,event:s,chainId:i}=e,r=getBigIntRpcId().toString(),n=payloadId();await this.sendRequest({topic:t,method:"wc_sessionEvent",params:{event:s,chainId:i},throwOnFailedPublish:!0,relayRpcId:r,clientRpcId:n})}),sign_client_dist_c(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:dist_zt("USER_DISCONNECTED"),throwOnFailedPublish:!0}),await this.deleteSession({topic:t,emitEvent:!1});else if(this.client.core.pairing.pairings.keys.includes(t))await this.client.core.pairing.disconnect({topic:t});else{const{message:s}=dist_Bt("MISMATCHED_TOPIC",`Session or pairing topic not found: ${t}`);throw new Error(s)}}),sign_client_dist_c(this,"find",e=>(this.isInitialized(),this.client.session.getAll().filter(t=>Wa(t,e)))),sign_client_dist_c(this,"getPendingSessionRequests",()=>this.client.pendingRequest.getAll()),sign_client_dist_c(this,"authenticate",async(e,t)=>{var s;this.isInitialized(),this.isValidAuthenticate(e);const i=t&&this.client.core.linkModeSupportedApps.includes(t)&&((s=this.client.metadata.redirect)==null?void 0:s.linkMode),r=i?core_dist_ee.link_mode:core_dist_ee.relay;r===core_dist_ee.relay&&await this.confirmOnlineStateOrThrow();const{chains:n,statement:a="",uri:l,domain:h,nonce:p,type:y,exp:d,nbf:u,methods:w=[],expiry:g}=e,f=[...e.resources||[]],{topic:v,uri:T}=await this.client.core.pairing.create({methods:["wc_sessionAuthenticate"],transportType:r});this.client.logger.info({message:"Generated new pairing",pairing:{topic:v,uri:T}});const A=await this.client.core.crypto.generateKeyPair(),V=ba(A);if(await Promise.all([this.client.auth.authKeys.set(sign_client_dist_e,{responseTopic:V,publicKey:A}),this.client.auth.pairingTopics.set(V,{topic:V,pairingTopic:v})]),await this.client.core.relayer.subscribe(V,{transportType:r}),this.client.logger.info(`sending request to new pairing topic: ${v}`),w.length>0){const{namespace:C}=dist_Je(n[0]);let D=Zc(C,"request",w);dist_je(f)&&(D=Gc(D,f.pop())),f.push(D)}const x=g&&g>sign_client_dist_N.wc_sessionAuthenticate.req.ttl?g:sign_client_dist_N.wc_sessionAuthenticate.req.ttl,U={authPayload:{type:y??"caip122",chains:n,statement:a,aud:l,domain:h,version:"1",nonce:p,iat:new Date().toISOString(),exp:d,nbf:u,resources:f},requester:{publicKey:A,metadata:this.client.metadata},expiryTimestamp:_i(x)},z={eip155:{chains:n,methods:[...new Set(["personal_sign",...w])],events:["chainChanged","accountsChanged"]}},R={requiredNamespaces:{},optionalNamespaces:z,relays:[{protocol:"irn"}],pairingTopic:v,proposer:{publicKey:A,metadata:this.client.metadata},expiryTimestamp:_i(sign_client_dist_N.wc_sessionPropose.req.ttl),id:payloadId()},{done:q,resolve:ve,reject:ce}=Ai(x,"Request expired"),Y=payloadId(),ie=$i("session_connect",R.id),le=$i("session_request",Y),J=async({error:C,session:D})=>{this.events.off(le,pe),C?ce(C):D&&ve({session:D})},pe=async C=>{var D,je,Fe;if(await this.deletePendingAuthRequest(Y,{message:"fulfilled",code:0}),C.error){const ue=dist_zt("WC_METHOD_UNSUPPORTED","wc_sessionAuthenticate");return C.error.code===ue.code?void 0:(this.events.off(ie,J),ce(C.error.message))}await this.deleteProposal(R.id),this.events.off(ie,J);const{cacaos:He,responder:X}=C.result,Pe=[],Qe=[];for(const ue of He){await Vc({cacao:ue,projectId:this.client.core.projectId})||(this.client.logger.error(ue,"Signature verification failed"),ce(dist_zt("SESSION_SETTLEMENT_FAILED","Signature verification failed")));const{p:Ne}=ue,Oe=dist_je(Ne.resources),ze=[dist_no(Ne.iss)],Tt=bn(Ne.iss);if(Oe){const be=zc(Oe),qt=Yc(Oe);Pe.push(...be),ze.push(...qt)}for(const be of ze)Qe.push(`${be}:${Tt}`)}const de=await this.client.core.crypto.generateSharedKey(A,X.publicKey);let Se;Pe.length>0&&(Se={topic:de,acknowledged:!0,self:{publicKey:A,metadata:this.client.metadata},peer:X,controller:X.publicKey,expiry:_i(sign_client_dist_se),requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:v,namespaces:za([...new Set(Pe)],[...new Set(Qe)]),transportType:r},await this.client.core.relayer.subscribe(de,{transportType:r}),await this.client.session.set(de,Se),v&&await this.client.core.pairing.updateMetadata({topic:v,metadata:X.metadata}),Se=this.client.session.get(de)),(D=this.client.metadata.redirect)!=null&&D.linkMode&&(je=X.metadata.redirect)!=null&&je.linkMode&&(Fe=X.metadata.redirect)!=null&&Fe.universal&&t&&(this.client.core.addLinkModeSupportedApp(X.metadata.redirect.universal),this.client.session.update(de,{transportType:core_dist_ee.link_mode})),ve({auths:He,session:Se})};this.events.once(ie,J),this.events.once(le,pe);let he;try{if(i){const C=formatJsonRpcRequest("wc_sessionAuthenticate",U,Y);this.client.core.history.set(v,C);const D=await this.client.core.crypto.encode("",C,{type:dist_ve,encoding:dist_Ge});he=La(t,v,D)}else await Promise.all([this.sendRequest({topic:v,method:"wc_sessionAuthenticate",params:U,expiry:e.expiry,throwOnFailedPublish:!0,clientRpcId:Y}),this.sendRequest({topic:v,method:"wc_sessionPropose",params:R,expiry:sign_client_dist_N.wc_sessionPropose.req.ttl,throwOnFailedPublish:!0,clientRpcId:R.id})])}catch(C){throw this.events.off(ie,J),this.events.off(le,pe),C}return await this.setProposal(R.id,R),await this.setAuthRequest(Y,{request:sign_client_dist_b(sign_client_dist_E({},U),{verifyContext:{}}),pairingTopic:v,transportType:r}),{uri:he??T,response:q}}),sign_client_dist_c(this,"approveSessionAuthenticate",async e=>{const{id:t,auths:s}=e,i=this.client.core.eventClient.createEvent({properties:{topic:t.toString(),trace:[core_dist_or.authenticated_session_approve_started]}});try{this.isInitialized()}catch(g){throw i.setError(core_dist_ar.no_internet_connection),g}const r=this.getPendingAuthRequest(t);if(!r)throw i.setError(core_dist_ar.authenticated_session_pending_request_not_found),new Error(`Could not find pending auth request with id ${t}`);const n=r.transportType||core_dist_ee.relay;n===core_dist_ee.relay&&await this.confirmOnlineStateOrThrow();const a=r.requester.publicKey,l=await this.client.core.crypto.generateKeyPair(),h=ba(a),p={type:dist_ie,receiverPublicKey:a,senderPublicKey:l},y=[],d=[];for(const g of s){if(!await Vc({cacao:g,projectId:this.client.core.projectId})){i.setError(core_dist_ar.invalid_cacao);const V=dist_zt("SESSION_SETTLEMENT_FAILED","Signature verification failed");throw await this.sendError({id:t,topic:h,error:V,encodeOpts:p}),new Error(V.message)}i.addTrace(core_dist_or.cacaos_verified);const{p:f}=g,v=dist_je(f.resources),T=[dist_no(f.iss)],A=bn(f.iss);if(v){const V=zc(v),x=Yc(v);y.push(...V),T.push(...x)}for(const V of T)d.push(`${V}:${A}`)}const u=await this.client.core.crypto.generateSharedKey(l,a);i.addTrace(core_dist_or.create_authenticated_session_topic);let w;if(y?.length>0){w={topic:u,acknowledged:!0,self:{publicKey:l,metadata:this.client.metadata},peer:{publicKey:a,metadata:r.requester.metadata},controller:a,expiry:_i(sign_client_dist_se),authentication:s,requiredNamespaces:{},optionalNamespaces:{},relay:{protocol:"irn"},pairingTopic:r.pairingTopic,namespaces:za([...new Set(y)],[...new Set(d)]),transportType:n},i.addTrace(core_dist_or.subscribing_authenticated_session_topic);try{await this.client.core.relayer.subscribe(u,{transportType:n})}catch(g){throw i.setError(core_dist_ar.subscribe_authenticated_session_topic_failure),g}i.addTrace(core_dist_or.subscribe_authenticated_session_topic_success),await this.client.session.set(u,w),i.addTrace(core_dist_or.store_authenticated_session),await this.client.core.pairing.updateMetadata({topic:r.pairingTopic,metadata:r.requester.metadata})}i.addTrace(core_dist_or.publishing_authenticated_session_approve);try{await this.sendResult({topic:h,id:t,result:{cacaos:s,responder:{publicKey:l,metadata:this.client.metadata}},encodeOpts:p,throwOnFailedPublish:!0,appLink:this.getAppLinkIfEnabled(r.requester.metadata,n)})}catch(g){throw i.setError(core_dist_ar.authenticated_session_approve_publish_failure),g}return await this.client.auth.requests.delete(t,{message:"fulfilled",code:0}),await this.client.core.pairing.activate({topic:r.pairingTopic}),this.client.core.eventClient.deleteEvent({eventId:i.eventId}),{session:w}}),sign_client_dist_c(this,"rejectSessionAuthenticate",async e=>{this.isInitialized();const{id:t,reason:s}=e,i=this.getPendingAuthRequest(t);if(!i)throw new Error(`Could not find pending auth request with id ${t}`);i.transportType===core_dist_ee.relay&&await this.confirmOnlineStateOrThrow();const r=i.requester.publicKey,n=await this.client.core.crypto.generateKeyPair(),a=ba(r),l={type:dist_ie,receiverPublicKey:r,senderPublicKey:n};await this.sendError({id:t,topic:a,error:s,encodeOpts:l,rpcOpts:sign_client_dist_N.wc_sessionAuthenticate.reject,appLink:this.getAppLinkIfEnabled(i.requester.metadata,i.transportType)}),await this.client.auth.requests.delete(t,{message:"rejected",code:0}),await this.deleteProposal(t)}),sign_client_dist_c(this,"formatAuthMessage",e=>{this.isInitialized();const{request:t,iss:s}=e;return dist_ro(t,s)}),sign_client_dist_c(this,"processRelayMessageCache",()=>{setTimeout(async()=>{if(this.relayMessageCache.length!==0)for(;this.relayMessageCache.length>0;)try{const e=this.relayMessageCache.shift();e&&await this.onRelayMessage(e)}catch(e){this.client.logger.error(e)}},50)}),sign_client_dist_c(this,"cleanupDuplicatePairings",async e=>{if(e.pairingTopic)try{const t=this.client.core.pairing.pairings.get(e.pairingTopic),s=this.client.core.pairing.pairings.getAll().filter(i=>{var r,n;return((r=i.peerMetadata)==null?void 0:r.url)&&((n=i.peerMetadata)==null?void 0:n.url)===e.peer.metadata.url&&i.topic&&i.topic!==t.topic});if(s.length===0)return;this.client.logger.info(`Cleaning up ${s.length} duplicate pairing(s)`),await Promise.all(s.map(i=>this.client.core.pairing.disconnect({topic:i.topic}))),this.client.logger.info("Duplicate pairings clean up finished")}catch(t){this.client.logger.error(t)}}),sign_client_dist_c(this,"deleteSession",async e=>{var t;const{topic:s,expirerHasDeleted:i=!1,emitEvent:r=!0,id:n=0}=e,{self:a}=this.client.session.get(s);await this.client.core.relayer.unsubscribe(s),await this.client.session.delete(s,dist_zt("USER_DISCONNECTED")),this.addToRecentlyDeleted(s,"session"),this.client.core.crypto.keychain.has(a.publicKey)&&await this.client.core.crypto.deleteKeyPair(a.publicKey),this.client.core.crypto.keychain.has(s)&&await this.client.core.crypto.deleteSymKey(s),i||this.client.core.expirer.del(s),this.client.core.storage.removeItem(sign_client_dist_$e).catch(l=>this.client.logger.warn(l)),s===((t=this.sessionRequestQueue.queue[0])==null?void 0:t.topic)&&(this.sessionRequestQueue.state=sign_client_dist_K.idle),await Promise.all(this.getPendingSessionRequests().filter(l=>l.topic===s).map(l=>this.deletePendingSessionRequest(l.id,dist_zt("USER_DISCONNECTED")))),r&&this.client.events.emit("session_delete",{id:n,topic:s})}),sign_client_dist_c(this,"deleteProposal",async(e,t)=>{if(t)try{const s=this.client.proposal.get(e),i=this.client.core.eventClient.getEvent({topic:s.pairingTopic});i?.setError(dist_nr.proposal_expired)}catch{}await Promise.all([this.client.proposal.delete(e,dist_zt("USER_DISCONNECTED")),t?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"proposal")}),sign_client_dist_c(this,"deletePendingSessionRequest",async(e,t,s=!1)=>{await Promise.all([this.client.pendingRequest.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)]),this.addToRecentlyDeleted(e,"request"),this.sessionRequestQueue.queue=this.sessionRequestQueue.queue.filter(i=>i.id!==e),s&&(this.sessionRequestQueue.state=sign_client_dist_K.idle,this.client.events.emit("session_request_expire",{id:e}))}),sign_client_dist_c(this,"deletePendingAuthRequest",async(e,t,s=!1)=>{await Promise.all([this.client.auth.requests.delete(e,t),s?Promise.resolve():this.client.core.expirer.del(e)])}),sign_client_dist_c(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}))}),sign_client_dist_c(this,"setProposal",async(e,t)=>{this.client.core.expirer.set(e,_i(sign_client_dist_N.wc_sessionPropose.req.ttl)),await this.client.proposal.set(e,t)}),sign_client_dist_c(this,"setAuthRequest",async(e,t)=>{const{request:s,pairingTopic:i,transportType:r=core_dist_ee.relay}=t;this.client.core.expirer.set(e,s.expiryTimestamp),await this.client.auth.requests.set(e,{authPayload:s.authPayload,requester:s.requester,expiryTimestamp:s.expiryTimestamp,id:e,pairingTopic:i,verifyContext:s.verifyContext,transportType:r})}),sign_client_dist_c(this,"setPendingSessionRequest",async e=>{const{id:t,topic:s,params:i,verifyContext:r}=e,n=i.request.expiryTimestamp||_i(sign_client_dist_N.wc_sessionRequest.req.ttl);this.client.core.expirer.set(t,n),await this.client.pendingRequest.set(t,{id:t,topic:s,params:i,verifyContext:r})}),sign_client_dist_c(this,"sendRequest",async e=>{const{topic:t,method:s,params:i,expiry:r,relayRpcId:n,clientRpcId:a,throwOnFailedPublish:l,appLink:h,tvf:p,publishOpts:y={}}=e,d=formatJsonRpcRequest(s,i,a);let u;const w=!!h;try{const v=w?dist_Ge:dist_oe;u=await this.client.core.crypto.encode(t,d,{encoding:v})}catch(v){throw await this.cleanup(),this.client.logger.error(`sendRequest() -> core.crypto.encode() for topic ${t} failed`),v}let g;if(sign_client_dist_wt.includes(s)){const v=ya(JSON.stringify(d)),T=ya(u);g=await this.client.core.verify.register({id:T,decryptedId:v})}const f=sign_client_dist_E(sign_client_dist_E({},sign_client_dist_N[s].req),y);if(f.attestation=g,r&&(f.ttl=r),n&&(f.id=n),this.client.core.history.set(t,d),w){const v=La(h,t,u);await global.Linking.openURL(v,this.client.name)}else f.tvf=sign_client_dist_b(sign_client_dist_E({},p),{correlationId:d.id}),l?(f.internal=sign_client_dist_b(sign_client_dist_E({},f.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(t,u,f)):this.client.core.relayer.publish(t,u,f).catch(v=>this.client.logger.error(v));return d.id}),sign_client_dist_c(this,"sendProposeSession",async e=>{const{proposal:t,publishOpts:s}=e,i=formatJsonRpcRequest("wc_sessionPropose",t,t.id);this.client.core.history.set(t.pairingTopic,i);const r=await this.client.core.crypto.encode(t.pairingTopic,i,{encoding:dist_oe}),n=ya(JSON.stringify(i)),a=ya(r),l=await this.client.core.verify.register({id:a,decryptedId:n});await this.client.core.relayer.publishCustom({payload:{pairingTopic:t.pairingTopic,sessionProposal:r},opts:sign_client_dist_b(sign_client_dist_E({},s),{publishMethod:"wc_proposeSession",attestation:l})})}),sign_client_dist_c(this,"sendApproveSession",async e=>{const{sessionTopic:t,pairingProposalResponse:s,proposal:i,sessionSettleRequest:r,publishOpts:n}=e,a=formatJsonRpcResult(i.id,s),l=await this.client.core.crypto.encode(i.pairingTopic,a,{encoding:dist_oe}),h=formatJsonRpcRequest("wc_sessionSettle",r,n?.id),p=await this.client.core.crypto.encode(t,h,{encoding:dist_oe});this.client.core.history.set(t,h),await this.client.core.relayer.publishCustom({payload:{sessionTopic:t,pairingTopic:i.pairingTopic,sessionProposalResponse:l,sessionSettlementRequest:p},opts:sign_client_dist_b(sign_client_dist_E({},n),{publishMethod:"wc_approveSession"})})}),sign_client_dist_c(this,"sendResult",async e=>{const{id:t,topic:s,result:i,throwOnFailedPublish:r,encodeOpts:n,appLink:a}=e,l=formatJsonRpcResult(t,i);let h;const p=a&&typeof(global==null?void 0:global.Linking)<"u";try{const u=p?dist_Ge:dist_oe;h=await this.client.core.crypto.encode(s,l,sign_client_dist_b(sign_client_dist_E({},n||{}),{encoding:u}))}catch(u){throw await this.cleanup(),this.client.logger.error(`sendResult() -> core.crypto.encode() for topic ${s} failed`),u}let y,d;try{y=await this.client.core.history.get(s,t);const u=y.request;try{d=this.getTVFParams(t,u.params,i)}catch(w){this.client.logger.warn(`sendResult() -> getTVFParams() failed: ${w?.message}`)}}catch(u){throw this.client.logger.error(`sendResult() -> history.get(${s}, ${t}) failed`),u}if(p){const u=La(a,s,h);await global.Linking.openURL(u,this.client.name)}else{const u=y.request.method,w=sign_client_dist_N[u].res;w.tvf=sign_client_dist_b(sign_client_dist_E({},d),{correlationId:t}),r?(w.internal=sign_client_dist_b(sign_client_dist_E({},w.internal),{throwOnFailedPublish:!0}),await this.client.core.relayer.publish(s,h,w)):this.client.core.relayer.publish(s,h,w).catch(g=>this.client.logger.error(g))}await this.client.core.history.resolve(l)}),sign_client_dist_c(this,"sendError",async e=>{const{id:t,topic:s,error:i,encodeOpts:r,rpcOpts:n,appLink:a}=e,l=formatJsonRpcError(t,i);let h;const p=a&&typeof(global==null?void 0:global.Linking)<"u";try{const d=p?dist_Ge:dist_oe;h=await this.client.core.crypto.encode(s,l,sign_client_dist_b(sign_client_dist_E({},r||{}),{encoding:d}))}catch(d){throw await this.cleanup(),this.client.logger.error(`sendError() -> core.crypto.encode() for topic ${s} failed`),d}let y;try{y=await this.client.core.history.get(s,t)}catch(d){throw this.client.logger.error(`sendError() -> history.get(${s}, ${t}) failed`),d}if(p){const d=La(a,s,h);await global.Linking.openURL(d,this.client.name)}else{const d=y.request.method,u=n||sign_client_dist_N[d].res;this.client.core.relayer.publish(s,h,u)}await this.client.core.history.resolve(l)}),sign_client_dist_c(this,"cleanup",async()=>{const e=[],t=[];this.client.session.getAll().forEach(s=>{let i=!1;Ri(s.expiry)&&(i=!0),this.client.core.crypto.keychain.has(s.topic)||(i=!0),i&&e.push(s.topic)}),this.client.proposal.getAll().forEach(s=>{Ri(s.expiryTimestamp)&&t.push(s.id)}),await Promise.all([...e.map(s=>this.deleteSession({topic:s})),...t.map(s=>this.deleteProposal(s))])}),sign_client_dist_c(this,"onProviderMessageEvent",async e=>{!this.initialized||this.relayMessageCache.length>0?this.relayMessageCache.push(e):await this.onRelayMessage(e)}),sign_client_dist_c(this,"onRelayEventRequest",async e=>{this.requestQueue.queue.push(e),await this.processRequestsQueue()}),sign_client_dist_c(this,"processRequestsQueue",async()=>{if(this.requestQueue.state===sign_client_dist_K.active){this.client.logger.info("Request queue already active, skipping...");return}for(this.client.logger.info(`Request queue starting with ${this.requestQueue.queue.length} requests`);this.requestQueue.queue.length>0;){this.requestQueue.state=sign_client_dist_K.active;const e=this.requestQueue.queue.shift();if(e)try{await this.processRequest(e)}catch(t){this.client.logger.warn(t)}}this.requestQueue.state=sign_client_dist_K.idle}),sign_client_dist_c(this,"processRequest",async e=>{const{topic:t,payload:s,attestation:i,transportType:r,encryptedId:n}=e,a=s.method;if(!this.shouldIgnorePairingRequest({topic:t,requestMethod:a}))switch(a){case"wc_sessionPropose":return await this.onSessionProposeRequest({topic:t,payload:s,attestation:i,encryptedId:n});case"wc_sessionSettle":return await this.onSessionSettleRequest(t,s);case"wc_sessionUpdate":return await this.onSessionUpdateRequest(t,s);case"wc_sessionExtend":return await this.onSessionExtendRequest(t,s);case"wc_sessionPing":return await this.onSessionPingRequest(t,s);case"wc_sessionDelete":return await this.onSessionDeleteRequest(t,s);case"wc_sessionRequest":return await this.onSessionRequest({topic:t,payload:s,attestation:i,encryptedId:n,transportType:r});case"wc_sessionEvent":return await this.onSessionEventRequest(t,s);case"wc_sessionAuthenticate":return await this.onSessionAuthenticateRequest({topic:t,payload:s,attestation:i,encryptedId:n,transportType:r});default:return this.client.logger.info(`Unsupported request method ${a}`)}}),sign_client_dist_c(this,"onRelayEventResponse",async e=>{const{topic:t,payload:s,transportType:i}=e,r=(await this.client.core.history.get(t,s.id)).request.method;switch(r){case"wc_sessionPropose":return this.onSessionProposeResponse(t,s,i);case"wc_sessionSettle":return this.onSessionSettleResponse(t,s);case"wc_sessionUpdate":return this.onSessionUpdateResponse(t,s);case"wc_sessionExtend":return this.onSessionExtendResponse(t,s);case"wc_sessionPing":return this.onSessionPingResponse(t,s);case"wc_sessionRequest":return this.onSessionRequestResponse(t,s);case"wc_sessionAuthenticate":return this.onSessionAuthenticateResponse(t,s);default:return this.client.logger.info(`Unsupported response method ${r}`)}}),sign_client_dist_c(this,"onRelayEventUnknownPayload",e=>{const{topic:t}=e,{message:s}=dist_Bt("MISSING_OR_INVALID",`Decoded payload on topic ${t} is not identifiable as a JSON-RPC request or a response.`);throw new Error(s)}),sign_client_dist_c(this,"shouldIgnorePairingRequest",e=>{const{topic:t,requestMethod:s}=e,i=this.expectedPairingMethodMap.get(t);return!i||i.includes(s)?!1:!!(i.includes("wc_sessionAuthenticate")&&this.client.events.listenerCount("session_authenticate")>0)}),sign_client_dist_c(this,"onSessionProposeRequest",async e=>{const{topic:t,payload:s,attestation:i,encryptedId:r}=e,{params:n,id:a}=s;try{const l=this.client.core.eventClient.getEvent({topic:t});this.client.events.listenerCount("session_proposal")===0&&(console.warn("No listener for session_proposal event"),l?.setError(core_dist_X.proposal_listener_not_found)),this.isValidConnect(sign_client_dist_E({},s.params));const h=n.expiryTimestamp||_i(sign_client_dist_N.wc_sessionPropose.req.ttl),p=sign_client_dist_E({id:a,pairingTopic:t,expiryTimestamp:h,attestation:i,encryptedId:r},n);await this.setProposal(a,p);const y=await this.getVerifyContext({attestationId:i,hash:ya(JSON.stringify(s)),encryptedId:r,metadata:p.proposer.metadata});l?.addTrace(dist_Y.emit_session_proposal),this.client.events.emit("session_proposal",{id:a,params:p,verifyContext:y})}catch(l){await this.sendError({id:a,topic:t,error:l,rpcOpts:sign_client_dist_N.wc_sessionPropose.autoReject}),this.client.logger.error(l)}}),sign_client_dist_c(this,"onSessionProposeResponse",async(e,t,s)=>{const{id:i}=t;if(isJsonRpcResult(t)){const{result:r}=t;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",result:r});const n=this.client.proposal.get(i);this.client.logger.trace({type:"method",method:"onSessionProposeResponse",proposal:n});const a=n.proposer.publicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",selfPublicKey:a});const l=r.responderPublicKey;this.client.logger.trace({type:"method",method:"onSessionProposeResponse",peerPublicKey:l});const h=await this.client.core.crypto.generateSharedKey(a,l);this.pendingSessions.set(i,{sessionTopic:h,pairingTopic:e,proposalId:i,publicKey:a});const p=await this.client.core.relayer.subscribe(h,{transportType:s});this.client.logger.trace({type:"method",method:"onSessionProposeResponse",subscriptionId:p}),await this.client.core.pairing.activate({topic:e})}else if(isJsonRpcError(t)){await this.deleteProposal(i);const r=$i("session_connect",i);if(this.events.listenerCount(r)===0)throw new Error(`emitting ${r} without any listeners, 954`);this.events.emit(r,{error:t.error})}}),sign_client_dist_c(this,"onSessionSettleRequest",async(e,t)=>{const{id:s,params:i}=t;try{this.isValidSessionSettleRequest(i);const{relay:r,controller:n,expiry:a,namespaces:l,sessionProperties:h,scopedProperties:p,sessionConfig:y,proposalRequestsResponses:d}=t.params,u=[...this.pendingSessions.values()].find(f=>f.sessionTopic===e);if(!u)return this.client.logger.error(`Pending session not found for topic ${e}`);const w=this.client.proposal.get(u.proposalId),g=sign_client_dist_b(sign_client_dist_E(sign_client_dist_E(sign_client_dist_E({topic:e,relay:r,expiry:a,namespaces:l,acknowledged:!0,pairingTopic:u.pairingTopic,requiredNamespaces:w.requiredNamespaces,optionalNamespaces:w.optionalNamespaces,controller:n.publicKey,self:{publicKey:u.publicKey,metadata:this.client.metadata},peer:{publicKey:n.publicKey,metadata:n.metadata}},h&&{sessionProperties:h}),p&&{scopedProperties:p}),y&&{sessionConfig:y}),{transportType:core_dist_ee.relay,authentication:d?.authentication,walletPayResult:d?.walletPay});await this.client.session.set(g.topic,g),await this.setExpiry(g.topic,g.expiry),await this.client.core.pairing.updateMetadata({topic:u.pairingTopic,metadata:g.peer.metadata}),this.pendingSessions.delete(u.proposalId),this.deleteProposal(u.proposalId,!1),this.cleanupDuplicatePairings(g),await this.sendResult({id:t.id,topic:e,throwOnFailedPublish:!0,result:!0}),this.client.events.emit("session_connect",{session:g}),this.events.emit($i("session_connect",u.proposalId),{session:g})}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),sign_client_dist_c(this,"onSessionSettleResponse",async(e,t)=>{const{id:s}=t;isJsonRpcResult(t)?(await this.client.session.update(e,{acknowledged:!0}),this.events.emit($i("session_approve",s),{})):isJsonRpcError(t)&&(await this.client.session.delete(e,dist_zt("USER_DISCONNECTED")),this.events.emit($i("session_approve",s),{error:t.error}))}),sign_client_dist_c(this,"onSessionUpdateRequest",async(e,t)=>{const{params:s,id:i}=t;try{const r=`${e}_session_update`,n=mu.get(r);if(n&&this.isRequestOutOfSync(n,i)){this.client.logger.warn(`Discarding out of sync request - ${i}`),this.sendError({id:i,topic:e,error:dist_zt("INVALID_UPDATE_REQUEST")});return}this.isValidUpdate(sign_client_dist_E({topic:e},s));try{mu.set(r,i),await this.client.session.update(e,{namespaces:s.namespaces}),await this.sendResult({id:i,topic:e,result:!0})}catch(a){throw mu["delete"](r),a}this.client.events.emit("session_update",{id:i,topic:e,params:s})}catch(r){await this.sendError({id:i,topic:e,error:r}),this.client.logger.error(r)}}),sign_client_dist_c(this,"isRequestOutOfSync",(e,t)=>t.toString().slice(0,-3)<e.toString().slice(0,-3)),sign_client_dist_c(this,"onSessionUpdateResponse",(e,t)=>{const{id:s}=t,i=$i("session_update",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);isJsonRpcResult(t)?this.events.emit($i("session_update",s),{}):isJsonRpcError(t)&&this.events.emit($i("session_update",s),{error:t.error})}),sign_client_dist_c(this,"onSessionExtendRequest",async(e,t)=>{const{id:s}=t;try{this.isValidExtend({topic:e}),await this.setExpiry(e,_i(sign_client_dist_se)),await this.sendResult({id:s,topic:e,result:!0}),this.client.events.emit("session_extend",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),sign_client_dist_c(this,"onSessionExtendResponse",(e,t)=>{const{id:s}=t,i=$i("session_extend",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);isJsonRpcResult(t)?this.events.emit($i("session_extend",s),{}):isJsonRpcError(t)&&this.events.emit($i("session_extend",s),{error:t.error})}),sign_client_dist_c(this,"onSessionPingRequest",async(e,t)=>{const{id:s}=t;try{this.isValidPing({topic:e}),await this.sendResult({id:s,topic:e,result:!0,throwOnFailedPublish:!0}),this.client.events.emit("session_ping",{id:s,topic:e})}catch(i){await this.sendError({id:s,topic:e,error:i}),this.client.logger.error(i)}}),sign_client_dist_c(this,"onSessionPingResponse",(e,t)=>{const{id:s}=t,i=$i("session_ping",s);setTimeout(()=>{if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners 2176`);isJsonRpcResult(t)?this.events.emit($i("session_ping",s),{}):isJsonRpcError(t)&&this.events.emit($i("session_ping",s),{error:t.error})},500)}),sign_client_dist_c(this,"onSessionDeleteRequest",async(e,t)=>{const{id:s}=t;try{await this.isValidDisconnect({topic:e,reason:t.params}),this.cleanupPendingSentRequestsForTopic({topic:e,error:dist_zt("USER_DISCONNECTED")}),await this.deleteSession({topic:e,id:s})}catch(i){this.client.logger.error(i)}}),sign_client_dist_c(this,"onSessionRequest",async e=>{var t,s,i;const{topic:r,payload:n,attestation:a,encryptedId:l,transportType:h}=e,{id:p,params:y}=n;try{await this.isValidRequest(sign_client_dist_E({topic:r},y));const d=this.client.session.get(r),u=await this.getVerifyContext({attestationId:a,hash:ya(JSON.stringify(formatJsonRpcRequest("wc_sessionRequest",y,p))),encryptedId:l,metadata:d.peer.metadata,transportType:h}),w={id:p,topic:r,params:y,verifyContext:u};await this.setPendingSessionRequest(w),h===core_dist_ee.link_mode&&(t=d.peer.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp((s=d.peer.metadata.redirect)==null?void 0:s.universal),(i=this.client.signConfig)!=null&&i.disableRequestQueue?this.emitSessionRequest(w):(this.addSessionRequestToSessionRequestQueue(w),this.processSessionRequestQueue())}catch(d){await this.sendError({id:p,topic:r,error:d}),this.client.logger.error(d)}}),sign_client_dist_c(this,"onSessionRequestResponse",(e,t)=>{const{id:s}=t,i=$i("session_request",s);if(this.events.listenerCount(i)===0)throw new Error(`emitting ${i} without any listeners`);isJsonRpcResult(t)?this.events.emit($i("session_request",s),{result:t.result}):isJsonRpcError(t)&&this.events.emit($i("session_request",s),{error:t.error})}),sign_client_dist_c(this,"onSessionEventRequest",async(e,t)=>{const{id:s,params:i}=t;try{const r=`${e}_session_event_${i.event.name}`,n=mu.get(r);if(n&&this.isRequestOutOfSync(n,s)){this.client.logger.info(`Discarding out of sync request - ${s}`);return}this.isValidEmit(sign_client_dist_E({topic:e},i)),this.client.events.emit("session_event",{id:s,topic:e,params:i}),mu.set(r,s)}catch(r){await this.sendError({id:s,topic:e,error:r}),this.client.logger.error(r)}}),sign_client_dist_c(this,"onSessionAuthenticateResponse",(e,t)=>{const{id:s}=t;this.client.logger.trace({type:"method",method:"onSessionAuthenticateResponse",topic:e,payload:t}),isJsonRpcResult(t)?this.events.emit($i("session_request",s),{result:t.result}):isJsonRpcError(t)&&this.events.emit($i("session_request",s),{error:t.error})}),sign_client_dist_c(this,"onSessionAuthenticateRequest",async e=>{var t;const{topic:s,payload:i,attestation:r,encryptedId:n,transportType:a}=e;try{const{requester:l,authPayload:h,expiryTimestamp:p}=i.params,y=await this.getVerifyContext({attestationId:r,hash:ya(JSON.stringify(i)),encryptedId:n,metadata:l.metadata,transportType:a}),d={requester:l,pairingTopic:s,id:i.id,authPayload:h,verifyContext:y,expiryTimestamp:p};await this.setAuthRequest(i.id,{request:d,pairingTopic:s,transportType:a}),a===core_dist_ee.link_mode&&(t=l.metadata.redirect)!=null&&t.universal&&this.client.core.addLinkModeSupportedApp(l.metadata.redirect.universal),this.client.events.emit("session_authenticate",{topic:s,params:i.params,id:i.id,verifyContext:y})}catch(l){this.client.logger.error(l);const h=i.params.requester.publicKey,p=await this.client.core.crypto.generateKeyPair(),y=this.getAppLinkIfEnabled(i.params.requester.metadata,a),d={type:dist_ie,receiverPublicKey:h,senderPublicKey:p};await this.sendError({id:i.id,topic:s,error:l,encodeOpts:d,rpcOpts:sign_client_dist_N.wc_sessionAuthenticate.autoReject,appLink:y})}}),sign_client_dist_c(this,"addSessionRequestToSessionRequestQueue",e=>{this.sessionRequestQueue.queue.push(e)}),sign_client_dist_c(this,"cleanupAfterResponse",e=>{this.deletePendingSessionRequest(e.response.id,{message:"fulfilled",code:0}),setTimeout(()=>{this.sessionRequestQueue.state=sign_client_dist_K.idle,this.processSessionRequestQueue()},(0,cjs.toMiliseconds)(this.requestQueueDelay))}),sign_client_dist_c(this,"cleanupPendingSentRequestsForTopic",({topic:e,error:t})=>{const s=this.client.core.history.pending;s.length>0&&s.filter(i=>i.topic===e&&i.request.method==="wc_sessionRequest").forEach(i=>{this.events.emit($i("session_request",i.request.id),{error:t})})}),sign_client_dist_c(this,"processSessionRequestQueue",()=>{if(this.sessionRequestQueue.state===sign_client_dist_K.active){this.client.logger.info("session request queue is already active.");return}const e=this.sessionRequestQueue.queue[0];if(!e){this.client.logger.info("session request queue is empty.");return}try{this.emitSessionRequest(e)}catch(t){this.client.logger.error(t)}}),sign_client_dist_c(this,"emitSessionRequest",e=>{if(this.emittedSessionRequests.has(e.id)){this.client.logger.warn({id:e.id},`Skipping emitting \`session_request\` event for duplicate request. id: ${e.id}`);return}this.sessionRequestQueue.state=sign_client_dist_K.active,this.emittedSessionRequests.add(e.id),this.client.events.emit("session_request",e)}),sign_client_dist_c(this,"onPairingCreated",e=>{if(e.methods&&this.expectedPairingMethodMap.set(e.topic,e.methods),e.active)return;const t=this.client.proposal.getAll().find(s=>s.pairingTopic===e.topic);t&&this.onSessionProposeRequest({topic:e.topic,payload:formatJsonRpcRequest("wc_sessionPropose",sign_client_dist_b(sign_client_dist_E({},t),{requiredNamespaces:t.requiredNamespaces,optionalNamespaces:t.optionalNamespaces,relays:t.relays,proposer:t.proposer,sessionProperties:t.sessionProperties,scopedProperties:t.scopedProperties}),t.id),attestation:t.attestation,encryptedId:t.encryptedId})}),sign_client_dist_c(this,"isValidConnect",async e=>{if(!ou(e)){const{message:l}=dist_Bt("MISSING_OR_INVALID",`connect() params: ${JSON.stringify(e)}`);throw new Error(l)}const{pairingTopic:t,requiredNamespaces:s,optionalNamespaces:i,sessionProperties:r,scopedProperties:n,relays:a}=e;if(dist_Dt(t)||await this.isValidPairingTopic(t),!nu(a,!0)){const{message:l}=dist_Bt("MISSING_OR_INVALID",`connect() relays: ${a}`);throw new Error(l)}if(s&&!dist_Dt(s)&&dist_Ye(s)!==0){const l="requiredNamespaces are deprecated and are automatically assigned to optionalNamespaces";["fatal","error","silent"].includes(this.client.logger.level)?console.warn(l):this.client.logger.warn(l),this.validateNamespaces(s,"requiredNamespaces")}if(i&&!dist_Dt(i)&&dist_Ye(i)!==0&&this.validateNamespaces(i,"optionalNamespaces"),r&&!dist_Dt(r)&&this.validateSessionProps(r,"sessionProperties"),n&&!dist_Dt(n)){this.validateSessionProps(n,"scopedProperties");const l=Object.keys(s||{}).concat(Object.keys(i||{}));if(!Object.keys(n).every(h=>l.includes(h.split(":")[0])))throw new Error(`Scoped properties must be a subset of required/optional namespaces, received: ${JSON.stringify(n)}, required/optional namespaces: ${JSON.stringify(l)}`)}}),sign_client_dist_c(this,"validateNamespaces",(e,t)=>{const s=eu(e,"connect()",t);if(s)throw new Error(s.message)}),sign_client_dist_c(this,"isValidApprove",async e=>{if(!ou(e))throw new Error(dist_Bt("MISSING_OR_INVALID",`approve() params: ${e}`).message);const{id:t,namespaces:s,relayProtocol:i,sessionProperties:r,scopedProperties:n}=e;this.checkRecentlyDeleted(t),await this.isValidProposalId(t);const a=this.client.proposal.get(t),l=Ns(s,"approve()");if(l)throw new Error(l.message);const h=_s(a.requiredNamespaces,s,"approve()");if(h)throw new Error(h.message);if(!dist_ft(i,!0)){const{message:p}=dist_Bt("MISSING_OR_INVALID",`approve() relayProtocol: ${i}`);throw new Error(p)}if(r&&!dist_Dt(r)&&this.validateSessionProps(r,"sessionProperties"),n&&!dist_Dt(n)){this.validateSessionProps(n,"scopedProperties");const p=new Set(Object.keys(s));if(!Object.keys(n).every(y=>p.has(y.split(":")[0])))throw new Error(`Scoped properties must be a subset of approved namespaces, received: ${JSON.stringify(n)}, approved namespaces: ${Array.from(p).join(", ")}`)}}),sign_client_dist_c(this,"isValidReject",async e=>{if(!ou(e)){const{message:i}=dist_Bt("MISSING_OR_INVALID",`reject() params: ${e}`);throw new Error(i)}const{id:t,reason:s}=e;if(this.checkRecentlyDeleted(t),await this.isValidProposalId(t),!su(s)){const{message:i}=dist_Bt("MISSING_OR_INVALID",`reject() reason: ${JSON.stringify(s)}`);throw new Error(i)}}),sign_client_dist_c(this,"isValidSessionSettleRequest",e=>{if(!ou(e)){const{message:l}=dist_Bt("MISSING_OR_INVALID",`onSessionSettleRequest() params: ${e}`);throw new Error(l)}const{relay:t,controller:s,namespaces:i,expiry:r}=e;if(!Us(t)){const{message:l}=dist_Bt("MISSING_OR_INVALID","onSessionSettleRequest() relay protocol should be a string");throw new Error(l)}const n=tu(s,"onSessionSettleRequest()");if(n)throw new Error(n.message);const a=Ns(i,"onSessionSettleRequest()");if(a)throw new Error(a.message);if(Ri(r)){const{message:l}=dist_Bt("EXPIRED","onSessionSettleRequest()");throw new Error(l)}}),sign_client_dist_c(this,"isValidUpdate",async e=>{if(!ou(e)){const{message:a}=dist_Bt("MISSING_OR_INVALID",`update() params: ${e}`);throw new Error(a)}const{topic:t,namespaces:s}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const i=this.client.session.get(t),r=Ns(s,"update()");if(r)throw new Error(r.message);const n=_s(i.requiredNamespaces,s,"update()");if(n)throw new Error(n.message)}),sign_client_dist_c(this,"isValidExtend",async e=>{if(!ou(e)){const{message:s}=dist_Bt("MISSING_OR_INVALID",`extend() params: ${e}`);throw new Error(s)}const{topic:t}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t)}),sign_client_dist_c(this,"isValidRequest",async e=>{if(!ou(e)){const{message:a}=dist_Bt("MISSING_OR_INVALID",`request() params: ${e}`);throw new Error(a)}const{topic:t,request:s,chainId:i,expiry:r}=e;this.checkRecentlyDeleted(t),await this.isValidSessionTopic(t);const{namespaces:n}=this.client.session.get(t);if(!au(n,i)){const{message:a}=dist_Bt("MISSING_OR_INVALID",`request() chainId: ${i}`);throw new Error(a)}if(!iu(s)){const{message:a}=dist_Bt("MISSING_OR_INVALID",`request() ${JSON.stringify(s)}`);throw new Error(a)}if(!uu(n,i,s.method)){const{message:a}=dist_Bt("MISSING_OR_INVALID",`request() method: ${s.method}`);throw new Error(a)}this.validateRequestExpiry(r)}),sign_client_dist_c(this,"isValidRespond",async e=>{var t;if(!ou(e)){const{message:n}=dist_Bt("MISSING_OR_INVALID",`respond() params: ${e}`);throw new Error(n)}const{topic:s,response:i}=e;try{await this.isValidSessionTopic(s)}catch(n){throw(t=e?.response)!=null&&t.id&&this.cleanupAfterResponse(e),n}if(!cu(i)){const{message:n}=dist_Bt("MISSING_OR_INVALID",`respond() response: ${JSON.stringify(i)}`);throw new Error(n)}const r=this.client.pendingRequest.get(i.id);if(r.topic!==s){const{message:n}=dist_Bt("MISMATCHED_TOPIC",`Request response topic mismatch. reqId: ${i.id}, expected topic: ${r.topic}, received topic: ${s}`);throw new Error(n)}}),sign_client_dist_c(this,"isValidPing",async e=>{if(!ou(e)){const{message:s}=dist_Bt("MISSING_OR_INVALID",`ping() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),sign_client_dist_c(this,"isValidEmit",async e=>{if(!ou(e)){const{message:n}=dist_Bt("MISSING_OR_INVALID",`emit() params: ${e}`);throw new Error(n)}const{topic:t,event:s,chainId:i}=e;await this.isValidSessionTopic(t);const{namespaces:r}=this.client.session.get(t);if(!au(r,i)){const{message:n}=dist_Bt("MISSING_OR_INVALID",`emit() chainId: ${i}`);throw new Error(n)}if(!fu(s)){const{message:n}=dist_Bt("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(s)}`);throw new Error(n)}if(!lu(r,i,s.name)){const{message:n}=dist_Bt("MISSING_OR_INVALID",`emit() event: ${JSON.stringify(s)}`);throw new Error(n)}}),sign_client_dist_c(this,"isValidDisconnect",async e=>{if(!ou(e)){const{message:s}=dist_Bt("MISSING_OR_INVALID",`disconnect() params: ${e}`);throw new Error(s)}const{topic:t}=e;await this.isValidSessionOrPairingTopic(t)}),sign_client_dist_c(this,"isValidAuthenticate",e=>{const{chains:t,uri:s,domain:i,nonce:r}=e;if(!Array.isArray(t)||t.length===0)throw new Error("chains is required and must be a non-empty array");if(!dist_ft(s,!1))throw new Error("uri is required parameter");if(!dist_ft(i,!1))throw new Error("domain is required parameter");if(!dist_ft(r,!1))throw new Error("nonce is required parameter");if([...new Set(t.map(a=>dist_Je(a).namespace))].length>1)throw new Error("Multi-namespace requests are not supported. Please request single namespace only.");const{namespace:n}=dist_Je(t[0]);if(n!=="eip155")throw new Error("Only eip155 namespace is supported for authenticated sessions. Please use .connect() for non-eip155 chains.")}),sign_client_dist_c(this,"getVerifyContext",async e=>{const{attestationId:t,hash:s,encryptedId:i,metadata:r,transportType:n}=e,a={verified:{verifyUrl:r.verifyUrl||core_dist_be,validation:"UNKNOWN",origin:r.url||""}};try{if(n===core_dist_ee.link_mode){const h=this.getAppLinkIfEnabled(r,n);return a.verified.validation=h&&new URL(h).origin===new URL(r.url).origin?"VALID":"INVALID",a}const l=await this.client.core.verify.resolve({attestationId:t,hash:s,encryptedId:i,verifyUrl:r.verifyUrl});l&&(a.verified.origin=l.origin,a.verified.isScam=l.isScam,a.verified.validation=l.origin===new URL(r.url).origin?"VALID":"INVALID")}catch(l){this.client.logger.warn(l)}return this.client.logger.debug(`Verify context: ${JSON.stringify(a)}`),a}),sign_client_dist_c(this,"validateSessionProps",(e,t)=>{Object.values(e).forEach((s,i)=>{if(s==null){const{message:r}=dist_Bt("MISSING_OR_INVALID",`${t} must contain an existing value for each key. Received: ${s} for key ${Object.keys(e)[i]}`);throw new Error(r)}})}),sign_client_dist_c(this,"getPendingAuthRequest",e=>{const t=this.client.auth.requests.get(e);return typeof t=="object"?t:void 0}),sign_client_dist_c(this,"addToRecentlyDeleted",(e,t)=>{if(this.recentlyDeletedMap.set(e,t),this.recentlyDeletedMap.size>=this.recentlyDeletedLimit){let s=0;const i=this.recentlyDeletedLimit/2;for(const r of this.recentlyDeletedMap.keys()){if(s++>=i)break;this.recentlyDeletedMap.delete(r)}}}),sign_client_dist_c(this,"checkRecentlyDeleted",e=>{const t=this.recentlyDeletedMap.get(e);if(t){const{message:s}=dist_Bt("MISSING_OR_INVALID",`Record was recently deleted - ${t}: ${e}`);throw new Error(s)}}),sign_client_dist_c(this,"isLinkModeEnabled",(e,t)=>{var s,i,r,n,a,l,h,p,y;return!e||t!==core_dist_ee.link_mode?!1:((i=(s=this.client.metadata)==null?void 0:s.redirect)==null?void 0:i.linkMode)===!0&&((n=(r=this.client.metadata)==null?void 0:r.redirect)==null?void 0:n.universal)!==void 0&&((l=(a=this.client.metadata)==null?void 0:a.redirect)==null?void 0:l.universal)!==""&&((h=e?.redirect)==null?void 0:h.universal)!==void 0&&((p=e?.redirect)==null?void 0:p.universal)!==""&&((y=e?.redirect)==null?void 0:y.linkMode)===!0&&this.client.core.linkModeSupportedApps.includes(e.redirect.universal)&&typeof(global==null?void 0:global.Linking)<"u"}),sign_client_dist_c(this,"getAppLinkIfEnabled",(e,t)=>{var s;return this.isLinkModeEnabled(e,t)?(s=e?.redirect)==null?void 0:s.universal:void 0}),sign_client_dist_c(this,"handleLinkModeMessage",({url:e})=>{if(!e||!e.includes("wc_ev")||!e.includes("topic"))return;const t=ji(e,"topic")||"",s=decodeURIComponent(ji(e,"wc_ev")||""),i=this.client.session.keys.includes(t);i&&this.client.session.update(t,{transportType:core_dist_ee.link_mode}),this.client.core.dispatchEnvelope({topic:t,message:s,sessionExists:i})}),sign_client_dist_c(this,"registerLinkModeListeners",async()=>{var e;if(ki()||dist_It()&&(e=this.client.metadata.redirect)!=null&&e.linkMode){const t=global==null?void 0:global.Linking;if(typeof t<"u"){t.addEventListener("url",this.handleLinkModeMessage,this.client.name);const s=await t.getInitialURL();s&&setTimeout(()=>{this.handleLinkModeMessage({url:s})},50)}}}),sign_client_dist_c(this,"getTVFApproveParams",e=>{try{const t=gs(e.namespaces),s=qa(e.namespaces),i=Fa(e.namespaces),r=e.sessionProperties,n=e.scopedProperties;return{approvedChains:t,approvedMethods:s,approvedEvents:i,sessionProperties:r,scopedProperties:n}}catch(t){return this.client.logger.warn(t,"Error getting TVF approve params"),{}}}),sign_client_dist_c(this,"getTVFParams",(e,t,s)=>{var i,r,n;if(!((i=t.request)!=null&&i.method))return{};const a={correlationId:e,rpcMethods:[t.request.method],chainId:t.chainId};try{const l=this.extractTxHashesFromResult(t.request,s);a.txHashes=l,a.contractAddresses=this.isValidContractData(t.request.params)?[(n=(r=t.request.params)==null?void 0:r[0])==null?void 0:n.to]:[]}catch(l){this.client.logger.warn(l,"Error getting TVF params")}return a}),sign_client_dist_c(this,"isValidContractData",e=>{var t;if(!e)return!1;try{const s=e?.data||((t=e?.[0])==null?void 0:t.data);if(!s.startsWith("0x"))return!1;const i=s.slice(2);return/^[0-9a-fA-F]*$/.test(i)?i.length%2===0:!1}catch{}return!1}),sign_client_dist_c(this,"extractTxHashesFromResult",(e,t)=>{var s;try{if(!t)return[];const i=e.method,r=sign_client_dist_yt[i];if(i==="sui_signTransaction")return[Uc(t.transactionBytes)];if(i==="near_signTransaction")return[utils_dist_c(t)];if(i==="near_signTransactions")return t.map(a=>utils_dist_c(a));if(i==="xrpl_signTransactionFor"||i==="xrpl_signTransaction")return[(s=t.tx_json)==null?void 0:s.hash];if(i==="polkadot_signTransaction")return[Bu({transaction:e.params.transactionPayload,signature:t.signature})];if(i==="algo_signTxn")return dist_Be(t)?t.map(a=>Rc(a)):[Rc(t)];if(i==="cosmos_signDirect")return[$c(t)];if(i==="wallet_sendCalls")return Tc(t);if(typeof t=="string")return[t];const n=t[r.key];if(dist_Be(n))return i==="solana_signAllTransactions"?n.map(a=>Nc(a)):n;if(typeof n=="string")return[n]}catch(i){this.client.logger.warn(i,"Error extracting tx hashes from result")}return[]})}async processPendingMessageEvents(){try{const o=this.client.session.keys,e=this.client.core.relayer.messages.getWithoutAck(o);for(const[t,s]of Object.entries(e))for(const i of s)try{await this.onProviderMessageEvent({topic:t,message:i,publishedAt:Date.now()})}catch{this.client.logger.warn(`Error processing pending message event for topic: ${t}, message: ${i}`)}}catch(o){this.client.logger.warn(o,"processPendingMessageEvents failed")}}isInitialized(){if(!this.initialized){const{message:o}=dist_Bt("NOT_INITIALIZED",this.name);throw new Error(o)}}async confirmOnlineStateOrThrow(){await this.client.core.relayer.confirmOnlineStateOrThrow()}registerRelayerEvents(){this.client.core.relayer.on(core_dist_C.message,o=>{this.onProviderMessageEvent(o)})}async onRelayMessage(o){const{topic:e,message:t,attestation:s,transportType:i}=o,{publicKey:r}=this.client.auth.authKeys.keys.includes(sign_client_dist_e)?this.client.auth.authKeys.get(sign_client_dist_e):{responseTopic:void 0,publicKey:void 0};try{const n=await this.client.core.crypto.decode(e,t,{receiverPublicKey:r,encoding:i===core_dist_ee.link_mode?dist_Ge:dist_oe});isJsonRpcRequest(n)?(this.client.core.history.set(e,n),await this.onRelayEventRequest({topic:e,payload:n,attestation:s,transportType:i,encryptedId:ya(t)})):isJsonRpcResponse(n)?(await this.client.core.history.resolve(n),await this.onRelayEventResponse({topic:e,payload:n,transportType:i}),this.client.core.history.delete(e,n.id)):(this.client.logger.error(`onRelayMessage() -> unknown payload: ${JSON.stringify(n)}`),await this.onRelayEventUnknownPayload({topic:e,payload:n,transportType:i})),await this.client.core.relayer.messages.ack(e,t)}catch(n){this.client.logger.error(`onRelayMessage() -> failed to process an inbound message: ${t}`),this.client.logger.error(n)}}registerExpirerEvents(){this.client.core.expirer.on(dist_q.expired,async o=>{const{topic:e,id:t}=Ui(o.target);if(t&&this.client.pendingRequest.keys.includes(t))return await this.deletePendingSessionRequest(t,dist_Bt("EXPIRED"),!0);if(t&&this.client.auth.requests.keys.includes(t))return await this.deletePendingAuthRequest(t,dist_Bt("EXPIRED"),!0);e?this.client.session.keys.includes(e)&&(await this.deleteSession({topic:e,expirerHasDeleted:!0}),this.client.events.emit("session_expire",{topic:e})):t&&(await this.deleteProposal(t,!0),this.client.events.emit("proposal_expire",{id:t}))})}registerPairingEvents(){this.client.core.pairing.events.on(dist_ae.create,o=>this.onPairingCreated(o)),this.client.core.pairing.events.on(dist_ae["delete"],o=>{this.addToRecentlyDeleted(o.topic,"pairing")})}isValidPairingTopic(o){if(!dist_ft(o,!1)){const{message:e}=dist_Bt("MISSING_OR_INVALID",`pairing topic should be a string: ${o}`);throw new Error(e)}if(!this.client.core.pairing.pairings.keys.includes(o)){const{message:e}=dist_Bt("NO_MATCHING_KEY",`pairing topic doesn't exist: ${o}`);throw new Error(e)}if(Ri(this.client.core.pairing.pairings.get(o).expiry)){const{message:e}=dist_Bt("EXPIRED",`pairing topic: ${o}`);throw new Error(e)}}async isValidSessionTopic(o){if(!dist_ft(o,!1)){const{message:e}=dist_Bt("MISSING_OR_INVALID",`session topic should be a string: ${o}`);throw new Error(e)}if(this.checkRecentlyDeleted(o),!this.client.session.keys.includes(o)){const{message:e}=dist_Bt("NO_MATCHING_KEY",`session topic doesn't exist: ${o}`);throw new Error(e)}if(Ri(this.client.session.get(o).expiry)){await this.deleteSession({topic:o});const{message:e}=dist_Bt("EXPIRED",`session topic: ${o}`);throw new Error(e)}if(!this.client.core.crypto.keychain.has(o)){const{message:e}=dist_Bt("MISSING_OR_INVALID",`session topic does not exist in keychain: ${o}`);throw await this.deleteSession({topic:o}),new Error(e)}}async isValidSessionOrPairingTopic(o){if(this.checkRecentlyDeleted(o),this.client.session.keys.includes(o))await this.isValidSessionTopic(o);else if(this.client.core.pairing.pairings.keys.includes(o))this.isValidPairingTopic(o);else if(dist_ft(o,!1)){const{message:e}=dist_Bt("NO_MATCHING_KEY",`session or pairing topic doesn't exist: ${o}`);throw new Error(e)}else{const{message:e}=dist_Bt("MISSING_OR_INVALID",`session or pairing topic should be a string: ${o}`);throw new Error(e)}}async isValidProposalId(o){if(!ru(o)){const{message:e}=dist_Bt("MISSING_OR_INVALID",`proposal id should be a number: ${o}`);throw new Error(e)}if(!this.client.proposal.keys.includes(o)){const{message:e}=dist_Bt("NO_MATCHING_KEY",`proposal id doesn't exist: ${o}`);throw new Error(e)}if(Ri(this.client.proposal.get(o).expiryTimestamp)){await this.deleteProposal(o);const{message:e}=dist_Bt("EXPIRED",`proposal id: ${o}`);throw new Error(e)}}validateRequestExpiry(o){if(o&&!pu(o,sign_client_dist_Te)){const{message:e}=dist_Bt("MISSING_OR_INVALID",`request() expiry: ${o}. Expiry must be a number (in seconds) between ${sign_client_dist_Te.min} and ${sign_client_dist_Te.max}`);throw new Error(e)}}}class dist_Ls extends dist_ji{constructor(o,e){super(o,e,sign_client_dist_dt,sign_client_dist_Re),this.core=o,this.logger=e}}class sign_client_dist_It extends dist_ji{constructor(o,e){super(o,e,sign_client_dist_ut,sign_client_dist_Re),this.core=o,this.logger=e}}class Ms extends dist_ji{constructor(o,e){super(o,e,sign_client_dist_mt,sign_client_dist_Re,t=>t.id),this.core=o,this.logger=e}}class dist_$s extends dist_ji{constructor(o,e){super(o,e,sign_client_dist_St,sign_client_dist_we,()=>sign_client_dist_e),this.core=o,this.logger=e}}class Ks extends dist_ji{constructor(o,e){super(o,e,sign_client_dist_Et,sign_client_dist_we),this.core=o,this.logger=e}}class dist_Us extends dist_ji{constructor(o,e){super(o,e,sign_client_dist_ft,sign_client_dist_we,t=>t.id),this.core=o,this.logger=e}}var Gs=Object.defineProperty,dist_js=(S,o,e)=>o in S?Gs(S,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[o]=e,sign_client_dist_Ge=(S,o,e)=>dist_js(S,typeof o!="symbol"?o+"":o,e);class Fs{constructor(o,e){this.core=o,this.logger=e,sign_client_dist_Ge(this,"authKeys"),sign_client_dist_Ge(this,"pairingTopics"),sign_client_dist_Ge(this,"requests"),this.authKeys=new dist_$s(this.core,this.logger),this.pairingTopics=new Ks(this.core,this.logger),this.requests=new dist_Us(this.core,this.logger)}async init(){await this.authKeys.init(),await this.pairingTopics.init(),await this.requests.init()}}var dist_Hs=Object.defineProperty,sign_client_dist_Qs=(S,o,e)=>o in S?dist_Hs(S,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):S[o]=e,dist_=(S,o,e)=>sign_client_dist_Qs(S,typeof o!="symbol"?o+"":o,e);class sign_client_dist_qe extends dist_J{constructor(o){super(o),dist_(this,"protocol",sign_client_dist_De),dist_(this,"version",sign_client_dist_Le),dist_(this,"name",sign_client_dist_Ie.name),dist_(this,"metadata"),dist_(this,"core"),dist_(this,"logger"),dist_(this,"events",new external_events_.EventEmitter),dist_(this,"engine"),dist_(this,"session"),dist_(this,"proposal"),dist_(this,"pendingRequest"),dist_(this,"auth"),dist_(this,"signConfig"),dist_(this,"on",(t,s)=>this.events.on(t,s)),dist_(this,"once",(t,s)=>this.events.once(t,s)),dist_(this,"off",(t,s)=>this.events.off(t,s)),dist_(this,"removeListener",(t,s)=>this.events.removeListener(t,s)),dist_(this,"removeAllListeners",t=>this.events.removeAllListeners(t)),dist_(this,"connect",async t=>{try{return await this.engine.connect(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"pair",async t=>{try{return await this.engine.pair(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"approve",async t=>{try{return await this.engine.approve(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"reject",async t=>{try{return await this.engine.reject(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"update",async t=>{try{return await this.engine.update(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"extend",async t=>{try{return await this.engine.extend(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"request",async t=>{try{return await this.engine.request(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"respond",async t=>{try{return await this.engine.respond(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"ping",async t=>{try{return await this.engine.ping(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"emit",async t=>{try{return await this.engine.emit(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"disconnect",async t=>{try{return await this.engine.disconnect(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"find",t=>{try{return this.engine.find(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"getPendingSessionRequests",()=>{try{return this.engine.getPendingSessionRequests()}catch(t){throw this.logger.error(t.message),t}}),dist_(this,"authenticate",async(t,s)=>{try{return await this.engine.authenticate(t,s)}catch(i){throw this.logger.error(i.message),i}}),dist_(this,"formatAuthMessage",t=>{try{return this.engine.formatAuthMessage(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"approveSessionAuthenticate",async t=>{try{return await this.engine.approveSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),dist_(this,"rejectSessionAuthenticate",async t=>{try{return await this.engine.rejectSessionAuthenticate(t)}catch(s){throw this.logger.error(s.message),s}}),this.name=o?.name||sign_client_dist_Ie.name,this.metadata=pi(o?.metadata),this.signConfig=o?.signConfig;const e=Iu({logger:o?.logger||sign_client_dist_Ie.logger,name:this.name});this.logger=e,this.core=o?.core||new dist_ta(o),this.session=new sign_client_dist_It(this.core,this.logger),this.proposal=new dist_Ls(this.core,this.logger),this.pendingRequest=new Ms(this.core,this.logger),this.engine=new Ds(this),this.auth=new Fs(this.core,this.logger)}static async init(o){const e=new sign_client_dist_qe(o);return await e.initialize(),e}get context(){return index_es_ee(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")}catch(o){throw this.logger.info("SignClient Initialization Failure"),this.logger.error(o.message),o}}}const zs=(/* unused pure expression or super */ null && (sign_client_dist_It)),Ys=(/* unused pure expression or super */ null && (sign_client_dist_qe));
|
|
15088
15088
|
//# sourceMappingURL=index.js.map
|
|
15089
15089
|
|