UNPKG

@txnlab/use-wallet

Version:

TypeScript library for integrating Algorand wallets into decentralized applications

877 lines (875 loc) 304 kB
"use strict"; var __create = Object.create; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __esm = (fn2, res) => function __init() { return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res; }; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM // file that has been converted to a CommonJS file using a Babel- // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // ../../node_modules/.pnpm/@magic-sdk+types@24.18.1/node_modules/@magic-sdk/types/dist/es/index.mjs var l, m, v, u, _, f, M, g, E, x, y, A, R, I, N, h, T, O, S, b, C, F, U, k, w, L, D, V, G, H, q, W, J, Y, B, P, j, Q, X; var init_es = __esm({ "../../node_modules/.pnpm/@magic-sdk+types@24.18.1/node_modules/@magic-sdk/types/dist/es/index.mjs"() { "use strict"; l = ((p) => (p.MissingApiKey = "MISSING_API_KEY", p.ModalNotReady = "MODAL_NOT_READY", p.ConnectionLost = "CONNECTION_WAS_LOST", p.MalformedResponse = "MALFORMED_RESPONSE", p.InvalidArgument = "INVALID_ARGUMENT", p.ExtensionNotInitialized = "EXTENSION_NOT_INITIALIZED", p.IncompatibleExtensions = "INCOMPATIBLE_EXTENSIONS", p))(l || {}); m = ((o) => (o.SyncWeb3Method = "SYNC_WEB3_METHOD", o.DuplicateIframe = "DUPLICATE_IFRAME", o.ReactNativeEndpointConfiguration = "REACT_NATIVE_ENDPOINT_CONFIGURATION", o.DeprecationNotice = "DEPRECATION_NOTICE", o.ProductAnnouncement = "ANNOUNCEMENT", o))(m || {}); v = ((i) => (i[i.ParseError = -32700] = "ParseError", i[i.InvalidRequest = -32600] = "InvalidRequest", i[i.MethodNotFound = -32601] = "MethodNotFound", i[i.InvalidParams = -32602] = "InvalidParams", i[i.InternalError = -32603] = "InternalError", i[i.MagicLinkFailedVerification = -1e4] = "MagicLinkFailedVerification", i[i.MagicLinkExpired = -10001] = "MagicLinkExpired", i[i.MagicLinkRateLimited = -10002] = "MagicLinkRateLimited", i[i.MagicLinkInvalidRedirectURL = -10006] = "MagicLinkInvalidRedirectURL", i[i.UserAlreadyLoggedIn = -10003] = "UserAlreadyLoggedIn", i[i.UpdateEmailFailed = -10004] = "UpdateEmailFailed", i[i.UserRequestEditEmail = -10005] = "UserRequestEditEmail", i[i.InactiveRecipient = -10010] = "InactiveRecipient", i[i.AccessDeniedToUser = -10011] = "AccessDeniedToUser", i[i.RedirectLoginComplete = -10015] = "RedirectLoginComplete", i))(v || {}); u = ((t) => (t.PROVIDER = "magic_3pw_provider", t.ADDRESS = "magic_3pw_address", t.CHAIN_ID = "magic_3pw_chainId", t))(u || {}); _ = ((t) => (t.WalletConnected = "wallet_connected", t.WalletRejected = "wallet_rejected", t.Web3ModalSelected = "web3modal_selected", t))(_ || {}); f = ((e) => (e.LoginWithSms = "magic_auth_login_with_sms", e.LoginWithEmailOTP = "magic_auth_login_with_email_otp", e.LoginWithMagicLink = "magic_auth_login_with_magic_link", e.LoginWithCredential = "magic_auth_login_with_credential", e.SetAuthorizationToken = "magic_auth_set_authorization_token", e.GetIdToken = "magic_auth_get_id_token", e.GenerateIdToken = "magic_auth_generate_id_token", e.GetMetadata = "magic_auth_get_metadata", e.IsLoggedIn = "magic_is_logged_in", e.Logout = "magic_auth_logout", e.UpdateEmail = "magic_auth_update_email", e.UserSettings = "magic_auth_settings", e.UserSettingsTestMode = "magic_auth_settings_testing_mode", e.LoginWithSmsTestMode = "magic_auth_login_with_sms_testing_mode", e.LoginWithEmailOTPTestMode = "magic_auth_login_with_email_otp_testing_mode", e.LoginWithMagicLinkTestMode = "magic_login_with_magic_link_testing_mode", e.LoginWithCredentialTestMode = "magic_auth_login_with_credential_testing_mode", e.GetIdTokenTestMode = "magic_auth_get_id_token_testing_mode", e.GenerateIdTokenTestMode = "magic_auth_generate_id_token_testing_mode", e.GetMetadataTestMode = "magic_auth_get_metadata_testing_mode", e.IsLoggedInTestMode = "magic_auth_is_logged_in_testing_mode", e.LogoutTestMode = "magic_auth_logout_testing_mode", e.UpdateEmailTestMode = "magic_auth_update_email_testing_mode", e.IntermediaryEvent = "magic_intermediary_event", e.RequestAccounts = "eth_requestAccounts", e.GetInfo = "magic_get_info", e.ShowUI = "magic_wallet", e.NFTPurchase = "magic_nft_purchase", e.NFTCheckout = "magic_nft_checkout", e.NFTTransfer = "magic_nft_transfer", e.RequestUserInfoWithUI = "mc_request_user_info", e.Disconnect = "mc_disconnect", e.RecoverAccount = "magic_auth_recover_account", e.RecoverAccountTestMode = "magic_auth_recover_account_testing_mode", e.MagicBoxHeartBeat = "magic_box_heart_beat", e.AutoConnect = "mc_auto_connect", e.Login = "mc_login", e.EncryptV1 = "magic_auth_encrypt_v1", e.DecryptV1 = "magic_auth_decrypt_v1", e.ShowNFTs = "magic_show_nfts", e.ShowOnRamp = "magic_show_fiat_onramp", e.ShowSendTokensUI = "magic_show_send_tokens_ui", e.ShowAddress = "magic_show_address", e.ShowBalances = "magic_show_balances", e.SendGaslessTransaction = "eth_sendGaslessTransaction", e.RevealPK = "magic_reveal_key", e.EnableMFA = "magic_auth_enable_mfa_flow", e.DisableMFA = "magic_auth_disable_mfa_flow", e))(f || {}); M = ["magic_intermediary_event", "magic_nft_checkout", "mc_login"]; g = ((c2) => (c2.MAGIC_HANDLE_RESPONSE = "MAGIC_HANDLE_RESPONSE", c2.MAGIC_OVERLAY_READY = "MAGIC_OVERLAY_READY", c2.MAGIC_SHOW_OVERLAY = "MAGIC_SHOW_OVERLAY", c2.MAGIC_HIDE_OVERLAY = "MAGIC_HIDE_OVERLAY", c2.MAGIC_HANDLE_EVENT = "MAGIC_HANDLE_EVENT", c2.MAGIC_MG_BOX_SEND_RECEIPT = "MAGIC_MG_BOX_SEND_RECEIPT", c2.MAGIC_SEND_PRODUCT_ANNOUNCEMENT = "MAGIC_SEND_PRODUCT_ANNOUNCEMENT", c2.MAGIC_PONG = "MAGIC_PONG", c2.MAGIC_POPUP_RESPONSE = "MAGIC_POPUP_RESPONSE", c2.MAGIC_POPUP_OAUTH_VERIFY_RESPONSE = "MAGIC_POPUP_OAUTH_VERIFY_RESPONSE", c2))(g || {}); E = ((d) => (d.MAGIC_HANDLE_REQUEST = "MAGIC_HANDLE_REQUEST", d.MAGIC_PING = "MAGIC_PING", d))(E || {}); x = ((t) => (t.UpdateEmail = "update-email", t.MFA = "mfa", t.Recovery = "recovery", t))(x || {}); y = ((r) => (r.Retry = "retry", r))(y || {}); A = ((d) => (d.EmailSent = "email-sent", d.EmailNotDeliverable = "email-not-deliverable", d))(A || {}); R = ((o) => (o.VerifyEmailOtp = "verify-email-otp", o.VerifyMFACode = "verify-mfa-code", o.LostDevice = "lost-device", o.VerifyRecoveryCode = "verify-recovery-code", o.Cancel = "cancel", o))(R || {}); I = ((t) => (t.VerifySmsOtp = "verify-sms-otp", t.Cancel = "cancel", t.Retry = "retry", t))(I || {}); N = ((t) => (t.SmsOTPSent = "sms-otp-sent", t.InvalidSmsOtp = "invalid-sms-otp", t.ExpiredSmsOtp = "expired-sms-otp", t))(N || {}); h = ((a2) => (a2.EmailOTPSent = "email-otp-sent", a2.InvalidEmailOtp = "invalid-email-otp", a2.InvalidMfaOtp = "invalid-mfa-otp", a2.ExpiredEmailOtp = "expired-email-otp", a2.MfaSentHandle = "mfa-sent-handle", a2.RecoveryCodeSentHandle = "recovery-code-sent-handle", a2.InvalidRecoveryCode = "invalid-recovery-code", a2.RecoveryCodeSuccess = "recovery-code-success", a2))(h || {}); T = ((r) => (r.Retry = "device-retry", r))(T || {}); O = ((n) => (n.DeviceApproved = "device-approved", n.DeviceNeedsApproval = "device-needs-approval", n.DeviceVerificationLinkExpired = "device-verification-link-expired", n.DeviceVerificationEmailSent = "device-verification-email-sent", n))(O || {}); S = ((n) => (n.Retry = "Recency/auth-factor-retry", n.Cancel = "Recency/auth-factor-verification-cancel", n.VerifyEmailOtp = "Recency/auth-factor-verify-email-otp", n.VerifyMFACode = "Recency/verify-mfa-code", n))(S || {}); b = ((s) => (s.PrimaryAuthFactorNeedsVerification = "Recency/auth-factor-needs-verification", s.PrimaryAuthFactorVerified = "Recency/auth-factor-verified", s.InvalidEmailOtp = "Recency/auth-factor-invalid-email-otp", s.EmailExpired = "Recency/auth-factor-verification-email-expired", s.EmailSent = "Recency/auth-factor-verification-email-sent", s.EmailNotDeliverable = "Recency/auth-factor-verification-email-not-deliverable", s))(b || {}); C = ((t) => (t.RetryWithNewEmail = "UpdateEmail/retry-with-new-email", t.Cancel = "UpdateEmail/new-email-verification-cancel", t.VerifyEmailOtp = "UpdateEmail/new-email-verify-otp", t))(C || {}); F = ((a2) => (a2.NewAuthFactorNeedsVerification = "UpdateEmail/new-email-needs-verification", a2.EmailUpdated = "UpdateEmail/email-updated", a2.InvalidEmailOtp = "UpdateEmail/new-email-invalid-email-otp", a2.EmailExpired = "UpdateEmail/new-email-verification-email-expired", a2.EmailSent = "UpdateEmail/new-email-verification-email-sent", a2.EmailNotDeliverable = "UpdateEmail/new-email-verification-email-not-deliverable", a2.InvalidEmail = "UpdateEmail/new-email-invalid", a2.EmailAlreadyExists = "UpdateEmail/new-email-already-exists", a2))(F || {}); U = ((r) => (r.IDTokenCreated = "Auth/id-token-created", r))(U || {}); k = ((r) => (r.Cancel = "Farcaster/cancel", r))(k || {}); w = ((t) => (t.MFASecretGenerated = "mfa-secret-generated", t.InvalidMFAOtp = "invalid-mfa-otp", t.MFARecoveryCodes = "mfa-recovery-codes", t))(w || {}); L = ((d) => (d.VerifyMFACode = "verify-mfa-code", d.Cancel = "cancel-mfa-setup", d))(L || {}); D = ((t) => (t.MFACodeRequested = "mfa-code-requested", t.InvalidMFAOtp = "invalid-mfa-otp", t.InvalidRecoveryCode = "invalid-recovery-code", t))(D || {}); V = ((t) => (t.VerifyMFACode = "verify-mfa-code", t.LostDevice = "lost-device", t.Cancel = "cancel-mfa-disable", t))(V || {}); G = ((r) => (r.Harmony = "HARMONY", r))(G || {}); H = ((r) => (r.ClosedByUser = "closed-by-user", r))(H || {}); q = ((r) => (r.ClosedByUser = "closed-by-user-on-received", r))(q || {}); W = ((o) => (o.EnterNewPhoneNumber = "enter-new-phone-number", o.EnterOtpCode = "enter-otp-code", o.RecoveryFactorAlreadyExists = "recovery-factor-already-exists", o.MalformedPhoneNumber = "malformed-phone-number", o.InvalidOtpCode = "invalid-otp-code", o))(W || {}); J = ((n) => (n.SendNewPhoneNumber = "send-new-phone-number", n.SendOtpCode = "send-otp-code", n.Cancel = "cancel", n.StartEditPhoneNumber = "start-edit-phone-number", n))(J || {}); Y = ((r) => (r.PhoneNumber = "phone_number", r))(Y || {}); B = ((s) => (s.SmsOtpSent = "sms-otp-sent", s.LoginThrottled = "login-throttled", s.InvalidSmsOtp = "invalid-sms-otp", s.SmsVerified = "sms-verified", s.AccountRecovered = "account-recovered", s.UpdateEmailRequired = "update-email-required", s))(B || {}); P = ((n) => (n.Cancel = "cancel", n.VerifyOtp = "verify-otp-code", n.ResendSms = "resend-sms-otp", n.UpdateEmail = "update-email", n))(P || {}); j = ((n) => (n.Success = "nft-checkout-success", n.Failure = "nft-checkout-failure", n.Initiated = "nft-checkout-initiated", n.Disconnect = "disconnect", n))(j || {}); Q = ((r) => (r.WalletInfoFetched = "Wallet/wallet-info-fetched", r))(Q || {}); X = ((r) => (r.CloseMagicWindow = "close-magic-window", r))(X || {}); } }); // ../../node_modules/.pnpm/@magic-sdk+provider@28.20.0_localforage@1.10.0/node_modules/@magic-sdk/provider/dist/es/index.mjs function lr(r) { let e = { exports: {} }; return r(e, e.exports), e.exports; } function jr(r) { return String.fromCharCode(parseInt(r.slice(1), 16)); } function Vr(r) { return `%${`00${r.charCodeAt(0).toString(16)}`.slice(-2)}`; } function Hr(r) { return btoa(encodeURIComponent(r).replace(/%[0-9A-F]{2}/g, jr)); } function Br(r) { return decodeURIComponent(Array.from(atob(r), Vr).join("")); } function Re(r) { return Hr(JSON.stringify(r)); } function gt(r) { return JSON.parse(Br(r)); } function O2(r) { return typeof r == "undefined"; } function Yr(r) { return r === null; } function ve(r) { return Yr(r) || O2(r); } function yt(r) { return ve(r) ? false : !O2(r.jsonrpc) && !O2(r.id) && (!O2(r.result) || !O2(r.error)); } function Rt(r) { return ve(r) ? false : typeof r == "number" && Object.values(v).includes(r); } function ce(r) { if (!r) return true; for (let e in r) if (Object.hasOwnProperty.call(r, e)) return false; return true; } function Qr(r, e) { return Object.assign(m2, e), r; } function It() { return new C2(l.MissingApiKey, "Please provide an API key that you acquired from the Magic developer dashboard."); } function Tt() { return new C2(l.ModalNotReady, "Modal is not ready."); } function bt() { return new C2(l.MalformedResponse, "Response from the Magic iframe is malformed."); } function Pt(r) { return new C2(l.ExtensionNotInitialized, `Extensions must be initialized with a Magic SDK instance before \`Extension.${r}\` can be accessed. Do not invoke \`Extension.${r}\` inside an extension constructor.`); } function wt(r) { let e = `Some extensions are incompatible with \`${m2.sdkName}@${m2.version}\`:`; return r.filter((t) => typeof t.compat != "undefined" && t.compat !== null).forEach((t) => { let n = t.compat[m2.sdkName]; typeof n == "string" ? e += ` - Extension \`${t.name}\` supports version(s) \`${n}\`` : n || (e += ` - Extension \`${t.name}\` does not support ${m2.platform} environments.`); }), new C2(l.IncompatibleExtensions, e); } function xt(r) { let e = (t) => { let n = t + 1, o = n % 10, s = n % 100; return o === 1 && s !== 11 ? `${n}st` : o === 2 && s !== 12 ? `${n}nd` : o === 3 && s !== 13 ? `${n}rd` : `${n}th`; }; return new C2(l.InvalidArgument, `Invalid ${e(r.argument)} argument given to \`${r.procedure}\`. Expected: \`${r.expected}\` Received: \`${r.received}\``); } function Xn() { return new F2(m.DuplicateIframe, "Duplicate iframes found."); } function Mt() { return new F2(m.SyncWeb3Method, "Non-async web3 methods are deprecated in web3 > 1.0 and are not supported by the Magic web3 provider. Please use an async method instead."); } function St() { return new F2(m.ReactNativeEndpointConfiguration, `CUSTOM DOMAINS ARE NOT SUPPORTED WHEN USING MAGIC SDK WITH REACT NATIVE! The \`endpoint\` parameter SHOULD NOT be provided. The Magic \`<iframe>\` is automatically wrapped by a WebView pointed at \`${m2.defaultEndpoint}\`. Changing this default behavior will lead to unexpected results and potentially security-threatening bugs.`); } function W2(r) { let { method: e, removalVersions: t, useInstead: n } = r, o = t[m2.sdkName], s = n ? ` Use \`${n}\` instead.` : "", i = `\`${e}\` will be removed from \`${m2.sdkName}\` in version \`${o}\`.${s}`; return new F2(m.DeprecationNotice, i); } function* en() { let r = 0; for (; ; ) r < Number.MAX_SAFE_INTEGER ? yield ++r : r = 0; } function We() { return tn.next().value; } function At(r) { return Object.defineProperty(r, Nt, { value: true, enumerable: false }), r; } function rn(r) { return !!r[Nt]; } function H2(r) { var e, t, n; return rn(r) || (r.jsonrpc = (e = r.jsonrpc) != null ? e : "2.0", r.id = We(), r.method = (t = r.method) != null ? t : "noop", r.params = (n = r.params) != null ? n : [], At(r)), r; } function u2(r, e = []) { return At({ params: e, method: r, jsonrpc: "2.0", id: We() }); } function be() { let r = new Ge(); return { emitter: r, createChainingEmitterMethod: (n, o) => (...s) => (r[n].apply(r, s), o), createBoundEmitterMethod: (n) => (...o) => r[n].apply(r, o) }; } function _t(r) { return !!r[Ot]; } function x2(r) { let e = Ke(r), { createBoundEmitterMethod: t, createChainingEmitterMethod: n } = be(), o = Symbol("Promise.then"), s = Symbol("Promise.catch"), i = Symbol("Promise.finally"), a2 = (d, p) => (...M2) => { let v2 = p[d].apply(p, M2); return c2(v2); }, c2 = (d) => Object.assign(d, { [Ot]: true, [o]: d[o] || d.then, [s]: d[s] || d.catch, [i]: d[i] || d.finally, then: a2(o, d), catch: a2(s, d), finally: a2(i, d), on: n("on", d), once: n("once", d), addListener: n("addListener", d), off: n("off", d), removeListener: n("removeListener", d), removeAllListeners: n("removeAllListeners", d), emit: t("emit"), eventNames: t("eventNames"), listeners: t("listeners"), listenerCount: t("listenerCount") }), l2 = c2(e.then((d) => (l2.emit("done", d), l2.emit("settled"), d), (d) => { throw l2.emit("error", d), l2.emit("settled"), d; })); return l2.on(q.ClosedByUser, () => { l2.emit(H.ClosedByUser); }), l2; } function Ke(r) { return new Promise((e, t) => { let n = r(e, t); Promise.resolve(n).catch(t); }); } function kt(r, e) { let [t] = r.split(".").map(Number); return t >= e; } function K(r) { return (...e) => f2(this, null, function* () { return xe || (xe = yield m2.configureStorage()), yield xe.ready(), xe[r](...e); }); } function qt() { let r = window.crypto.getRandomValues(new Uint8Array(16)); r[6] = r[6] & 15 | 64, r[8] = r[8] & 191 | 128; let e = ""; return e += r[0].toString(16), e += r[1].toString(16), e += r[2].toString(16), e += r[3].toString(16), e += "-", e += r[4].toString(16), e += r[5].toString(16), e += "-", e += r[6].toString(16), e += r[7].toString(16), e += "-", e += r[8].toString(16), e += r[9].toString(16), e += "-", e += r[10].toString(16), e += r[11].toString(16), e += r[12].toString(16), e += r[13].toString(16), e += r[14].toString(16), e += r[15].toString(16), e; } function pe() { let r = typeof window != "undefined" && !!window.crypto, e = r && !!window.crypto.subtle; return r && e; } function Wt() { return f2(this, null, function* () { let r = yield yn(); if (!r) { console.info("unable to create public key or webcrypto is unsupported"); return; } let { subtle: e } = window.crypto, t = yield b2(Ve); if (!t || !e) { console.info("unable to find private key or webcrypto unsupported"); return; } let n = { iat: Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3), jti: qt() }, o = { typ: "dpop+jwt", alg: "ES256", jwk: r }, s = { protected: Ut(JSON.stringify(o)), claims: Ut(JSON.stringify(n)) }, i = vn(`${s.protected}.${s.claims}`), a2 = { name: Ft, hash: { name: "SHA-256" } }, c2 = Tn(new Uint8Array(yield e.sign(a2, t, i))); return `${s.protected}.${s.claims}.${c2}`; }); } function yn() { return f2(this, null, function* () { if (!pe()) { console.info("webcrypto is not supported"); return; } return (yield b2(Me)) || (yield Rn()), b2(Me); }); } function Rn() { return f2(this, null, function* () { let { subtle: r } = window.crypto, e = yield r.generateKey(gn, false, ["sign"]), t = yield r.exportKey("jwk", e.publicKey); yield S2(Ve, e.privateKey), yield S2(Me, t); }); } function Ut(r) { return Jt(In(r)); } function vn(r) { return new TextEncoder().encode(r); } function Jt(r) { return btoa(r).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+/g, ""); } function In(r) { return encodeURIComponent(r).replace(/%([0-9A-F]{2})/g, (t, n) => String.fromCharCode(parseInt(n, 16))); } function Tn(r) { let e = ""; return r.forEach((t) => { e += String.fromCharCode(t); }), Jt(e); } function te() { return f2(this, null, function* () { let r = []; yield je((e, t, n) => { t.startsWith(`${He}_`) && r.push(t); }); for (let e of r) yield k2(e); }); } function Gt(r) { let e = "", t = new Uint8Array(r), n = t.byteLength; for (let o = 0; o < n; o++) e += String.fromCharCode(t[o]); return window.btoa(e); } function Kt(r) { let e = window.atob(r), t = e.length, n = new Uint8Array(t); for (let o = 0; o < t; o++) n[o] = e.charCodeAt(o); return n.buffer; } function Pn() { return f2(this, null, function* () { if (!pe()) { console.info("webcrypto is not supported"); return; } let { crypto: r } = window, e = yield b2(Xe); return e || r.getRandomValues(new Uint8Array(12)); }); } function wn() { return f2(this, null, function* () { if (!pe()) { console.info("webcrypto is not supported"); return; } let { subtle: r } = window.crypto, e = yield b2(Be); return e || (yield r.generateKey({ name: ze, length: bn }, false, ["encrypt", "decrypt"])); }); } function jt(r, e) { return f2(this, null, function* () { let t = yield Pn(), n = yield wn(); if (!t || !n || !r) return; let o = Kt(r), { subtle: s } = window.crypto, i = yield s.encrypt({ name: ze, iv: t }, n, o), a2 = Gt(i); yield S2(`${He}_${e}`, a2), yield S2(Be, n), yield S2(Xe, t); }); } function Vt(r) { return f2(this, null, function* () { let e = yield b2(`${He}_${r}`), t = yield b2(Xe), n = yield b2(Be); if (!t || !e || !n || !pe()) return; let { subtle: o } = window.crypto, s = yield o.decrypt({ name: ze, iv: t }, n, Kt(e)); return Gt(s); }); } function Ye(r, e) { return e ? new URL(r, e) : new URL(r); } function Mn(r) { let e = Object.getPrototypeOf(r), t = [e]; for (; e !== R2.prototype; ) e = Object.getPrototypeOf(e), t.push(e); return t; } function zt(r) { return r.compat && r.compat[m2.sdkName] != null ? typeof r.compat[m2.sdkName] == "string" ? ft(Et(m2.version), r.compat[m2.sdkName]) : !!r.compat[m2.sdkName] : true; } function Sn(r, e, t) { return !e && !t ? `${r}_eth_mainnet` : t ? `${r}_${JSON.stringify(t)}` : e ? typeof e == "string" ? `${r}_eth_${e}` : `${r}_${e.rpcUrl}_${e.chainId}_${e.chainType}` : `${r}_unknown`; } function Nn(r) { var o; let e = (o = r == null ? void 0 : r.extensions) != null ? o : [], t = {}, n = []; if (Array.isArray(e) ? e.forEach((s) => { zt(s) ? (s.init(this), (s.name || s.name !== D2.Anonymous) && (this[s.name] = s), s instanceof D2.Internal && (ce(s.config) || (t[s.name] = s.config))) : n.push(s); }) : Object.keys(e).forEach((s) => { if (zt(e[s])) { e[s].init(this); let i = e[s]; this[s] = i, i instanceof D2.Internal && (ce(i.config) || (t[e[s].name] = i.config)); } else n.push(e[s]); }), n.length) throw wt(n); return t; } function Cn(r, e) { return e && Array.isArray(r) ? r.find((t) => t.id === e) : r; } function $n(r, e) { var o; let t = (o = e.data.response) == null ? void 0 : o.id, n = Cn(r, t); if (t && n) { let s = new J2(n).applyResult(e.data.response.result).applyError(e.data.response.error); return { id: t, response: s }; } return {}; } function Ln(r, e, t) { return f2(this, null, function* () { var a2; let n = yield b2("rt"), o; if (m2.platform === "web") try { o = (a2 = yield b2("jwt")) != null ? a2 : yield Wt(); } catch (c2) { console.error("webcrypto error", c2); } let s = { msgType: r, payload: e }; o && (s.jwt = o), o && n && (s.rt = n); let i = yield Vt(t); return i && (s.deviceShare = i), s; }); } function On(r) { return f2(this, null, function* () { !r.data.rt || (yield S2("rt", r.data.rt)); }); } var Qt, fe, Zt, er, tr, rr, rt, nr, st, sr, nt, q2, z, or, ir, ar, cr, f2, $t, dr, Fe, ur, h2, ae, ot, ht, pr, mr, it, Ee, at, ct, oe, E2, hr, Y2, fr, Er, gr, yr, Rr, vr, Ir, Tr, br, Pr, wr, xr, Mr, Ue, ie, U2, lt, dt, L2, I2, y2, Sr, Nr, Ar, ut, Cr, P2, $r, Lr, Or, _r, kr, Dr, qr, Ur, Fr, Wr, ft, Jr, pt, mt, Gr, Kr, ge, ye, Et, m2, vt, C2, _2, F2, Q2, le, tn, Nt, J2, Lt, Ge, Ot, R2, B2, we, ue, xe, b2, S2, k2, pn, mn, hn, fn, je, Ve, Me, Ft, En, gn, He, Be, Xe, ze, bn, Ne, Ae, $e, Le, se, Oe, Xt, _e, Qe, D2, De, me, qe, et; var init_es2 = __esm({ "../../node_modules/.pnpm/@magic-sdk+provider@28.20.0_localforage@1.10.0/node_modules/@magic-sdk/provider/dist/es/index.mjs"() { "use strict"; init_es(); init_es(); init_es(); init_es(); init_es(); init_es(); init_es(); init_es(); init_es(); init_es(); init_es(); Qt = Object.create; fe = Object.defineProperty; Zt = Object.defineProperties; er = Object.getOwnPropertyDescriptor; tr = Object.getOwnPropertyDescriptors; rr = Object.getOwnPropertyNames; rt = Object.getOwnPropertySymbols; nr = Object.getPrototypeOf; st = Object.prototype.hasOwnProperty; sr = Object.prototype.propertyIsEnumerable; nt = (r, e, t) => e in r ? fe(r, e, { enumerable: true, configurable: true, writable: true, value: t }) : r[e] = t; q2 = (r, e) => { for (var t in e || (e = {})) st.call(e, t) && nt(r, t, e[t]); if (rt) for (var t of rt(e)) sr.call(e, t) && nt(r, t, e[t]); return r; }; z = (r, e) => Zt(r, tr(e)); or = (r, e) => () => (e || r((e = { exports: {} }).exports, e), e.exports); ir = (r, e) => { for (var t in e) fe(r, t, { get: e[t], enumerable: true }); }; ar = (r, e, t, n) => { if (e && typeof e == "object" || typeof e == "function") for (let o of rr(e)) !st.call(r, o) && o !== t && fe(r, o, { get: () => e[o], enumerable: !(n = er(e, o)) || n.enumerable }); return r; }; cr = (r, e, t) => (t = r != null ? Qt(nr(r)) : {}, ar(e || !r || !r.__esModule ? fe(t, "default", { value: r, enumerable: true }) : t, r)); f2 = (r, e, t) => new Promise((n, o) => { var s = (c2) => { try { a2(t.next(c2)); } catch (l2) { o(l2); } }, i = (c2) => { try { a2(t.throw(c2)); } catch (l2) { o(l2); } }, a2 = (c2) => c2.done ? n(c2.value) : Promise.resolve(c2.value).then(s, i); a2((t = t.apply(r, e)).next()); }); $t = or((ts, Je2) => { "use strict"; var nn = Object.prototype.hasOwnProperty, w2 = "~"; function de() { } Object.create && (de.prototype = /* @__PURE__ */ Object.create(null), new de().__proto__ || (w2 = false)); function sn(r, e, t) { this.fn = r, this.context = e, this.once = t || false; } function Ct(r, e, t, n, o) { if (typeof t != "function") throw new TypeError("The listener must be a function"); var s = new sn(t, n || r, o), i = w2 ? w2 + e : e; return r._events[i] ? r._events[i].fn ? r._events[i] = [r._events[i], s] : r._events[i].push(s) : (r._events[i] = s, r._eventsCount++), r; } function Te(r, e) { --r._eventsCount === 0 ? r._events = new de() : delete r._events[e]; } function T2() { this._events = new de(), this._eventsCount = 0; } T2.prototype.eventNames = function() { var e = [], t, n; if (this._eventsCount === 0) return e; for (n in t = this._events) nn.call(t, n) && e.push(w2 ? n.slice(1) : n); return Object.getOwnPropertySymbols ? e.concat(Object.getOwnPropertySymbols(t)) : e; }; T2.prototype.listeners = function(e) { var t = w2 ? w2 + e : e, n = this._events[t]; if (!n) return []; if (n.fn) return [n.fn]; for (var o = 0, s = n.length, i = new Array(s); o < s; o++) i[o] = n[o].fn; return i; }; T2.prototype.listenerCount = function(e) { var t = w2 ? w2 + e : e, n = this._events[t]; return n ? n.fn ? 1 : n.length : 0; }; T2.prototype.emit = function(e, t, n, o, s, i) { var a2 = w2 ? w2 + e : e; if (!this._events[a2]) return false; var c2 = this._events[a2], l2 = arguments.length, d, p; if (c2.fn) { switch (c2.once && this.removeListener(e, c2.fn, void 0, true), l2) { case 1: return c2.fn.call(c2.context), true; case 2: return c2.fn.call(c2.context, t), true; case 3: return c2.fn.call(c2.context, t, n), true; case 4: return c2.fn.call(c2.context, t, n, o), true; case 5: return c2.fn.call(c2.context, t, n, o, s), true; case 6: return c2.fn.call(c2.context, t, n, o, s, i), true; } for (p = 1, d = new Array(l2 - 1); p < l2; p++) d[p - 1] = arguments[p]; c2.fn.apply(c2.context, d); } else { var M2 = c2.length, v2; for (p = 0; p < M2; p++) switch (c2[p].once && this.removeListener(e, c2[p].fn, void 0, true), l2) { case 1: c2[p].fn.call(c2[p].context); break; case 2: c2[p].fn.call(c2[p].context, t); break; case 3: c2[p].fn.call(c2[p].context, t, n); break; case 4: c2[p].fn.call(c2[p].context, t, n, o); break; default: if (!d) for (v2 = 1, d = new Array(l2 - 1); v2 < l2; v2++) d[v2 - 1] = arguments[v2]; c2[p].fn.apply(c2[p].context, d); } } return true; }; T2.prototype.on = function(e, t, n) { return Ct(this, e, t, n, false); }; T2.prototype.once = function(e, t, n) { return Ct(this, e, t, n, true); }; T2.prototype.removeListener = function(e, t, n, o) { var s = w2 ? w2 + e : e; if (!this._events[s]) return this; if (!t) return Te(this, s), this; var i = this._events[s]; if (i.fn) i.fn === t && (!o || i.once) && (!n || i.context === n) && Te(this, s); else { for (var a2 = 0, c2 = [], l2 = i.length; a2 < l2; a2++) (i[a2].fn !== t || o && !i[a2].once || n && i[a2].context !== n) && c2.push(i[a2]); c2.length ? this._events[s] = c2.length === 1 ? c2[0] : c2 : Te(this, s); } return this; }; T2.prototype.removeAllListeners = function(e) { var t; return e ? (t = w2 ? w2 + e : e, this._events[t] && Te(this, t)) : (this._events = new de(), this._eventsCount = 0), this; }; T2.prototype.off = T2.prototype.removeListener; T2.prototype.addListener = T2.prototype.on; T2.prefixed = w2; T2.EventEmitter = T2; typeof Je2 < "u" && (Je2.exports = T2); }); dr = Number.MAX_SAFE_INTEGER || 9007199254740991; Fe = { SEMVER_SPEC_VERSION: "2.0.0", MAX_LENGTH: 256, MAX_SAFE_INTEGER: dr, MAX_SAFE_COMPONENT_LENGTH: 16 }; ur = typeof process == "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...r) => console.error("SEMVER", ...r) : () => { }; h2 = ur; ae = lr(function(r, e) { let { MAX_SAFE_COMPONENT_LENGTH: t } = Fe, n = (e = r.exports = {}).re = [], o = e.src = [], s = e.t = {}, i = 0, a2 = (c2, l2, d) => { let p = i++; h2(p, l2), s[c2] = p, o[p] = l2, n[p] = new RegExp(l2, d ? "g" : void 0); }; a2("NUMERICIDENTIFIER", "0|[1-9]\\d*"), a2("NUMERICIDENTIFIERLOOSE", "[0-9]+"), a2("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*"), a2("MAINVERSION", `(${o[s.NUMERICIDENTIFIER]})\\.(${o[s.NUMERICIDENTIFIER]})\\.(${o[s.NUMERICIDENTIFIER]})`), a2("MAINVERSIONLOOSE", `(${o[s.NUMERICIDENTIFIERLOOSE]})\\.(${o[s.NUMERICIDENTIFIERLOOSE]})\\.(${o[s.NUMERICIDENTIFIERLOOSE]})`), a2("PRERELEASEIDENTIFIER", `(?:${o[s.NUMERICIDENTIFIER]}|${o[s.NONNUMERICIDENTIFIER]})`), a2("PRERELEASEIDENTIFIERLOOSE", `(?:${o[s.NUMERICIDENTIFIERLOOSE]}|${o[s.NONNUMERICIDENTIFIER]})`), a2("PRERELEASE", `(?:-(${o[s.PRERELEASEIDENTIFIER]}(?:\\.${o[s.PRERELEASEIDENTIFIER]})*))`), a2("PRERELEASELOOSE", `(?:-?(${o[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${o[s.PRERELEASEIDENTIFIERLOOSE]})*))`), a2("BUILDIDENTIFIER", "[0-9A-Za-z-]+"), a2("BUILD", `(?:\\+(${o[s.BUILDIDENTIFIER]}(?:\\.${o[s.BUILDIDENTIFIER]})*))`), a2("FULLPLAIN", `v?${o[s.MAINVERSION]}${o[s.PRERELEASE]}?${o[s.BUILD]}?`), a2("FULL", `^${o[s.FULLPLAIN]}$`), a2("LOOSEPLAIN", `[v=\\s]*${o[s.MAINVERSIONLOOSE]}${o[s.PRERELEASELOOSE]}?${o[s.BUILD]}?`), a2("LOOSE", `^${o[s.LOOSEPLAIN]}$`), a2("GTLT", "((?:<|>)?=?)"), a2("XRANGEIDENTIFIERLOOSE", `${o[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`), a2("XRANGEIDENTIFIER", `${o[s.NUMERICIDENTIFIER]}|x|X|\\*`), a2("XRANGEPLAIN", `[v=\\s]*(${o[s.XRANGEIDENTIFIER]})(?:\\.(${o[s.XRANGEIDENTIFIER]})(?:\\.(${o[s.XRANGEIDENTIFIER]})(?:${o[s.PRERELEASE]})?${o[s.BUILD]}?)?)?`), a2("XRANGEPLAINLOOSE", `[v=\\s]*(${o[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${o[s.XRANGEIDENTIFIERLOOSE]})(?:${o[s.PRERELEASELOOSE]})?${o[s.BUILD]}?)?)?`), a2("XRANGE", `^${o[s.GTLT]}\\s*${o[s.XRANGEPLAIN]}$`), a2("XRANGELOOSE", `^${o[s.GTLT]}\\s*${o[s.XRANGEPLAINLOOSE]}$`), a2("COERCE", `(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?(?:$|[^\\d])`), a2("COERCERTL", o[s.COERCE], true), a2("LONETILDE", "(?:~>?)"), a2("TILDETRIM", `(\\s*)${o[s.LONETILDE]}\\s+`, true), e.tildeTrimReplace = "$1~", a2("TILDE", `^${o[s.LONETILDE]}${o[s.XRANGEPLAIN]}$`), a2("TILDELOOSE", `^${o[s.LONETILDE]}${o[s.XRANGEPLAINLOOSE]}$`), a2("LONECARET", "(?:\\^)"), a2("CARETTRIM", `(\\s*)${o[s.LONECARET]}\\s+`, true), e.caretTrimReplace = "$1^", a2("CARET", `^${o[s.LONECARET]}${o[s.XRANGEPLAIN]}$`), a2("CARETLOOSE", `^${o[s.LONECARET]}${o[s.XRANGEPLAINLOOSE]}$`), a2("COMPARATORLOOSE", `^${o[s.GTLT]}\\s*(${o[s.LOOSEPLAIN]})$|^$`), a2("COMPARATOR", `^${o[s.GTLT]}\\s*(${o[s.FULLPLAIN]})$|^$`), a2("COMPARATORTRIM", `(\\s*)${o[s.GTLT]}\\s*(${o[s.LOOSEPLAIN]}|${o[s.XRANGEPLAIN]})`, true), e.comparatorTrimReplace = "$1$2$3", a2("HYPHENRANGE", `^\\s*(${o[s.XRANGEPLAIN]})\\s+-\\s+(${o[s.XRANGEPLAIN]})\\s*$`), a2("HYPHENRANGELOOSE", `^\\s*(${o[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${o[s.XRANGEPLAINLOOSE]})\\s*$`), a2("STAR", "(<|>)?=?\\s*\\*"), a2("GTE0", "^\\s*>=\\s*0.0.0\\s*$"), a2("GTE0PRE", "^\\s*>=\\s*0.0.0-0\\s*$"); }); ot = /^[0-9]+$/; ht = (r, e) => { let t = ot.test(r), n = ot.test(e); return t && n && (r = +r, e = +e), r === e ? 0 : t && !n ? -1 : n && !t ? 1 : r < e ? -1 : 1; }; pr = (r, e) => ht(e, r); mr = { compareIdentifiers: ht, rcompareIdentifiers: pr }; ({ MAX_LENGTH: it, MAX_SAFE_INTEGER: Ee } = Fe); ({ re: at, t: ct } = ae); ({ compareIdentifiers: oe } = mr); E2 = class { constructor(e, t) { if (t && typeof t == "object" || (t = { loose: !!t, includePrerelease: false }), e instanceof E2) { if (e.loose === !!t.loose && e.includePrerelease === !!t.includePrerelease) return e; e = e.version; } else if (typeof e != "string") throw new TypeError(`Invalid Version: ${e}`); if (e.length > it) throw new TypeError(`version is longer than ${it} characters`); h2("SemVer", e, t), this.options = t, this.loose = !!t.loose, this.includePrerelease = !!t.includePrerelease; let n = e.trim().match(t.loose ? at[ct.LOOSE] : at[ct.FULL]); if (!n) throw new TypeError(`Invalid Version: ${e}`); if (this.raw = e, this.major = +n[1], this.minor = +n[2], this.patch = +n[3], this.major > Ee || this.major < 0) throw new TypeError("Invalid major version"); if (this.minor > Ee || this.minor < 0) throw new TypeError("Invalid minor version"); if (this.patch > Ee || this.patch < 0) throw new TypeError("Invalid patch version"); n[4] ? this.prerelease = n[4].split(".").map((o) => { if (/^[0-9]+$/.test(o)) { let s = +o; if (s >= 0 && s < Ee) return s; } return o; }) : this.prerelease = [], this.build = n[5] ? n[5].split(".") : [], this.format(); } format() { return this.version = `${this.major}.${this.minor}.${this.patch}`, this.prerelease.length && (this.version += `-${this.prerelease.join(".")}`), this.version; } toString() { return this.version; } compare(e) { if (h2("SemVer.compare", this.version, this.options, e), !(e instanceof E2)) { if (typeof e == "string" && e === this.version) return 0; e = new E2(e, this.options); } return e.version === this.version ? 0 : this.compareMain(e) || this.comparePre(e); } compareMain(e) { return e instanceof E2 || (e = new E2(e, this.options)), oe(this.major, e.major) || oe(this.minor, e.minor) || oe(this.patch, e.patch); } comparePre(e) { if (e instanceof E2 || (e = new E2(e, this.options)), this.prerelease.length && !e.prerelease.length) return -1; if (!this.prerelease.length && e.prerelease.length) return 1; if (!this.prerelease.length && !e.prerelease.length) return 0; let t = 0; do { let n = this.prerelease[t], o = e.prerelease[t]; if (h2("prerelease compare", t, n, o), n === void 0 && o === void 0) return 0; if (o === void 0) return 1; if (n === void 0) return -1; if (n !== o) return oe(n, o); } while (++t); } compareBuild(e) { e instanceof E2 || (e = new E2(e, this.options)); let t = 0; do { let n = this.build[t], o = e.build[t]; if (h2("prerelease compare", t, n, o), n === void 0 && o === void 0) return 0; if (o === void 0) return 1; if (n === void 0) return -1; if (n !== o) return oe(n, o); } while (++t); } inc(e, t) { switch (e) { case "premajor": this.prerelease.length = 0, this.patch = 0, this.minor = 0, this.major++, this.inc("pre", t); break; case "preminor": this.prerelease.length = 0, this.patch = 0, this.minor++, this.inc("pre", t); break; case "prepatch": this.prerelease.length = 0, this.inc("patch", t), this.inc("pre", t); break; case "prerelease": this.prerelease.length === 0 && this.inc("patch", t), this.inc("pre", t); break; case "major": this.minor === 0 && this.patch === 0 && this.prerelease.length !== 0 || this.major++, this.minor = 0, this.patch = 0, this.prerelease = []; break; case "minor": this.patch === 0 && this.prerelease.length !== 0 || this.minor++, this.patch = 0, this.prerelease = []; break; case "patch": this.prerelease.length === 0 && this.patch++, this.prerelease = []; break; case "pre": if (this.prerelease.length === 0) this.prerelease = [0]; else { let n = this.prerelease.length; for (; --n >= 0; ) typeof this.prerelease[n] == "number" && (this.prerelease[n]++, n = -2); n === -1 && this.prerelease.push(0); } t && (this.prerelease[0] === t ? isNaN(this.prerelease[1]) && (this.prerelease = [t, 0]) : this.prerelease = [t, 0]); break; default: throw new Error(`invalid increment argument: ${e}`); } return this.format(), this.raw = this.version, this; } }; hr = (r, e, t) => new E2(r, t).compare(new E2(e, t)); Y2 = hr; fr = (r, e, t) => Y2(r, e, t) === 0; Er = fr; gr = (r, e, t) => Y2(r, e, t) !== 0; yr = gr; Rr = (r, e, t) => Y2(r, e, t) > 0; vr = Rr; Ir = (r, e, t) => Y2(r, e, t) >= 0; Tr = Ir; br = (r, e, t) => Y2(r, e, t) < 0; Pr = br; wr = (r, e, t) => Y2(r, e, t) <= 0; xr = wr; Mr = (r, e, t, n) => { switch (e) { case "===": return typeof r == "object" && (r = r.version), typeof t == "object" && (t = t.version), r === t; case "!==": return typeof r == "object" && (r = r.version), typeof t == "object" && (t = t.version), r !== t; case "": case "=": case "==": return Er(r, t, n); case "!=": return yr(r, t, n); case ">": return vr(r, t, n); case ">=": return Tr(r, t, n); case "<": return Pr(r, t, n); case "<=": return xr(r, t, n); default: throw new TypeError(`Invalid operator: ${e}`); } }; Ue = Mr; ie = Symbol("SemVer ANY"); U2 = class { static get ANY() { return ie; } constructor(e, t) { if (t && typeof t == "object" || (t = { loose: !!t, includePrerelease: false }), e instanceof U2) { if (e.loose === !!t.loose) return e; e = e.value; } h2("comparator", e, t), this.options = t, this.loose = !!t.loose, this.parse(e), this.semver === ie ? this.value = "" : this.value = this.operator + this.semver.version, h2("comp", this); } parse(e) { let t = this.options.loose ? lt[dt.COMPARATORLOOSE] : lt[dt.COMPARATOR], n = e.match(t); if (!n) throw new TypeError(`Invalid comparator: ${e}`); this.operator = n[1] !== void 0 ? n[1] : "", this.operator === "=" && (this.operator = ""), n[2] ? this.semver = new E2(n[2], this.options.loose) : this.semver = ie; } toString() { return this.value; } test(e) { if (h2("Comparator.test", e, this.options.loose), this.semver === ie || e === ie) return true; if (typeof e == "string") try { e = new E2(e, this.options); } catch (t) { return false; } return Ue(e, this.operator, this.semver, this.options); } intersects(e, t) { if (!(e instanceof U2)) throw new TypeError("a Comparator is required"); if (t && typeof t == "object" || (t = { loose: !!t, includePrerelease: false }), this.operator === "") return this.value === "" || new L2(e.value, t).test(this.value); if (e.operator === "") return e.value === "" || new L2(this.value, t).test(e.semver); let n = !(this.operator !== ">=" && this.operator !== ">" || e.operator !== ">=" && e.operator !== ">"), o = !(this.operator !== "<=" && this.operator !== "<" || e.operator !== "<=" && e.operator !== "<"), s = this.semver.version === e.semver.version, i = !(this.operator !== ">=" && this.operator !== "<=" || e.operator !== ">=" && e.operator !== "<="), a2 = Ue(this.semver, "<", e.semver, t) && (this.operator === ">=" || this.operator === ">") && (e.operator === "<=" || e.operator === "<"), c2 = Ue(this.semver, ">", e.semver, t) && (this.operator === "<=" || this.operator === "<") && (e.operator === ">=" || e.operator === ">"); return n || o || s && i || a2 || c2; } }; ({ re: lt, t: dt } = ae); L2 = class { constructor(e, t) { if (t && typeof t == "object" || (t = { loose: !!t, includePrerelease: false }), e instanceof L2) return e.loose === !!t.loose && e.includePrerelease === !!t.includePrerelease ? e : new L2(e.raw, t); if (e instanceof U2) return this.raw = e.value, this.set = [[e]], this.format(), this; if (this.options = t, this.loose = !!t.loose, this.includePrerelease = !!t.includePrerelease, this.raw = e, this.set = e.split(/\s*\|\|\s*/).map((n) => this.parseRange(n.trim())).filter((n) => n.length), !this.set.length) throw new TypeError(`Invalid SemVer Range: ${e}`); this.format(); } format() { return this.range = this.set.map((e) => e.join(" ").trim()).join("||").trim(), this.range; } toString() { return this.range; } parseRange(e) { let { loose: t } = this.options; e = e.trim(); let n = t ? I2[y2.HYPHENRANGELOOSE] : I2[y2.HYPHENRANGE]; e = e.replace(n, Fr(this.options.includePrerelease)), h2("hyphen replace", e), e = e.replace(I2[y2.COMPARATORTRIM], Sr), h2("comparator trim", e, I2[y2.COMPARATORTRIM]), e = (e = (e = e.replace(I2[y2.TILDETRIM], Nr)).replace(I2[y2.CARETTRIM], Ar)).split(/\s+/).join(" "); let o = t ? I2[y2.COMPARATORLOOSE] : I2[y2.COMPARATOR]; return e.split(" ").map((s) => Cr(s, this.options)).join(" ").split(/\s+/).map((s) => Ur(s, this.options)).filter(this.options.loose ? (s) => !!s.match(o) : () => true).map((s) => new U2(s, this.options)); } intersects(e, t) { if (!(e instanceof L2)) throw new TypeError("a Range is required"); return this.set.some((n) => ut(n, t) && e.set.some((o) => ut(o, t) && n.every((s) => o.every((i) => s.intersects(i, t))))); } test(e) { if (!e) return false; if (typeof e == "string") try { e = new E2(e, this.options); } catch (t) { return false; } for (let t = 0; t < this.set.length; t++) if (Wr(this.set[t], e, this.options)) return true; return false; } }; ({ re: I2, t: y2, comparatorTrimReplace: Sr, tildeTrimReplace: Nr, caretTrimReplace: Ar } = ae); ut = (r, e) => { let t = true, n = r.slice(), o = n.pop(); for (; t && n.length; ) t = n.every((s) => o.intersects(s, e)), o = n.pop(); return t; }; Cr = (r, e) => (h2("comp", r, e), r = Or(r, e), h2("caret", r), r = $r(r, e), h2("tildes", r), r = kr(r, e), h2("xrange", r), r = qr(r, e), h2("stars", r), r); P2 = (r) => !r || r.toLowerCase() === "x" || r === "*"; $r = (r, e) => r.trim().split(/\s+/).map((t) => Lr(t, e)).join(" "); Lr = (r, e) => { let t = e.loose ? I2[y2.TILDELOOSE] : I2[y2.TILDE]; return r.replace(t, (n, o, s, i, a2) => { let c2; return h2("tilde", r, n, o, s, i, a2), P2(o) ? c2 = "" : P2(s) ? c2 = `>=${o}.0.0 <${+o + 1}.0.0-0` : P2(i) ? c2 = `>=${o}.${s}.0 <${o}.${+s + 1}.0-0` : a2 ? (h2("replaceTilde pr", a2), c2 = `>=${o}.${s}.${i}-${a2} <${o}.${+s + 1}.0-0`) : c2 = `>=${o}.${s}.${i} <${o}.${+s + 1}.0-0`, h2("tilde return", c2), c2; }); }; Or = (r, e) => r.trim().split(/\s+/).map((t) => _r(t, e)).join(" "); _r = (r, e) => { h2("caret", r, e); let t = e.loose ? I2[y2.CARETLOOSE] : I2[y2.CARET], n = e.includePrerelease ? "-0" : ""; return r.replace(t, (o, s, i, a2, c2) => { let l2; return h2("caret", r, o, s, i, a2, c2), P2(s) ? l2 = "" : P2(i) ? l2 = `>=${s}.0.0${n} <${+s + 1}.0.0-0` : P2(a2) ? l2 = s === "0" ? `>=${s}.${i}.0${n} <${s}.${+i + 1}.0-0` : `>=${s}.${i}.0${n} <${+s + 1}.0.0-0` : c2 ? (h2("replaceCaret pr", c2), l2 = s === "0" ? i === "0" ? `>=${s}.${i}.${a2}-${c2} <${s}.${i}.${+a2 + 1}-0` : `>=${s}.${i}.${a2}-${c2} <${s}.${+i + 1}.0-0` : `>=${s}.${i}.${a2}-${c2} <${+s + 1}.0.0-0`) : (h2("no pr"), l2 = s === "0" ? i === "0" ? `>=${s}.${i}.${a2}${n} <${s}.${i}.${+a2 + 1}-0` : `>=${s}.${i}.${a2}${n} <${s}.${+i + 1}.0-0` : `>=${s}.${i}.${a2} <${+s + 1}.0.0-0`), h2("caret return", l2), l2; }); }; kr = (r, e) => (h2("replaceXRanges", r, e), r.split(/\s+/).map((t) => Dr(t, e)).join(" ")); Dr = (r, e) => { r = r.trim(); let t = e.loose ? I2[y2.XRANGELOOSE] : I2[y2.XRANGE]; return r.replace(t, (n, o, s, i, a2, c2) => { h2("xRange", r, n, o, s, i, a2, c2); let l2 = P2(s), d = l2 || P2(i), p = d || P2(a2), M2 = p; return o === "=" && M2 && (o = ""), c2 = e.includePrerelease ? "-0" : "", l2 ? n = o === ">" || o === "<" ? "<0.0.0-0" : "*" : o && M2 ? (d && (i = 0), a2 = 0, o === ">" ? (o = ">=", d ? (s = +s + 1, i = 0, a2 = 0) : (i = +i + 1, a2 = 0)) : o === "<=" && (o = "<", d ? s = +s + 1 : i = +i + 1), o === "<" && (c2 = "-0"), n = `${o + s}.${i}.${a2}${c2}`) : d ? n = `>=${s}.0.0${c2} <${+s + 1}.0.0-0` : p && (n = `>=${s}.${i}.0${c2} <${s}.${+i + 1}.0-0`), h2("xRange return", n), n; }); }; qr = (r, e) => (h2("replaceStars", r, e), r.trim().replace(I2[y2.STAR], "")); Ur = (r, e) => (h2("replaceGTE0", r, e), r.trim().replace(I2[e.includePrerelease ? y2.GTE0PRE : y2.GTE0], "")); Fr = (r) => (e, t, n, o, s, i, a2, c2, l2, d, p, M2, v2) => `${t = P2(n) ? "" : P2(o) ? `>=${n}.0.0${r ? "-0" : ""}` : P2(s) ? `>=${n}.${o}.0${r ? "-0" : ""}` : i ? `>=${t}` : `>=${t}${r ? "-0" : ""}`} ${c2 = P2(l2) ? "" : P2(d) ? `<${+l2 + 1}.0.0-0` : P2(p) ? `<${l2}.${+d + 1}.0-0` : M2 ? `<=${l2}.${d}.${p}-${M2}` : r ? `<${l2}.${d}.${+p + 1}-0` : `<=${c2}`}`.trim(); Wr = (r, e, t) => { for (let n = 0; n < r.length; n++) if (!r[n].test(e)) return false; if (e.prerelease.length && !t.includePrerelease) { for (let n = 0; n < r.length; n++) if (h2(r[n].semver), r[n].semver !== U2.ANY && r[n].semver.prerelease.length > 0) { let o = r[n].semver; if (o.major === e.major && o.minor === e.minor && o.patch === e.patch) return true; } return false; } return true; }; ft = (r, e, t) => { try { e = new L2(e, t); } catch (n) { return false; } return e.test(r); }; ({ MAX_LENGTH: Jr } = Fe); ({ re: pt, t: mt } = ae); Gr = (r, e) => { if (e && typeof e == "object" || (e = { loose: !!e, includePrerelease: false }), r instanceof E2) return r; if (typeof r != "string" || r.length > Jr || !(e.loose ? pt[mt.LOOSE] : pt[mt.FULL]).test(r)) return null; try { return new E2(r, e); } catch (t) { return null; } }; Kr = Gr; ({ re: ge, t: ye } = ae); Et = (r, e) => { if (r instanceof E2) return r; if (typeof r == "number" && (r = String(r)), typeof r != "string") return null; let t = null; if ((e = e || {}).rtl) { let n; for (; (n = ge[ye.COERCERTL].exec(r)) && (!t || t.index + t[0].length !== r.length); ) t && n.index + n[0].length === t.index + t[0].length || (t = n), ge[ye.COERCERTL].lastIndex = n.index + n[1].length + n[2].length; ge[ye.COERCERTL].lastIndex = -1; } else t = r.match(ge[ye.COERCE]); return t === null ? null : Kr(`${t[2]}.${t[3] || "0"}.${t[4] || "0"}`, e); }; m2 = {}; vt = { "magic-sdk": "magic-sdk", "@magic-sdk/react-native": "magic-sdk-rn", "@magic-sdk/r