UNPKG

@safe-stars/components

Version:

React component library for buying Telegram Stars in Telegram Mini Apps via Safe Stars.

1,780 lines (1,779 loc) 1.13 MB
import { jsx as te, jsxs as Ne, Fragment as Vw } from "react/jsx-runtime"; import { createContext as jf, useState as Dt, useContext as qf, useEffect as ns } from "react"; import { TonConnectUIProvider as Hw, useTonConnectUI as Kw, useTonWallet as Qw, TonConnectButton as Ww } from "@tonconnect/ui-react"; import { recoverAddress as zw, formatUnits as Yw, http as Ca, fallback as Ed, toHex as Cd, parseUnits as Gw, erc20Abi as Zw } from "viem"; import { WagmiProvider as Xw, useAccount as Jw, useWriteContract as $w, useWaitForTransactionReceipt as eA } from "wagmi"; import { QueryClient as tA, QueryClientProvider as rA } from "@tanstack/react-query"; import { WagmiAdapter as nA } from "@reown/appkit-adapter-wagmi"; import { useLaunchParams as sA } from "@telegram-apps/sdk-react"; import { TonClient as iA, beginCell as oA, Address as bd, toNano as aA } from "@ton/ton"; import { Address as vd, beginCell as cA } from "@ton/core"; const lA = Symbol(), Id = Object.getPrototypeOf, Gl = /* @__PURE__ */ new WeakMap(), uA = (t) => t && (Gl.has(t) ? Gl.get(t) : Id(t) === Object.prototype || Id(t) === Array.prototype), dA = (t) => uA(t) && t[lA] || null, Sd = (t, e = !0) => { Gl.set(t, e); }, tc = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_ALCHEMY_API_KEY: "AVZOLX4DZCb05tWceBfY3SV3tF3NSNsF", VITE_API_URL: "https://tg-stars.open-lend.io", VITE_TON_API_KEY: "471a2394ca78b1282cd32211ca061f9a6a2dc7852edd99969c0825d429137c68" }, Gc = (t) => typeof t == "object" && t !== null, Qn = /* @__PURE__ */ new WeakMap(), co = /* @__PURE__ */ new WeakSet(), hA = (t = Object.is, e = (l, u) => new Proxy(l, u), r = (l) => Gc(l) && !co.has(l) && (Array.isArray(l) || !(Symbol.iterator in l)) && !(l instanceof WeakMap) && !(l instanceof WeakSet) && !(l instanceof Error) && !(l instanceof Number) && !(l instanceof Date) && !(l instanceof String) && !(l instanceof RegExp) && !(l instanceof ArrayBuffer), n = (l) => { switch (l.status) { case "fulfilled": return l.value; case "rejected": throw l.reason; default: throw l; } }, s = /* @__PURE__ */ new WeakMap(), i = (l, u, d = n) => { const f = s.get(l); if ((f == null ? void 0 : f[0]) === u) return f[1]; const g = Array.isArray(l) ? [] : Object.create(Object.getPrototypeOf(l)); return Sd(g, !0), s.set(l, [u, g]), Reflect.ownKeys(l).forEach((m) => { if (Object.getOwnPropertyDescriptor(g, m)) return; const w = Reflect.get(l, m), { enumerable: E } = Reflect.getOwnPropertyDescriptor( l, m ), I = { value: w, enumerable: E, // This is intentional to avoid copying with proxy-compare. // It's still non-writable, so it avoids assigning a value. configurable: !0 }; if (co.has(w)) Sd(w, !1); else if (w instanceof Promise) delete I.value, I.get = () => d(w); else if (Qn.has(w)) { const [S, R] = Qn.get( w ); I.value = i( S, R(), d ); } Object.defineProperty(g, m, I); }), Object.preventExtensions(g); }, o = /* @__PURE__ */ new WeakMap(), a = [1, 1], c = (l) => { if (!Gc(l)) throw new Error("object required"); const u = o.get(l); if (u) return u; let d = a[0]; const f = /* @__PURE__ */ new Set(), g = (P, K = ++a[0]) => { d !== K && (d = K, f.forEach((j) => j(P, K))); }; let m = a[1]; const w = (P = ++a[1]) => (m !== P && !f.size && (m = P, I.forEach(([K]) => { const j = K[1](P); j > d && (d = j); })), d), E = (P) => (K, j) => { const Q = [...K]; Q[1] = [P, ...Q[1]], g(Q, j); }, I = /* @__PURE__ */ new Map(), S = (P, K) => { if ((tc ? "production" : void 0) !== "production" && I.has(P)) throw new Error("prop listener already exists"); if (f.size) { const j = K[3](E(P)); I.set(P, [K, j]); } else I.set(P, [K]); }, R = (P) => { var K; const j = I.get(P); j && (I.delete(P), (K = j[1]) == null || K.call(j)); }, T = (P) => (f.add(P), f.size === 1 && I.forEach(([j, Q], le) => { if ((tc ? "production" : void 0) !== "production" && Q) throw new Error("remove already exists"); const q = j[3](E(le)); I.set(le, [j, q]); }), () => { f.delete(P), f.size === 0 && I.forEach(([j, Q], le) => { Q && (Q(), I.set(le, [j])); }); }), B = Array.isArray(l) ? [] : Object.create(Object.getPrototypeOf(l)), F = e(B, { deleteProperty(P, K) { const j = Reflect.get(P, K); R(K); const Q = Reflect.deleteProperty(P, K); return Q && g(["delete", [K], j]), Q; }, set(P, K, j, Q) { const le = Reflect.has(P, K), q = Reflect.get(P, K, Q); if (le && (t(q, j) || o.has(j) && t(q, o.get(j)))) return !0; R(K), Gc(j) && (j = dA(j) || j); let C = j; if (j instanceof Promise) j.then((v) => { j.status = "fulfilled", j.value = v, g(["resolve", [K], v]); }).catch((v) => { j.status = "rejected", j.reason = v, g(["reject", [K], v]); }); else { !Qn.has(j) && r(j) && (C = c(j)); const v = !co.has(C) && Qn.get(C); v && S(K, v); } return Reflect.set(P, K, C, Q), g(["set", [K], j, q]), !0; } }); o.set(l, F); const L = [ B, w, i, T ]; return Qn.set(F, L), Reflect.ownKeys(l).forEach((P) => { const K = Object.getOwnPropertyDescriptor( l, P ); "value" in K && (F[P] = l[P], delete K.value, delete K.writable), Object.defineProperty(B, P, K); }), F; }) => [ // public functions c, // shared state Qn, co, // internal things t, e, r, n, s, i, o, a ], [pA] = hA(); function lt(t = {}) { return pA(t); } function Xt(t, e, r) { const n = Qn.get(t); (tc ? "production" : void 0) !== "production" && !n && console.warn("Please use proxy object"); let s; const i = [], o = n[3]; let a = !1; const l = o((u) => { i.push(u), s || (s = Promise.resolve().then(() => { s = void 0, a && e(i.splice(0)); })); }); return a = !0, () => { a = !1, l(); }; } function Ro(t, e) { const r = Qn.get(t); (tc ? "production" : void 0) !== "production" && !r && console.warn("Please use proxy object"); const [n, s, i] = r; return i(n, s(), e); } function Ts(t) { return co.add(t), t; } function $t(t, e, r, n) { let s = t[e]; return Xt( t, () => { const i = t[e]; Object.is(s, i) || r(s = i); } ); } function fA(t) { const e = lt({ data: Array.from([]), has(r) { return this.data.some((n) => n[0] === r); }, set(r, n) { const s = this.data.find((i) => i[0] === r); return s ? s[1] = n : this.data.push([r, n]), this; }, get(r) { var n; return (n = this.data.find((s) => s[0] === r)) == null ? void 0 : n[1]; }, delete(r) { const n = this.data.findIndex((s) => s[0] === r); return n === -1 ? !1 : (this.data.splice(n, 1), !0); }, clear() { this.data.splice(0); }, get size() { return this.data.length; }, toJSON() { return new Map(this.data); }, forEach(r) { this.data.forEach((n) => { r(n[1], n[0], this); }); }, keys() { return this.data.map((r) => r[0]).values(); }, values() { return this.data.map((r) => r[1]).values(); }, entries() { return new Map(this.data).entries(); }, get [Symbol.toStringTag]() { return "Map"; }, [Symbol.iterator]() { return this.entries(); } }); return Object.defineProperties(e, { data: { enumerable: !1 }, size: { enumerable: !1 }, toJSON: { enumerable: !1 } }), Object.seal(e), e; } var on = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function vc(t) { return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t; } function gA(t) { if (t.__esModule) return t; var e = t.default; if (typeof e == "function") { var r = function n() { return this instanceof n ? Reflect.construct(e, arguments, this.constructor) : e.apply(this, arguments); }; r.prototype = e.prototype; } else r = {}; return Object.defineProperty(r, "__esModule", { value: !0 }), Object.keys(t).forEach(function(n) { var s = Object.getOwnPropertyDescriptor(t, n); Object.defineProperty(r, n, s.get ? s : { enumerable: !0, get: function() { return t[n]; } }); }), r; } const Vf = { caipNetworkIdToNumber(t) { return t ? Number(t.split(":")[1]) : void 0; }, parseEvmChainId(t) { return typeof t == "string" ? this.caipNetworkIdToNumber(t) : t; }, getNetworksByNamespace(t, e) { return (t == null ? void 0 : t.filter((r) => r.chainNamespace === e)) || []; }, getFirstNetworkByNamespace(t, e) { return this.getNetworksByNamespace(t, e)[0]; } }; var mA = 20, wA = 1, Ps = 1e6, Nd = 1e6, AA = -7, yA = 21, EA = !1, $o = "[big.js] ", Ms = $o + "Invalid ", Ic = Ms + "decimal places", CA = Ms + "rounding mode", Hf = $o + "Division by zero", ze = {}, un = void 0, bA = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i; function Kf() { function t(e) { var r = this; if (!(r instanceof t)) return e === un ? Kf() : new t(e); if (e instanceof t) r.s = e.s, r.e = e.e, r.c = e.c.slice(); else { if (typeof e != "string") { if (t.strict === !0 && typeof e != "bigint") throw TypeError(Ms + "value"); e = e === 0 && 1 / e < 0 ? "-0" : String(e); } vA(r, e); } r.constructor = t; } return t.prototype = ze, t.DP = mA, t.RM = wA, t.NE = AA, t.PE = yA, t.strict = EA, t.roundDown = 0, t.roundHalfUp = 1, t.roundHalfEven = 2, t.roundUp = 3, t; } function vA(t, e) { var r, n, s; if (!bA.test(e)) throw Error(Ms + "number"); for (t.s = e.charAt(0) == "-" ? (e = e.slice(1), -1) : 1, (r = e.indexOf(".")) > -1 && (e = e.replace(".", "")), (n = e.search(/e/i)) > 0 ? (r < 0 && (r = n), r += +e.slice(n + 1), e = e.substring(0, n)) : r < 0 && (r = e.length), s = e.length, n = 0; n < s && e.charAt(n) == "0"; ) ++n; if (n == s) t.c = [t.e = 0]; else { for (; s > 0 && e.charAt(--s) == "0"; ) ; for (t.e = r - n - 1, t.c = [], r = 0; n <= s; ) t.c[r++] = +e.charAt(n++); } return t; } function js(t, e, r, n) { var s = t.c; if (r === un && (r = t.constructor.RM), r !== 0 && r !== 1 && r !== 2 && r !== 3) throw Error(CA); if (e < 1) n = r === 3 && (n || !!s[0]) || e === 0 && (r === 1 && s[0] >= 5 || r === 2 && (s[0] > 5 || s[0] === 5 && (n || s[1] !== un))), s.length = 1, n ? (t.e = t.e - e + 1, s[0] = 1) : s[0] = t.e = 0; else if (e < s.length) { if (n = r === 1 && s[e] >= 5 || r === 2 && (s[e] > 5 || s[e] === 5 && (n || s[e + 1] !== un || s[e - 1] & 1)) || r === 3 && (n || !!s[0]), s.length = e, n) { for (; ++s[--e] > 9; ) if (s[e] = 0, e === 0) { ++t.e, s.unshift(1); break; } } for (e = s.length; !s[--e]; ) s.pop(); } return t; } function qs(t, e, r) { var n = t.e, s = t.c.join(""), i = s.length; if (e) s = s.charAt(0) + (i > 1 ? "." + s.slice(1) : "") + (n < 0 ? "e" : "e+") + n; else if (n < 0) { for (; ++n; ) s = "0" + s; s = "0." + s; } else if (n > 0) if (++n > i) for (n -= i; n--; ) s += "0"; else n < i && (s = s.slice(0, n) + "." + s.slice(n)); else i > 1 && (s = s.charAt(0) + "." + s.slice(1)); return t.s < 0 && r ? "-" + s : s; } ze.abs = function() { var t = new this.constructor(this); return t.s = 1, t; }; ze.cmp = function(t) { var e, r = this, n = r.c, s = (t = new r.constructor(t)).c, i = r.s, o = t.s, a = r.e, c = t.e; if (!n[0] || !s[0]) return n[0] ? i : s[0] ? -o : 0; if (i != o) return i; if (e = i < 0, a != c) return a > c ^ e ? 1 : -1; for (o = (a = n.length) < (c = s.length) ? a : c, i = -1; ++i < o; ) if (n[i] != s[i]) return n[i] > s[i] ^ e ? 1 : -1; return a == c ? 0 : a > c ^ e ? 1 : -1; }; ze.div = function(t) { var e = this, r = e.constructor, n = e.c, s = (t = new r(t)).c, i = e.s == t.s ? 1 : -1, o = r.DP; if (o !== ~~o || o < 0 || o > Ps) throw Error(Ic); if (!s[0]) throw Error(Hf); if (!n[0]) return t.s = i, t.c = [t.e = 0], t; var a, c, l, u, d, f = s.slice(), g = a = s.length, m = n.length, w = n.slice(0, a), E = w.length, I = t, S = I.c = [], R = 0, T = o + (I.e = e.e - t.e) + 1; for (I.s = i, i = T < 0 ? 0 : T, f.unshift(0); E++ < a; ) w.push(0); do { for (l = 0; l < 10; l++) { if (a != (E = w.length)) u = a > E ? 1 : -1; else for (d = -1, u = 0; ++d < a; ) if (s[d] != w[d]) { u = s[d] > w[d] ? 1 : -1; break; } if (u < 0) { for (c = E == a ? s : f; E; ) { if (w[--E] < c[E]) { for (d = E; d && !w[--d]; ) w[d] = 9; --w[d], w[E] += 10; } w[E] -= c[E]; } for (; !w[0]; ) w.shift(); } else break; } S[R++] = u ? l : ++l, w[0] && u ? w[E] = n[g] || 0 : w = [n[g]]; } while ((g++ < m || w[0] !== un) && i--); return !S[0] && R != 1 && (S.shift(), I.e--, T--), R > T && js(I, T, r.RM, w[0] !== un), I; }; ze.eq = function(t) { return this.cmp(t) === 0; }; ze.gt = function(t) { return this.cmp(t) > 0; }; ze.gte = function(t) { return this.cmp(t) > -1; }; ze.lt = function(t) { return this.cmp(t) < 0; }; ze.lte = function(t) { return this.cmp(t) < 1; }; ze.minus = ze.sub = function(t) { var e, r, n, s, i = this, o = i.constructor, a = i.s, c = (t = new o(t)).s; if (a != c) return t.s = -c, i.plus(t); var l = i.c.slice(), u = i.e, d = t.c, f = t.e; if (!l[0] || !d[0]) return d[0] ? t.s = -c : l[0] ? t = new o(i) : t.s = 1, t; if (a = u - f) { for ((s = a < 0) ? (a = -a, n = l) : (f = u, n = d), n.reverse(), c = a; c--; ) n.push(0); n.reverse(); } else for (r = ((s = l.length < d.length) ? l : d).length, a = c = 0; c < r; c++) if (l[c] != d[c]) { s = l[c] < d[c]; break; } if (s && (n = l, l = d, d = n, t.s = -t.s), (c = (r = d.length) - (e = l.length)) > 0) for (; c--; ) l[e++] = 0; for (c = e; r > a; ) { if (l[--r] < d[r]) { for (e = r; e && !l[--e]; ) l[e] = 9; --l[e], l[r] += 10; } l[r] -= d[r]; } for (; l[--c] === 0; ) l.pop(); for (; l[0] === 0; ) l.shift(), --f; return l[0] || (t.s = 1, l = [f = 0]), t.c = l, t.e = f, t; }; ze.mod = function(t) { var e, r = this, n = r.constructor, s = r.s, i = (t = new n(t)).s; if (!t.c[0]) throw Error(Hf); return r.s = t.s = 1, e = t.cmp(r) == 1, r.s = s, t.s = i, e ? new n(r) : (s = n.DP, i = n.RM, n.DP = n.RM = 0, r = r.div(t), n.DP = s, n.RM = i, this.minus(r.times(t))); }; ze.neg = function() { var t = new this.constructor(this); return t.s = -t.s, t; }; ze.plus = ze.add = function(t) { var e, r, n, s = this, i = s.constructor; if (t = new i(t), s.s != t.s) return t.s = -t.s, s.minus(t); var o = s.e, a = s.c, c = t.e, l = t.c; if (!a[0] || !l[0]) return l[0] || (a[0] ? t = new i(s) : t.s = s.s), t; if (a = a.slice(), e = o - c) { for (e > 0 ? (c = o, n = l) : (e = -e, n = a), n.reverse(); e--; ) n.push(0); n.reverse(); } for (a.length - l.length < 0 && (n = l, l = a, a = n), e = l.length, r = 0; e; a[e] %= 10) r = (a[--e] = a[e] + l[e] + r) / 10 | 0; for (r && (a.unshift(r), ++c), e = a.length; a[--e] === 0; ) a.pop(); return t.c = a, t.e = c, t; }; ze.pow = function(t) { var e = this, r = new e.constructor("1"), n = r, s = t < 0; if (t !== ~~t || t < -Nd || t > Nd) throw Error(Ms + "exponent"); for (s && (t = -t); t & 1 && (n = n.times(e)), t >>= 1, !!t; ) e = e.times(e); return s ? r.div(n) : n; }; ze.prec = function(t, e) { if (t !== ~~t || t < 1 || t > Ps) throw Error(Ms + "precision"); return js(new this.constructor(this), t, e); }; ze.round = function(t, e) { if (t === un) t = 0; else if (t !== ~~t || t < -Ps || t > Ps) throw Error(Ic); return js(new this.constructor(this), t + this.e + 1, e); }; ze.sqrt = function() { var t, e, r, n = this, s = n.constructor, i = n.s, o = n.e, a = new s("0.5"); if (!n.c[0]) return new s(n); if (i < 0) throw Error($o + "No square root"); i = Math.sqrt(+qs(n, !0, !0)), i === 0 || i === 1 / 0 ? (e = n.c.join(""), e.length + o & 1 || (e += "0"), i = Math.sqrt(e), o = ((o + 1) / 2 | 0) - (o < 0 || o & 1), t = new s((i == 1 / 0 ? "5e" : (i = i.toExponential()).slice(0, i.indexOf("e") + 1)) + o)) : t = new s(i + ""), o = t.e + (s.DP += 4); do r = t, t = a.times(r.plus(n.div(r))); while (r.c.slice(0, o).join("") !== t.c.slice(0, o).join("")); return js(t, (s.DP -= 4) + t.e + 1, s.RM); }; ze.times = ze.mul = function(t) { var e, r = this, n = r.constructor, s = r.c, i = (t = new n(t)).c, o = s.length, a = i.length, c = r.e, l = t.e; if (t.s = r.s == t.s ? 1 : -1, !s[0] || !i[0]) return t.c = [t.e = 0], t; for (t.e = c + l, o < a && (e = s, s = i, i = e, l = o, o = a, a = l), e = new Array(l = o + a); l--; ) e[l] = 0; for (c = a; c--; ) { for (a = 0, l = o + c; l > c; ) a = e[l] + i[c] * s[l - c - 1] + a, e[l--] = a % 10, a = a / 10 | 0; e[l] = a; } for (a ? ++t.e : e.shift(), c = e.length; !e[--c]; ) e.pop(); return t.c = e, t; }; ze.toExponential = function(t, e) { var r = this, n = r.c[0]; if (t !== un) { if (t !== ~~t || t < 0 || t > Ps) throw Error(Ic); for (r = js(new r.constructor(r), ++t, e); r.c.length < t; ) r.c.push(0); } return qs(r, !0, !!n); }; ze.toFixed = function(t, e) { var r = this, n = r.c[0]; if (t !== un) { if (t !== ~~t || t < 0 || t > Ps) throw Error(Ic); for (r = js(new r.constructor(r), t + r.e + 1, e), t = t + r.e + 1; r.c.length < t; ) r.c.push(0); } return qs(r, !1, !!n); }; ze[Symbol.for("nodejs.util.inspect.custom")] = ze.toJSON = ze.toString = function() { var t = this, e = t.constructor; return qs(t, t.e <= e.NE || t.e >= e.PE, !!t.c[0]); }; ze.toNumber = function() { var t = +qs(this, !0, !0); if (this.constructor.strict === !0 && !this.eq(t.toString())) throw Error($o + "Imprecise conversion"); return t; }; ze.toPrecision = function(t, e) { var r = this, n = r.constructor, s = r.c[0]; if (t !== un) { if (t !== ~~t || t < 1 || t > Ps) throw Error(Ms + "precision"); for (r = js(new n(r), t, e); r.c.length < t; ) r.c.push(0); } return qs(r, t <= r.e || r.e <= n.NE || r.e >= n.PE, !!s); }; ze.valueOf = function() { var t = this, e = t.constructor; if (e.strict === !0) throw Error($o + "valueOf disallowed"); return qs(t, t.e <= e.NE || t.e >= e.PE, !0); }; var Gi = Kf(); const IA = { bigNumber(t) { return t ? new Gi(t) : new Gi(0); }, multiply(t, e) { if (t === void 0 || e === void 0) return new Gi(0); const r = new Gi(t), n = new Gi(e); return r.times(n); }, formatNumberToLocalString(t, e = 2) { return t === void 0 ? "0.00" : typeof t == "number" ? t.toLocaleString("en-US", { maximumFractionDigits: e, minimumFractionDigits: e }) : parseFloat(t).toLocaleString("en-US", { maximumFractionDigits: e, minimumFractionDigits: e }); }, parseLocalStringToNumber(t) { return t === void 0 ? 0 : parseFloat(t.replace(/,/gu, "")); } }, SA = [ { type: "function", name: "transfer", stateMutability: "nonpayable", inputs: [ { name: "_to", type: "address" }, { name: "_value", type: "uint256" } ], outputs: [ { name: "", type: "bool" } ] }, { type: "function", name: "transferFrom", stateMutability: "nonpayable", inputs: [ { name: "_from", type: "address" }, { name: "_to", type: "address" }, { name: "_value", type: "uint256" } ], outputs: [ { name: "", type: "bool" } ] } ], NA = [ { type: "function", name: "approve", stateMutability: "nonpayable", inputs: [ { name: "spender", type: "address" }, { name: "amount", type: "uint256" } ], outputs: [{ type: "bool" }] } ], RA = [ { type: "function", name: "transfer", stateMutability: "nonpayable", inputs: [ { name: "recipient", type: "address" }, { name: "amount", type: "uint256" } ], outputs: [] }, { type: "function", name: "transferFrom", stateMutability: "nonpayable", inputs: [ { name: "sender", type: "address" }, { name: "recipient", type: "address" }, { name: "amount", type: "uint256" } ], outputs: [ { name: "", type: "bool" } ] } ]; function OA(t) { return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t; } var Qf = { exports: {} }, wt = Qf.exports = {}, nn, sn; function Zl() { throw new Error("setTimeout has not been defined"); } function Xl() { throw new Error("clearTimeout has not been defined"); } (function() { try { typeof setTimeout == "function" ? nn = setTimeout : nn = Zl; } catch { nn = Zl; } try { typeof clearTimeout == "function" ? sn = clearTimeout : sn = Xl; } catch { sn = Xl; } })(); function Wf(t) { if (nn === setTimeout) return setTimeout(t, 0); if ((nn === Zl || !nn) && setTimeout) return nn = setTimeout, setTimeout(t, 0); try { return nn(t, 0); } catch { try { return nn.call(null, t, 0); } catch { return nn.call(this, t, 0); } } } function TA(t) { if (sn === clearTimeout) return clearTimeout(t); if ((sn === Xl || !sn) && clearTimeout) return sn = clearTimeout, clearTimeout(t); try { return sn(t); } catch { try { return sn.call(null, t); } catch { return sn.call(this, t); } } } var On = [], vi = !1, bs, ja = -1; function PA() { !vi || !bs || (vi = !1, bs.length ? On = bs.concat(On) : ja = -1, On.length && zf()); } function zf() { if (!vi) { var t = Wf(PA); vi = !0; for (var e = On.length; e; ) { for (bs = On, On = []; ++ja < e; ) bs && bs[ja].run(); ja = -1, e = On.length; } bs = null, vi = !1, TA(t); } } wt.nextTick = function(t) { var e = new Array(arguments.length - 1); if (arguments.length > 1) for (var r = 1; r < arguments.length; r++) e[r - 1] = arguments[r]; On.push(new Yf(t, e)), On.length === 1 && !vi && Wf(zf); }; function Yf(t, e) { this.fun = t, this.array = e; } Yf.prototype.run = function() { this.fun.apply(null, this.array); }; wt.title = "browser"; wt.browser = !0; wt.env = {}; wt.argv = []; wt.version = ""; wt.versions = {}; function kn() { } wt.on = kn; wt.addListener = kn; wt.once = kn; wt.off = kn; wt.removeListener = kn; wt.removeAllListeners = kn; wt.emit = kn; wt.prependListener = kn; wt.prependOnceListener = kn; wt.listeners = function(t) { return []; }; wt.binding = function(t) { throw new Error("process.binding is not supported"); }; wt.cwd = function() { return "/"; }; wt.chdir = function(t) { throw new Error("process.chdir is not supported"); }; wt.umask = function() { return 0; }; var DA = Qf.exports; const je = /* @__PURE__ */ OA(DA), $ = { WC_NAME_SUFFIX: ".reown.id", WC_NAME_SUFFIX_LEGACY: ".wcn.id", BLOCKCHAIN_API_RPC_URL: "https://rpc.walletconnect.org", PULSE_API_URL: "https://pulse.walletconnect.org", W3M_API_URL: "https://api.web3modal.org", CONNECTOR_ID: { WALLET_CONNECT: "walletConnect", INJECTED: "injected", WALLET_STANDARD: "announced", COINBASE: "coinbaseWallet", COINBASE_SDK: "coinbaseWalletSDK", SAFE: "safe", LEDGER: "ledger", OKX: "okx", EIP6963: "eip6963", AUTH: "ID_AUTH" }, CONNECTOR_NAMES: { AUTH: "Auth" }, AUTH_CONNECTOR_SUPPORTED_CHAINS: ["eip155", "solana"], LIMITS: { PENDING_TRANSACTIONS: 99 }, CHAIN: { EVM: "eip155", SOLANA: "solana", POLKADOT: "polkadot", BITCOIN: "bip122" }, CHAIN_NAME_MAP: { eip155: "EVM Networks", solana: "Solana", polkadot: "Polkadot", bip122: "Bitcoin", cosmos: "Cosmos" }, ADAPTER_TYPES: { BITCOIN: "bitcoin", SOLANA: "solana", WAGMI: "wagmi", ETHERS: "ethers", ETHERS5: "ethers5" }, USDT_CONTRACT_ADDRESSES: [ "0xdac17f958d2ee523a2206206994597c13d831ec7", "0xc2132d05d31c914a87c6611c10748aeb04b58e8f", "0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7", "0x919C1c267BC06a7039e03fcc2eF738525769109c", "0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e", "0x55d398326f99059fF775485246999027B3197955", "0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9" ], HTTP_STATUS_CODES: { SERVICE_UNAVAILABLE: 503, FORBIDDEN: 403 }, UNSUPPORTED_NETWORK_NAME: "Unknown Network", SECURE_SITE_SDK_ORIGIN: (typeof je < "u" && typeof je.env < "u" ? je.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN : void 0) || "https://secure.walletconnect.org" }, xA = { getERC20Abi: (t) => $.USDT_CONTRACT_ADDRESSES.includes(t) ? RA : SA, getSwapAbi: () => NA }, Fn = { validateCaipAddress(t) { var e; if (((e = t.split(":")) == null ? void 0 : e.length) !== 3) throw new Error("Invalid CAIP Address"); return t; }, parseCaipAddress(t) { const e = t.split(":"); if (e.length !== 3) throw new Error(`Invalid CAIP-10 address: ${t}`); const [r, n, s] = e; if (!r || !n || !s) throw new Error(`Invalid CAIP-10 address: ${t}`); return { chainNamespace: r, chainId: n, address: s }; }, parseCaipNetworkId(t) { const e = t.split(":"); if (e.length !== 2) throw new Error(`Invalid CAIP-2 network id: ${t}`); const [r, n] = e; if (!r || !n) throw new Error(`Invalid CAIP-2 network id: ${t}`); return { chainNamespace: r, chainId: n }; } }, ve = { WALLET_ID: "@appkit/wallet_id", WALLET_NAME: "@appkit/wallet_name", SOLANA_WALLET: "@appkit/solana_wallet", SOLANA_CAIP_CHAIN: "@appkit/solana_caip_chain", ACTIVE_CAIP_NETWORK_ID: "@appkit/active_caip_network_id", CONNECTED_SOCIAL: "@appkit/connected_social", CONNECTED_SOCIAL_USERNAME: "@appkit-wallet/SOCIAL_USERNAME", RECENT_WALLETS: "@appkit/recent_wallets", DEEPLINK_CHOICE: "WALLETCONNECT_DEEPLINK_CHOICE", ACTIVE_NAMESPACE: "@appkit/active_namespace", CONNECTED_NAMESPACES: "@appkit/connected_namespaces", CONNECTION_STATUS: "@appkit/connection_status", SIWX_AUTH_TOKEN: "@appkit/siwx-auth-token", SIWX_NONCE_TOKEN: "@appkit/siwx-nonce-token", TELEGRAM_SOCIAL_PROVIDER: "@appkit/social_provider", NATIVE_BALANCE_CACHE: "@appkit/native_balance_cache", PORTFOLIO_CACHE: "@appkit/portfolio_cache", ENS_CACHE: "@appkit/ens_cache", IDENTITY_CACHE: "@appkit/identity_cache", PREFERRED_ACCOUNT_TYPES: "@appkit/preferred_account_types", CONNECTIONS: "@appkit/connections" }; function Zc(t) { if (!t) throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID"); return `@appkit/${t}:connected_connector_id`; } const Ce = { setItem(t, e) { lo() && e !== void 0 && localStorage.setItem(t, e); }, getItem(t) { if (lo()) return localStorage.getItem(t) || void 0; }, removeItem(t) { lo() && localStorage.removeItem(t); }, clear() { lo() && localStorage.clear(); } }; function lo() { return typeof window < "u" && typeof localStorage < "u"; } function Tn(t, e) { return e === "light" ? { "--w3m-accent": (t == null ? void 0 : t["--w3m-accent"]) || "hsla(231, 100%, 70%, 1)", "--w3m-background": "#fff" } : { "--w3m-accent": (t == null ? void 0 : t["--w3m-accent"]) || "hsla(230, 100%, 67%, 1)", "--w3m-background": "#121313" }; } const Xc = ( // eslint-disable-next-line @typescript-eslint/prefer-optional-chain (typeof je < "u" && typeof je.env < "u" ? je.env.NEXT_PUBLIC_SECURE_SITE_ORIGIN : void 0) || "https://secure.walletconnect.org" ), fk = [ { label: "Coinbase", name: "coinbase", feeRange: "1-2%", url: "", supportedChains: ["eip155"] }, { label: "Meld.io", name: "meld", feeRange: "1-2%", url: "https://meldcrypto.com", supportedChains: ["eip155", "solana"] } ], gk = "WXETMuFUQmqqybHuRkSgxv:25B8LJHSfpG6LVjR2ytU5Cwh7Z4Sch2ocoU", xt = { FOUR_MINUTES_MS: 24e4, TEN_SEC_MS: 1e4, FIVE_SEC_MS: 5e3, THREE_SEC_MS: 3e3, ONE_SEC_MS: 1e3, SECURE_SITE: Xc, SECURE_SITE_DASHBOARD: `${Xc}/dashboard`, SECURE_SITE_FAVICON: `${Xc}/images/favicon.png`, RESTRICTED_TIMEZONES: [ "ASIA/SHANGHAI", "ASIA/URUMQI", "ASIA/CHONGQING", "ASIA/HARBIN", "ASIA/KASHGAR", "ASIA/MACAU", "ASIA/HONG_KONG", "ASIA/MACAO", "ASIA/BEIJING", "ASIA/HARBIN" ], /** * Network name to Coinbase Pay SDK chain name map object * @see supported chain names on Coinbase for Pay SDK: https://github.com/coinbase/cbpay-js/blob/d4bda2c05c4d5917c8db6a05476b603546046394/src/types/onramp.ts */ WC_COINBASE_PAY_SDK_CHAINS: [ "ethereum", "arbitrum", "polygon", "berachain", "avalanche-c-chain", "optimism", "celo", "base" ], WC_COINBASE_PAY_SDK_FALLBACK_CHAIN: "ethereum", WC_COINBASE_PAY_SDK_CHAIN_NAME_MAP: { Ethereum: "ethereum", "Arbitrum One": "arbitrum", Polygon: "polygon", Berachain: "berachain", Avalanche: "avalanche-c-chain", "OP Mainnet": "optimism", Celo: "celo", Base: "base" }, WC_COINBASE_ONRAMP_APP_ID: "bf18c88d-495a-463b-b249-0b9d3656cf5e", SWAP_SUGGESTED_TOKENS: [ "ETH", "UNI", "1INCH", "AAVE", "SOL", "ADA", "AVAX", "DOT", "LINK", "NITRO", "GAIA", "MILK", "TRX", "NEAR", "GNO", "WBTC", "DAI", "WETH", "USDC", "USDT", "ARB", "BAL", "BICO", "CRV", "ENS", "MATIC", "OP" ], SWAP_POPULAR_TOKENS: [ "ETH", "UNI", "1INCH", "AAVE", "SOL", "ADA", "AVAX", "DOT", "LINK", "NITRO", "GAIA", "MILK", "TRX", "NEAR", "GNO", "WBTC", "DAI", "WETH", "USDC", "USDT", "ARB", "BAL", "BICO", "CRV", "ENS", "MATIC", "OP", "METAL", "DAI", "CHAMP", "WOLF", "SALE", "BAL", "BUSD", "MUST", "BTCpx", "ROUTE", "HEX", "WELT", "amDAI", "VSQ", "VISION", "AURUM", "pSP", "SNX", "VC", "LINK", "CHP", "amUSDT", "SPHERE", "FOX", "GIDDY", "GFC", "OMEN", "OX_OLD", "DE", "WNT" ], BALANCE_SUPPORTED_CHAINS: ["eip155", "solana"], SWAP_SUPPORTED_NETWORKS: [ // Ethereum' "eip155:1", // Arbitrum One' "eip155:42161", // Optimism' "eip155:10", // ZKSync Era' "eip155:324", // Base' "eip155:8453", // BNB Smart Chain' "eip155:56", // Polygon' "eip155:137", // Gnosis' "eip155:100", // Avalanche' "eip155:43114", // Fantom' "eip155:250", // Klaytn' "eip155:8217", // Aurora "eip155:1313161554" ], NAMES_SUPPORTED_CHAIN_NAMESPACES: ["eip155"], ONRAMP_SUPPORTED_CHAIN_NAMESPACES: ["eip155", "solana"], ACTIVITY_ENABLED_CHAIN_NAMESPACES: ["eip155"], NATIVE_TOKEN_ADDRESS: { eip155: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee", solana: "So11111111111111111111111111111111111111111", polkadot: "0x", bip122: "0x", cosmos: "0x" }, CONVERT_SLIPPAGE_TOLERANCE: 1, CONNECT_LABELS: { MOBILE: "Open and continue in the wallet app", WEB: "Open and continue in the wallet app" }, SEND_SUPPORTED_NAMESPACES: ["eip155", "solana"], DEFAULT_FEATURES: { swaps: !0, onramp: !0, receive: !0, send: !0, email: !0, emailShowWallets: !0, socials: [ "google", "x", "discord", "farcaster", "github", "apple", "facebook" ], connectorTypeOrder: [ "walletConnect", "recent", "injected", "featured", "custom", "external", "recommended" ], history: !0, analytics: !0, allWallets: !0, legalCheckbox: !1, smartSessions: !1, collapseWallets: !1, walletFeaturesOrder: ["onramp", "swaps", "receive", "send"], connectMethodsOrder: void 0, pay: !1 }, DEFAULT_ACCOUNT_TYPES: { bip122: "payment", eip155: "smartAccount", polkadot: "eoa", solana: "eoa" }, ADAPTER_TYPES: { UNIVERSAL: "universal", SOLANA: "solana", WAGMI: "wagmi", ETHERS: "ethers", ETHERS5: "ethers5", BITCOIN: "bitcoin" } }, ce = { // Cache expiry in milliseconds cacheExpiry: { portfolio: 3e4, nativeBalance: 3e4, ens: 3e5, identity: 3e5 }, isCacheExpired(t, e) { return Date.now() - t > e; }, getActiveNetworkProps() { const t = ce.getActiveNamespace(), e = ce.getActiveCaipNetworkId(), r = e ? e.split(":")[1] : void 0, n = r ? isNaN(Number(r)) ? r : Number(r) : void 0; return { namespace: t, caipNetworkId: e, chainId: n }; }, setWalletConnectDeepLink({ name: t, href: e }) { try { Ce.setItem(ve.DEEPLINK_CHOICE, JSON.stringify({ href: e, name: t })); } catch { console.info("Unable to set WalletConnect deep link"); } }, getWalletConnectDeepLink() { try { const t = Ce.getItem(ve.DEEPLINK_CHOICE); if (t) return JSON.parse(t); } catch { console.info("Unable to get WalletConnect deep link"); } }, deleteWalletConnectDeepLink() { try { Ce.removeItem(ve.DEEPLINK_CHOICE); } catch { console.info("Unable to delete WalletConnect deep link"); } }, setActiveNamespace(t) { try { Ce.setItem(ve.ACTIVE_NAMESPACE, t); } catch { console.info("Unable to set active namespace"); } }, setActiveCaipNetworkId(t) { try { Ce.setItem(ve.ACTIVE_CAIP_NETWORK_ID, t), ce.setActiveNamespace(t.split(":")[0]); } catch { console.info("Unable to set active caip network id"); } }, getActiveCaipNetworkId() { try { return Ce.getItem(ve.ACTIVE_CAIP_NETWORK_ID); } catch { console.info("Unable to get active caip network id"); return; } }, deleteActiveCaipNetworkId() { try { Ce.removeItem(ve.ACTIVE_CAIP_NETWORK_ID); } catch { console.info("Unable to delete active caip network id"); } }, deleteConnectedConnectorId(t) { try { const e = Zc(t); Ce.removeItem(e); } catch { console.info("Unable to delete connected connector id"); } }, setAppKitRecent(t) { try { const e = ce.getRecentWallets(); e.find((n) => n.id === t.id) || (e.unshift(t), e.length > 2 && e.pop(), Ce.setItem(ve.RECENT_WALLETS, JSON.stringify(e))); } catch { console.info("Unable to set AppKit recent"); } }, getRecentWallets() { try { const t = Ce.getItem(ve.RECENT_WALLETS); return t ? JSON.parse(t) : []; } catch { console.info("Unable to get AppKit recent"); } return []; }, setConnectedConnectorId(t, e) { try { const r = Zc(t); Ce.setItem(r, e); } catch { console.info("Unable to set Connected Connector Id"); } }, getActiveNamespace() { try { return Ce.getItem(ve.ACTIVE_NAMESPACE); } catch { console.info("Unable to get active namespace"); } }, getConnectedConnectorId(t) { if (t) try { const e = Zc(t); return Ce.getItem(e); } catch { console.info("Unable to get connected connector id in namespace ", t); } }, setConnectedSocialProvider(t) { try { Ce.setItem(ve.CONNECTED_SOCIAL, t); } catch { console.info("Unable to set connected social provider"); } }, getConnectedSocialProvider() { try { return Ce.getItem(ve.CONNECTED_SOCIAL); } catch { console.info("Unable to get connected social provider"); } }, deleteConnectedSocialProvider() { try { Ce.removeItem(ve.CONNECTED_SOCIAL); } catch { console.info("Unable to delete connected social provider"); } }, getConnectedSocialUsername() { try { return Ce.getItem(ve.CONNECTED_SOCIAL_USERNAME); } catch { console.info("Unable to get connected social username"); } }, getStoredActiveCaipNetworkId() { var r; const t = Ce.getItem(ve.ACTIVE_CAIP_NETWORK_ID); return (r = t == null ? void 0 : t.split(":")) == null ? void 0 : r[1]; }, setConnectionStatus(t) { try { Ce.setItem(ve.CONNECTION_STATUS, t); } catch { console.info("Unable to set connection status"); } }, getConnectionStatus() { try { return Ce.getItem(ve.CONNECTION_STATUS); } catch { return; } }, getConnectedNamespaces() { try { const t = Ce.getItem(ve.CONNECTED_NAMESPACES); return t != null && t.length ? t.split(",") : []; } catch { return []; } }, setConnectedNamespaces(t) { try { const e = Array.from(new Set(t)); Ce.setItem(ve.CONNECTED_NAMESPACES, e.join(",")); } catch { console.info("Unable to set namespaces in storage"); } }, addConnectedNamespace(t) { try { const e = ce.getConnectedNamespaces(); e.includes(t) || (e.push(t), ce.setConnectedNamespaces(e)); } catch { console.info("Unable to add connected namespace"); } }, removeConnectedNamespace(t) { try { const e = ce.getConnectedNamespaces(), r = e.indexOf(t); r > -1 && (e.splice(r, 1), ce.setConnectedNamespaces(e)); } catch { console.info("Unable to remove connected namespace"); } }, getTelegramSocialProvider() { try { return Ce.getItem(ve.TELEGRAM_SOCIAL_PROVIDER); } catch { return console.info("Unable to get telegram social provider"), null; } }, setTelegramSocialProvider(t) { try { Ce.setItem(ve.TELEGRAM_SOCIAL_PROVIDER, t); } catch { console.info("Unable to set telegram social provider"); } }, removeTelegramSocialProvider() { try { Ce.removeItem(ve.TELEGRAM_SOCIAL_PROVIDER); } catch { console.info("Unable to remove telegram social provider"); } }, getBalanceCache() { let t = {}; try { const e = Ce.getItem(ve.PORTFOLIO_CACHE); t = e ? JSON.parse(e) : {}; } catch { console.info("Unable to get balance cache"); } return t; }, removeAddressFromBalanceCache(t) { try { const e = ce.getBalanceCache(); Ce.setItem(ve.PORTFOLIO_CACHE, JSON.stringify({ ...e, [t]: void 0 })); } catch { console.info("Unable to remove address from balance cache", t); } }, getBalanceCacheForCaipAddress(t) { try { const r = ce.getBalanceCache()[t]; if (r && !this.isCacheExpired(r.timestamp, this.cacheExpiry.portfolio)) return r.balance; ce.removeAddressFromBalanceCache(t); } catch { console.info("Unable to get balance cache for address", t); } }, updateBalanceCache(t) { try { const e = ce.getBalanceCache(); e[t.caipAddress] = t, Ce.setItem(ve.PORTFOLIO_CACHE, JSON.stringify(e)); } catch { console.info("Unable to update balance cache", t); } }, getNativeBalanceCache() { let t = {}; try { const e = Ce.getItem(ve.NATIVE_BALANCE_CACHE); t = e ? JSON.parse(e) : {}; } catch { console.info("Unable to get balance cache"); } return t; }, removeAddressFromNativeBalanceCache(t) { try { const e = ce.getBalanceCache(); Ce.setItem(ve.NATIVE_BALANCE_CACHE, JSON.stringify({ ...e, [t]: void 0 })); } catch { console.info("Unable to remove address from balance cache", t); } }, getNativeBalanceCacheForCaipAddress(t) { try { const r = ce.getNativeBalanceCache()[t]; if (r && !this.isCacheExpired(r.timestamp, this.cacheExpiry.nativeBalance)) return r; console.info("Discarding cache for address", t), ce.removeAddressFromBalanceCache(t); } catch { console.info("Unable to get balance cache for address", t); } }, updateNativeBalanceCache(t) { try { const e = ce.getNativeBalanceCache(); e[t.caipAddress] = t, Ce.setItem(ve.NATIVE_BALANCE_CACHE, JSON.stringify(e)); } catch { console.info("Unable to update balance cache", t); } }, getEnsCache() { let t = {}; try { const e = Ce.getItem(ve.ENS_CACHE); t = e ? JSON.parse(e) : {}; } catch { console.info("Unable to get ens name cache"); } return t; }, getEnsFromCacheForAddress(t) { try { const r = ce.getEnsCache()[t]; if (r && !this.isCacheExpired(r.timestamp, this.cacheExpiry.ens)) return r.ens; ce.removeEnsFromCache(t); } catch { console.info("Unable to get ens name from cache", t); } }, updateEnsCache(t) { try { const e = ce.getEnsCache(); e[t.address] = t, Ce.setItem(ve.ENS_CACHE, JSON.stringify(e)); } catch { console.info("Unable to update ens name cache", t); } }, removeEnsFromCache(t) { try { const e = ce.getEnsCache(); Ce.setItem(ve.ENS_CACHE, JSON.stringify({ ...e, [t]: void 0 })); } catch { console.info("Unable to remove ens name from cache", t); } }, getIdentityCache() { let t = {}; try { const e = Ce.getItem(ve.IDENTITY_CACHE); t = e ? JSON.parse(e) : {}; } catch { console.info("Unable to get identity cache"); } return t; }, getIdentityFromCacheForAddress(t) { try { const r = ce.getIdentityCache()[t]; if (r && !this.isCacheExpired(r.timestamp, this.cacheExpiry.identity)) return r.identity; ce.removeIdentityFromCache(t); } catch { console.info("Unable to get identity from cache", t); } }, updateIdentityCache(t) { try { const e = ce.getIdentityCache(); e[t.address] = { identity: t.identity, timestamp: t.timestamp }, Ce.setItem(ve.IDENTITY_CACHE, JSON.stringify(e)); } catch { console.info("Unable to update identity cache", t); } }, removeIdentityFromCache(t) { try { const e = ce.getIdentityCache(); Ce.setItem(ve.IDENTITY_CACHE, JSON.stringify({ ...e, [t]: void 0 })); } catch { console.info("Unable to remove identity from cache", t); } }, clearAddressCache() { try { Ce.removeItem(ve.PORTFOLIO_CACHE), Ce.removeItem(ve.NATIVE_BALANCE_CACHE), Ce.removeItem(ve.ENS_CACHE), Ce.removeItem(ve.IDENTITY_CACHE); } catch { console.info("Unable to clear address cache"); } }, setPreferredAccountTypes(t) { try { Ce.setItem(ve.PREFERRED_ACCOUNT_TYPES, JSON.stringify(t)); } catch { console.info("Unable to set preferred account types", t); } }, getPreferredAccountTypes() { try { const t = Ce.getItem(ve.PREFERRED_ACCOUNT_TYPES); return t ? JSON.parse(t) : {}; } catch { console.info("Unable to get preferred account types"); } return {}; }, setConnections(t, e) { try { const r = { ...ce.getConnections(), [e]: t }; Ce.setItem(ve.CONNECTIONS, JSON.stringify(r)); } catch (r) { console.error("Unable to sync connections to storage", r); } }, getConnections() { try { const t = Ce.getItem(ve.CONNECTIONS); return t ? JSON.parse(t) : {}; } catch (t) { return console.error("Unable to get connections from storage", t), {}; } } }, Ae = { isMobile() { var t; return this.isClient() ? !!((t = window == null ? void 0 : window.matchMedia("(pointer:coarse)")) != null && t.matches || /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini/u.test(navigator.userAgent)) : !1; }, checkCaipNetwork(t, e = "") { return t == null ? void 0 : t.caipNetworkId.toLocaleLowerCase().includes(e.toLowerCase()); }, isAndroid() { if (!this.isMobile()) return !1; const t = window == null ? void 0 : window.navigator.userAgent.toLowerCase(); return Ae.isMobile() && t.includes("android"); }, isIos() { if (!this.isMobile()) return !1; const t = window == null ? void 0 : window.navigator.userAgent.toLowerCase(); return t.includes("iphone") || t.includes("ipad"); }, isSafari() { return this.isClient() ? (window == null ? void 0 : window.navigator.userAgent.toLowerCase()).includes("safari") : !1; }, isClient() { return typeof window < "u"; }, isPairingExpired(t) { return t ? t - Date.now() <= xt.TEN_SEC_MS : !0; }, isAllowedRetry(t, e = xt.ONE_SEC_MS) { return Date.now() - t >= e; }, copyToClopboard(t) { navigator.clipboard.writeText(t); }, isIframe() { try { return (window == null ? void 0 : window.self) !== (window == null ? void 0 : window.top); } catch { return !1; } }, getPairingExpiry() { return Date.now() + xt.FOUR_MINUTES_MS; }, getNetworkId(t) { return t == null ? void 0 : t.split(":")[1]; }, getPlainAddress(t) { return t == null ? void 0 : t.split(":")[2]; }, async wait(t) { return new Promise((e) => { setTimeout(e, t); }); }, // eslint-disable-next-line @typescript-eslint/no-explicit-any debounce(t, e = 500) { let r; return (...n) => { function s() { t(...n); } r && clearTimeout(r), r = setTimeout(s, e); }; }, isHttpUrl(t) { return t.startsWith("http://") || t.startsWith("https://"); }, formatNativeUrl(t, e, r = null) { if (Ae.isHttpUrl(t)) return this.formatUniversalUrl(t, e); let n = t, s = r; n.includes("://") || (n = t.replaceAll("/", "").replaceAll(":", ""), n = `${n}://`), n.endsWith("/") || (n = `${n}/`), s && !(s != null && s.endsWith("/")) && (s = `${s}/`), this.isTelegram() && this.isAndroid() && (e = encodeURIComponent(e)); const i = encodeURIComponent(e); return { redirect: `${n}wc?uri=${i}`, redirectUniversalLink: s ? `${s}wc?uri=${i}` : void 0, href: n }; }, formatUniversalUrl(t, e) { if (!Ae.isHttpUrl(t)) return this.formatNativeUrl(t, e); let r = t; r.endsWith("/") || (r = `${r}/`); const n = encodeURIComponent(e); return { redirect: `${r}wc?uri=${n}`, href: r }; }, getOpenTargetForPlatform(t) { return t === "popupWindow" ? t : this.isTelegram() ? ce.getTelegramSocialProvider() ? "_top" : "_blank" : t; }, openHref(t, e, r) { window == null || window.open(t, this.getOpenTargetForPlatform(e), r || "noreferrer noopener"); }, returnOpenHref(t, e, r) { return window == null ? void 0 : window.open(t, this.getOpenTargetForPlatform(e), r || "noreferrer noopener"); }, isTelegram() { return typeof window < "u" && // eslint-disable-next-line @typescript-eslint/no-explicit-any (!!window.TelegramWebviewProxy || // eslint-disable-next-line @typescript-eslint/no-explicit-any !!window.Telegram || // eslint-disable-next-line @typescript-eslint/no-explicit-any !!window.TelegramWebviewProxyProto); }, isPWA() { var r, n, s; if (typeof window > "u") return !1; const t = (n = (r = window.matchMedia) == null ? void 0 : r.call(window, "(display-mode: standalone)")) == null ? void 0 : n.matches, e = (s = window == null ? void 0 : window.navigator) == null ? void 0 : s.standalone; return !!(t || e); }, async preloadImage(t) { const e = new Promise((r, n) => { const s = new Image(); s.onload = r, s.onerror = n, s.crossOrigin = "anonymous", s.src = t; }); return Promise.race([e, Ae.wait(2e3)]); }, formatBalance(t, e) { let r = "0.000"; if (typeof t == "string") { const n = Number(t); if (n) { const s = Math.floor(n * 1e3) / 1e3; s && (r = s.toString()); } } return `${r}${e ? ` ${e}` : ""}`; }, formatBalance2(t, e) { var n; let r; if (t === "0") r = "0"; else if (typeof t == "string") { const s = Number(t); s && (r = (n = s.toString().match(/^-?\d+(?:\.\d{0,3})?/u)) == null ? void 0 : n[0]); } return { value: r ?? "0", rest: r === "0" ? "000" : "", symbol: e }; }, getApiUrl() { return $.W3M_API_URL; }, getBlockchainApiUrl() { return $.BLOCKCHAIN_API_RPC_URL; }, getAnalyticsUrl() { return $.PULSE_API_URL; }, getUUID() { return 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); }); }, // eslint-disable-next-line @typescript-eslint/no-explicit-any parseError(t) { var e, r; return typeof t == "string" ? t : typeof ((r = (e = t == null ? void 0 : t.issues) == null ? void 0 : e[0]) == null ? void 0 : r.message) == "string" ? t.issues[0].message : t instanceof Error ? t.message : "Unknown error"; }, sortRequestedNetworks(t, e = []) { const r = {}; return e && t && (t.forEach((n, s) => { r[n] = s; }), e.sort((n, s) => { const i = r[n.id], o = r[s.id]; return i !== void 0 && o !== void 0 ? i - o : i !== void 0 ? -1 : o !== void 0 ? 1 : 0; })), e; }, calculateBalance(t) { let e = 0; for (const r of t) e += r.value ?? 0; return e; }, formatTokenBalance(t) { const e = t.toFixed(2), [r, n] = e.split("."); return { dollars: r, pennies: n };