UNPKG

@safe-stars/components

Version:

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

1,785 lines 1.13 MB
import { jsx as X, jsxs as Ne, Fragment as Qw } from "react/jsx-runtime"; import { createContext as Vf, useState as St, useContext as Hf, useEffect as ii } from "react"; import { TonConnectUIProvider as Ww, useTonConnectUI as zw, useTonWallet as Yw, TonConnectButton as Gw } from "@tonconnect/ui-react"; import { recoverAddress as Zw, formatUnits as Xw, http as va, fallback as bd, toHex as vd, parseUnits as Jw, erc20Abi as $w } from "viem"; import { WagmiProvider as eA, useAccount as tA, useWriteContract as rA, useWaitForTransactionReceipt as nA } from "wagmi"; import { QueryClient as iA, QueryClientProvider as sA } from "@tanstack/react-query"; import { WagmiAdapter as oA } from "@reown/appkit-adapter-wagmi"; import { useLaunchParams as aA } from "@telegram-apps/sdk-react"; import { TonClient as cA, beginCell as lA, Address as Id, toNano as uA } from "@ton/ton"; import { Address as Sd, beginCell as dA } from "@ton/core"; const hA = Symbol(), Nd = Object.getPrototypeOf, Xl = /* @__PURE__ */ new WeakMap(), pA = (t) => t && (Xl.has(t) ? Xl.get(t) : Nd(t) === Object.prototype || Nd(t) === Array.prototype), fA = (t) => pA(t) && t[hA] || null, Rd = (t, e = !0) => { Xl.set(t, e); }, nc = { BASE_URL: "/", DEV: !1, MODE: "production", PROD: !0, SSR: !1, VITE_API_URL: "https://safestars.pro/api" }, Xc = (t) => typeof t == "object" && t !== null, Qn = /* @__PURE__ */ new WeakMap(), uo = /* @__PURE__ */ new WeakSet(), gA = (t = Object.is, e = (l, u) => new Proxy(l, u), r = (l) => Xc(l) && !uo.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; } }, i = /* @__PURE__ */ new WeakMap(), s = (l, u, d = n) => { const f = i.get(l); if ((f == null ? void 0 : f[0]) === u) return f[1]; const g = Array.isArray(l) ? [] : Object.create(Object.getPrototypeOf(l)); return Rd(g, !0), i.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 ), v = { 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 (uo.has(w)) Rd(w, !1); else if (w instanceof Promise) delete v.value, v.get = () => d(w); else if (Qn.has(w)) { const [S, R] = Qn.get( w ); v.value = s( S, R(), d ); } Object.defineProperty(g, m, v); }), Object.preventExtensions(g); }, o = /* @__PURE__ */ new WeakMap(), a = [1, 1], c = (l) => { if (!Xc(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, v.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); }, v = /* @__PURE__ */ new Map(), S = (P, K) => { if ((nc ? "production" : void 0) !== "production" && v.has(P)) throw new Error("prop listener already exists"); if (f.size) { const j = K[3](E(P)); v.set(P, [K, j]); } else v.set(P, [K]); }, R = (P) => { var K; const j = v.get(P); j && (v.delete(P), (K = j[1]) == null || K.call(j)); }, T = (P) => (f.add(P), f.size === 1 && v.forEach(([j, Q], le) => { if ((nc ? "production" : void 0) !== "production" && Q) throw new Error("remove already exists"); const q = j[3](E(le)); v.set(le, [j, q]); }), () => { f.delete(P), f.size === 0 && v.forEach(([j, Q], le) => { Q && (Q(), v.set(le, [j])); }); }), k = Array.isArray(l) ? [] : Object.create(Object.getPrototypeOf(l)), _ = e(k, { 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), Xc(j) && (j = fA(j) || j); let C = j; if (j instanceof Promise) j.then((I) => { j.status = "fulfilled", j.value = I, g(["resolve", [K], I]); }).catch((I) => { j.status = "rejected", j.reason = I, g(["reject", [K], I]); }); else { !Qn.has(j) && r(j) && (C = c(j)); const I = !uo.has(C) && Qn.get(C); I && S(K, I); } return Reflect.set(P, K, C, Q), g(["set", [K], j, q]), !0; } }); o.set(l, _); const L = [ k, w, s, T ]; return Qn.set(_, L), Reflect.ownKeys(l).forEach((P) => { const K = Object.getOwnPropertyDescriptor( l, P ); "value" in K && (_[P] = l[P], delete K.value, delete K.writable), Object.defineProperty(k, P, K); }), _; }) => [ // public functions c, // shared state Qn, uo, // internal things t, e, r, n, i, s, o, a ], [mA] = gA(); function lt(t = {}) { return mA(t); } function Xt(t, e, r) { const n = Qn.get(t); (nc ? "production" : void 0) !== "production" && !n && console.warn("Please use proxy object"); let i; const s = [], o = n[3]; let a = !1; const l = o((u) => { s.push(u), i || (i = Promise.resolve().then(() => { i = void 0, a && e(s.splice(0)); })); }); return a = !0, () => { a = !1, l(); }; } function To(t, e) { const r = Qn.get(t); (nc ? "production" : void 0) !== "production" && !r && console.warn("Please use proxy object"); const [n, i, s] = r; return s(n, i(), e); } function Pi(t) { return uo.add(t), t; } function $t(t, e, r, n) { let i = t[e]; return Xt( t, () => { const s = t[e]; Object.is(i, s) || r(i = s); } ); } function wA(t) { const e = lt({ data: Array.from([]), has(r) { return this.data.some((n) => n[0] === r); }, set(r, n) { const i = this.data.find((s) => s[0] === r); return i ? i[1] = n : this.data.push([r, n]), this; }, get(r) { var n; return (n = this.data.find((i) => i[0] === r)) == null ? void 0 : n[1]; }, delete(r) { const n = this.data.findIndex((i) => i[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 sn = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function Sc(t) { return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t; } function AA(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 i = Object.getOwnPropertyDescriptor(t, n); Object.defineProperty(r, n, i.get ? i : { enumerable: !0, get: function() { return t[n]; } }); }), r; } const Kf = { 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 yA = 20, EA = 1, Di = 1e6, Od = 1e6, CA = -7, bA = 21, vA = !1, ta = "[big.js] ", ji = ta + "Invalid ", Nc = ji + "decimal places", IA = ji + "rounding mode", Qf = ta + "Division by zero", ze = {}, ln = void 0, SA = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i; function Wf() { function t(e) { var r = this; if (!(r instanceof t)) return e === ln ? Wf() : 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(ji + "value"); e = e === 0 && 1 / e < 0 ? "-0" : String(e); } NA(r, e); } r.constructor = t; } return t.prototype = ze, t.DP = yA, t.RM = EA, t.NE = CA, t.PE = bA, t.strict = vA, t.roundDown = 0, t.roundHalfUp = 1, t.roundHalfEven = 2, t.roundUp = 3, t; } function NA(t, e) { var r, n, i; if (!SA.test(e)) throw Error(ji + "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), i = e.length, n = 0; n < i && e.charAt(n) == "0"; ) ++n; if (n == i) t.c = [t.e = 0]; else { for (; i > 0 && e.charAt(--i) == "0"; ) ; for (t.e = r - n - 1, t.c = [], r = 0; n <= i; ) t.c[r++] = +e.charAt(n++); } return t; } function qi(t, e, r, n) { var i = t.c; if (r === ln && (r = t.constructor.RM), r !== 0 && r !== 1 && r !== 2 && r !== 3) throw Error(IA); if (e < 1) n = r === 3 && (n || !!i[0]) || e === 0 && (r === 1 && i[0] >= 5 || r === 2 && (i[0] > 5 || i[0] === 5 && (n || i[1] !== ln))), i.length = 1, n ? (t.e = t.e - e + 1, i[0] = 1) : i[0] = t.e = 0; else if (e < i.length) { if (n = r === 1 && i[e] >= 5 || r === 2 && (i[e] > 5 || i[e] === 5 && (n || i[e + 1] !== ln || i[e - 1] & 1)) || r === 3 && (n || !!i[0]), i.length = e, n) { for (; ++i[--e] > 9; ) if (i[e] = 0, e === 0) { ++t.e, i.unshift(1); break; } } for (e = i.length; !i[--e]; ) i.pop(); } return t; } function Vi(t, e, r) { var n = t.e, i = t.c.join(""), s = i.length; if (e) i = i.charAt(0) + (s > 1 ? "." + i.slice(1) : "") + (n < 0 ? "e" : "e+") + n; else if (n < 0) { for (; ++n; ) i = "0" + i; i = "0." + i; } else if (n > 0) if (++n > s) for (n -= s; n--; ) i += "0"; else n < s && (i = i.slice(0, n) + "." + i.slice(n)); else s > 1 && (i = i.charAt(0) + "." + i.slice(1)); return t.s < 0 && r ? "-" + i : i; } 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, i = (t = new r.constructor(t)).c, s = r.s, o = t.s, a = r.e, c = t.e; if (!n[0] || !i[0]) return n[0] ? s : i[0] ? -o : 0; if (s != o) return s; if (e = s < 0, a != c) return a > c ^ e ? 1 : -1; for (o = (a = n.length) < (c = i.length) ? a : c, s = -1; ++s < o; ) if (n[s] != i[s]) return n[s] > i[s] ^ 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, i = (t = new r(t)).c, s = e.s == t.s ? 1 : -1, o = r.DP; if (o !== ~~o || o < 0 || o > Di) throw Error(Nc); if (!i[0]) throw Error(Qf); if (!n[0]) return t.s = s, t.c = [t.e = 0], t; var a, c, l, u, d, f = i.slice(), g = a = i.length, m = n.length, w = n.slice(0, a), E = w.length, v = t, S = v.c = [], R = 0, T = o + (v.e = e.e - t.e) + 1; for (v.s = s, s = 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 (i[d] != w[d]) { u = i[d] > w[d] ? 1 : -1; break; } if (u < 0) { for (c = E == a ? i : 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] !== ln) && s--); return !S[0] && R != 1 && (S.shift(), v.e--, T--), R > T && qi(v, T, r.RM, w[0] !== ln), v; }; 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, i, s = this, o = s.constructor, a = s.s, c = (t = new o(t)).s; if (a != c) return t.s = -c, s.plus(t); var l = s.c.slice(), u = s.e, d = t.c, f = t.e; if (!l[0] || !d[0]) return d[0] ? t.s = -c : l[0] ? t = new o(s) : t.s = 1, t; if (a = u - f) { for ((i = a < 0) ? (a = -a, n = l) : (f = u, n = d), n.reverse(), c = a; c--; ) n.push(0); n.reverse(); } else for (r = ((i = l.length < d.length) ? l : d).length, a = c = 0; c < r; c++) if (l[c] != d[c]) { i = l[c] < d[c]; break; } if (i && (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, i = r.s, s = (t = new n(t)).s; if (!t.c[0]) throw Error(Qf); return r.s = t.s = 1, e = t.cmp(r) == 1, r.s = i, t.s = s, e ? new n(r) : (i = n.DP, s = n.RM, n.DP = n.RM = 0, r = r.div(t), n.DP = i, n.RM = s, 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, i = this, s = i.constructor; if (t = new s(t), i.s != t.s) return t.s = -t.s, i.minus(t); var o = i.e, a = i.c, c = t.e, l = t.c; if (!a[0] || !l[0]) return l[0] || (a[0] ? t = new s(i) : t.s = i.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, i = t < 0; if (t !== ~~t || t < -Od || t > Od) throw Error(ji + "exponent"); for (i && (t = -t); t & 1 && (n = n.times(e)), t >>= 1, !!t; ) e = e.times(e); return i ? r.div(n) : n; }; ze.prec = function(t, e) { if (t !== ~~t || t < 1 || t > Di) throw Error(ji + "precision"); return qi(new this.constructor(this), t, e); }; ze.round = function(t, e) { if (t === ln) t = 0; else if (t !== ~~t || t < -Di || t > Di) throw Error(Nc); return qi(new this.constructor(this), t + this.e + 1, e); }; ze.sqrt = function() { var t, e, r, n = this, i = n.constructor, s = n.s, o = n.e, a = new i("0.5"); if (!n.c[0]) return new i(n); if (s < 0) throw Error(ta + "No square root"); s = Math.sqrt(+Vi(n, !0, !0)), s === 0 || s === 1 / 0 ? (e = n.c.join(""), e.length + o & 1 || (e += "0"), s = Math.sqrt(e), o = ((o + 1) / 2 | 0) - (o < 0 || o & 1), t = new i((s == 1 / 0 ? "5e" : (s = s.toExponential()).slice(0, s.indexOf("e") + 1)) + o)) : t = new i(s + ""), o = t.e + (i.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 qi(t, (i.DP -= 4) + t.e + 1, i.RM); }; ze.times = ze.mul = function(t) { var e, r = this, n = r.constructor, i = r.c, s = (t = new n(t)).c, o = i.length, a = s.length, c = r.e, l = t.e; if (t.s = r.s == t.s ? 1 : -1, !i[0] || !s[0]) return t.c = [t.e = 0], t; for (t.e = c + l, o < a && (e = i, i = s, s = 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] + s[c] * i[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 !== ln) { if (t !== ~~t || t < 0 || t > Di) throw Error(Nc); for (r = qi(new r.constructor(r), ++t, e); r.c.length < t; ) r.c.push(0); } return Vi(r, !0, !!n); }; ze.toFixed = function(t, e) { var r = this, n = r.c[0]; if (t !== ln) { if (t !== ~~t || t < 0 || t > Di) throw Error(Nc); for (r = qi(new r.constructor(r), t + r.e + 1, e), t = t + r.e + 1; r.c.length < t; ) r.c.push(0); } return Vi(r, !1, !!n); }; ze[Symbol.for("nodejs.util.inspect.custom")] = ze.toJSON = ze.toString = function() { var t = this, e = t.constructor; return Vi(t, t.e <= e.NE || t.e >= e.PE, !!t.c[0]); }; ze.toNumber = function() { var t = +Vi(this, !0, !0); if (this.constructor.strict === !0 && !this.eq(t.toString())) throw Error(ta + "Imprecise conversion"); return t; }; ze.toPrecision = function(t, e) { var r = this, n = r.constructor, i = r.c[0]; if (t !== ln) { if (t !== ~~t || t < 1 || t > Di) throw Error(ji + "precision"); for (r = qi(new n(r), t, e); r.c.length < t; ) r.c.push(0); } return Vi(r, t <= r.e || r.e <= n.NE || r.e >= n.PE, !!i); }; ze.valueOf = function() { var t = this, e = t.constructor; if (e.strict === !0) throw Error(ta + "valueOf disallowed"); return Vi(t, t.e <= e.NE || t.e >= e.PE, !0); }; var Xs = Wf(); const RA = { bigNumber(t) { return t ? new Xs(t) : new Xs(0); }, multiply(t, e) { if (t === void 0 || e === void 0) return new Xs(0); const r = new Xs(t), n = new Xs(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, "")); } }, OA = [ { 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" } ] } ], TA = [ { type: "function", name: "approve", stateMutability: "nonpayable", inputs: [ { name: "spender", type: "address" }, { name: "amount", type: "uint256" } ], outputs: [{ type: "bool" }] } ], PA = [ { 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 DA(t) { return t && t.__esModule && Object.prototype.hasOwnProperty.call(t, "default") ? t.default : t; } var zf = { exports: {} }, wt = zf.exports = {}, rn, nn; function Jl() { throw new Error("setTimeout has not been defined"); } function $l() { throw new Error("clearTimeout has not been defined"); } (function() { try { typeof setTimeout == "function" ? rn = setTimeout : rn = Jl; } catch { rn = Jl; } try { typeof clearTimeout == "function" ? nn = clearTimeout : nn = $l; } catch { nn = $l; } })(); function Yf(t) { if (rn === setTimeout) return setTimeout(t, 0); if ((rn === Jl || !rn) && setTimeout) return rn = setTimeout, setTimeout(t, 0); try { return rn(t, 0); } catch { try { return rn.call(null, t, 0); } catch { return rn.call(this, t, 0); } } } function xA(t) { if (nn === clearTimeout) return clearTimeout(t); if ((nn === $l || !nn) && clearTimeout) return nn = clearTimeout, clearTimeout(t); try { return nn(t); } catch { try { return nn.call(null, t); } catch { return nn.call(this, t); } } } var Rn = [], Ss = !1, vi, Va = -1; function _A() { !Ss || !vi || (Ss = !1, vi.length ? Rn = vi.concat(Rn) : Va = -1, Rn.length && Gf()); } function Gf() { if (!Ss) { var t = Yf(_A); Ss = !0; for (var e = Rn.length; e; ) { for (vi = Rn, Rn = []; ++Va < e; ) vi && vi[Va].run(); Va = -1, e = Rn.length; } vi = null, Ss = !1, xA(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]; Rn.push(new Zf(t, e)), Rn.length === 1 && !Ss && Yf(Gf); }; function Zf(t, e) { this.fun = t, this.array = e; } Zf.prototype.run = function() { this.fun.apply(null, this.array); }; wt.title = "browser"; wt.browser = !0; wt.env = {}; wt.argv = []; wt.version = ""; wt.versions = {}; function Bn() { } wt.on = Bn; wt.addListener = Bn; wt.once = Bn; wt.off = Bn; wt.removeListener = Bn; wt.removeAllListeners = Bn; wt.emit = Bn; wt.prependListener = Bn; wt.prependOnceListener = Bn; 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 BA = zf.exports; const je = /* @__PURE__ */ DA(BA), ee = { 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" }, kA = { getERC20Abi: (t) => ee.USDT_CONTRACT_ADDRESSES.includes(t) ? PA : OA, getSwapAbi: () => TA }, Un = { 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, i] = e; if (!r || !n || !i) throw new Error(`Invalid CAIP-10 address: ${t}`); return { chainNamespace: r, chainId: n, address: i }; }, 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 Jc(t) { if (!t) throw new Error("Namespace is required for CONNECTED_CONNECTOR_ID"); return `@appkit/${t}:connected_connector_id`; } const Ce = { setItem(t, e) { ho() && e !== void 0 && localStorage.setItem(t, e); }, getItem(t) { if (ho()) return localStorage.getItem(t) || void 0; }, removeItem(t) { ho() && localStorage.removeItem(t); }, clear() { ho() && localStorage.clear(); } }; function ho() { return typeof window < "u" && typeof localStorage < "u"; } function On(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 $c = ( // 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" ), Pk = [ { 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"] } ], Dk = "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: $c, SECURE_SITE_DASHBOARD: `${$c}/dashboard`, SECURE_SITE_FAVICON: `${$c}/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 = Jc(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 = Jc(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 = Jc(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 i() { t(...n); } r && clearTimeout(r), r = setTimeout(i, 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, i = r; n.includes("://") || (n = t.replaceAll("/", "").replaceAll(":", ""), n = `${n}://`), n.endsWith("/") || (n = `${n}/`), i && !(i != null && i.endsWith("/")) && (i = `${i}/`), this.isTelegram() && this.isAndroid() && (e = encodeURIComponent(e)); const s = encodeURIComponent(e); return { redirect: `${n}wc?uri=${s}`, redirectUniversalLink: i ? `${i}wc?uri=${s}` : 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, i; 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 = (i = window == null ? void 0 : window.navigator) == null ? void 0 : i.standalone; return !!(t || e); }, async preloadImage(t) { const e = new Promise((r, n) => { const i = new Image(); i.onload = r, i.onerror = n, i.crossOrigin = "anonymous", i.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 i = Math.floor(n * 1e3) / 1e3; i && (r = i.toString()); } } return `${r}${e ? ` ${e}` : ""}`; }, formatBalance2(t, e) { var n; let r; if (t === "0") r = "0"; else if (typeof t == "string") { const i = Number(t); i && (r = (n = i.toString().match(/^-?\d+(?:\.\d{0,3})?/u)) == null ? void 0 : n[0]); } return { value: r ?? "0", rest: r === "0" ? "000" : "", symbol: e }; }, getApiUrl() { return ee.W3M_API_URL; }, getBlockchainApiUrl() { return ee.BLOCKCHAIN_API_RPC_URL; }, getAnalyticsUrl() { return ee.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, i) => { r[n] = i; }), e.sort((n, i) => { const s = r[n.id], o = r[i.id]; return s !== void 0 && o !== void 0 ? s - o : s !== 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 }; }, isAddress(t, e = "eip155") { switch (e) { case "eip155": if (/^(?:0x)?[0-9a-f]{40}$/iu.test(t)) { if (/^(?:0x)?