UNPKG

@txnlab/use-wallet

Version:

TypeScript library for integrating Algorand wallets into decentralized applications

852 lines (850 loc) 432 kB
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 __require = /* @__PURE__ */ ((x3) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x3, { get: (a, b3) => (typeof require !== "undefined" ? require : a)[b3] }) : x3)(function(x3) { if (typeof require !== "undefined") return require.apply(this, arguments); throw Error('Dynamic require of "' + x3 + '" is not supported'); }); var __esm = (fn, res) => function __init() { return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res; }; var __commonJS = (cb, mod) => function __require2() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; 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 )); // ../../node_modules/.pnpm/@magic-sdk+types@24.22.0/node_modules/@magic-sdk/types/dist/es/index.mjs var m, v, u, _, f, g, Z, E, y, x, A, R, I, N, h, T, O, S, b, C, F, U, k, L, w, D, G, V, H, q, W, J, Y, B, P, j, Q, X, z; var init_es = __esm({ "../../node_modules/.pnpm/@magic-sdk+types@24.22.0/node_modules/@magic-sdk/types/dist/es/index.mjs"() { "use strict"; m = ((o) => (o.MissingApiKey = "MISSING_API_KEY", o.ModalNotReady = "MODAL_NOT_READY", o.ConnectionLost = "CONNECTION_WAS_LOST", o.MalformedResponse = "MALFORMED_RESPONSE", o.InvalidArgument = "INVALID_ARGUMENT", o.ExtensionNotInitialized = "EXTENSION_NOT_INITIALIZED", o.IncompatibleExtensions = "INCOMPATIBLE_EXTENSIONS", o))(m || {}); v = ((s) => (s.SyncWeb3Method = "SYNC_WEB3_METHOD", s.DuplicateIframe = "DUPLICATE_IFRAME", s.ReactNativeEndpointConfiguration = "REACT_NATIVE_ENDPOINT_CONFIGURATION", s.DeprecationNotice = "DEPRECATION_NOTICE", s.ProductAnnouncement = "ANNOUNCEMENT", s))(v || {}); u = ((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[i.DpopInvalidated = -10019] = "DpopInvalidated", i))(u || {}); _ = ((t) => (t.PROVIDER = "magic_3pw_provider", t.ADDRESS = "magic_3pw_address", t.CHAIN_ID = "magic_3pw_chainId", t))(_ || {}); f = ((t) => (t.WalletConnected = "wallet_connected", t.WalletRejected = "wallet_rejected", t.Web3ModalSelected = "web3modal_selected", t))(f || {}); g = ((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.GetMultichainPublicAddress = "magic_get_multichain_public_address", e))(g || {}); Z = ["magic_intermediary_event", "magic_nft_checkout", "mc_login"]; E = ((c) => (c.MAGIC_HANDLE_RESPONSE = "MAGIC_HANDLE_RESPONSE", c.MAGIC_OVERLAY_READY = "MAGIC_OVERLAY_READY", c.MAGIC_SHOW_OVERLAY = "MAGIC_SHOW_OVERLAY", c.MAGIC_HIDE_OVERLAY = "MAGIC_HIDE_OVERLAY", c.MAGIC_HANDLE_EVENT = "MAGIC_HANDLE_EVENT", c.MAGIC_MG_BOX_SEND_RECEIPT = "MAGIC_MG_BOX_SEND_RECEIPT", c.MAGIC_SEND_PRODUCT_ANNOUNCEMENT = "MAGIC_SEND_PRODUCT_ANNOUNCEMENT", c.MAGIC_PONG = "MAGIC_PONG", c.MAGIC_POPUP_RESPONSE = "MAGIC_POPUP_RESPONSE", c.MAGIC_POPUP_OAUTH_VERIFY_RESPONSE = "MAGIC_POPUP_OAUTH_VERIFY_RESPONSE", c))(E || {}); y = ((l) => (l.MAGIC_HANDLE_REQUEST = "MAGIC_HANDLE_REQUEST", l.MAGIC_PING = "MAGIC_PING", l))(y || {}); x = ((t) => (t.UpdateEmail = "update-email", t.MFA = "mfa", t.Recovery = "recovery", t))(x || {}); A = ((r10) => (r10.Retry = "retry", r10))(A || {}); R = ((l) => (l.EmailSent = "email-sent", l.EmailNotDeliverable = "email-not-deliverable", l))(R || {}); I = ((s) => (s.VerifyEmailOtp = "verify-email-otp", s.VerifyMFACode = "verify-mfa-code", s.LostDevice = "lost-device", s.VerifyRecoveryCode = "verify-recovery-code", s.Cancel = "cancel", s))(I || {}); N = ((t) => (t.VerifySmsOtp = "verify-sms-otp", t.Cancel = "cancel", t.Retry = "retry", t))(N || {}); h = ((t) => (t.SmsOTPSent = "sms-otp-sent", t.InvalidSmsOtp = "invalid-sms-otp", t.ExpiredSmsOtp = "expired-sms-otp", t))(h || {}); T = ((d) => (d.EmailOTPSent = "email-otp-sent", d.InvalidEmailOtp = "invalid-email-otp", d.InvalidMfaOtp = "invalid-mfa-otp", d.ExpiredEmailOtp = "expired-email-otp", d.MfaSentHandle = "mfa-sent-handle", d.RecoveryCodeSentHandle = "recovery-code-sent-handle", d.InvalidRecoveryCode = "invalid-recovery-code", d.RecoveryCodeSuccess = "recovery-code-success", d.LoginThrottled = "login-throttled", d))(T || {}); O = ((r10) => (r10.Retry = "device-retry", r10))(O || {}); S = ((n) => (n.DeviceApproved = "device-approved", n.DeviceNeedsApproval = "device-needs-approval", n.DeviceVerificationLinkExpired = "device-verification-link-expired", n.DeviceVerificationEmailSent = "device-verification-email-sent", n))(S || {}); b = ((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))(b || {}); C = ((a) => (a.PrimaryAuthFactorNeedsVerification = "Recency/auth-factor-needs-verification", a.PrimaryAuthFactorVerified = "Recency/auth-factor-verified", a.InvalidEmailOtp = "Recency/auth-factor-invalid-email-otp", a.EmailExpired = "Recency/auth-factor-verification-email-expired", a.EmailSent = "Recency/auth-factor-verification-email-sent", a.EmailNotDeliverable = "Recency/auth-factor-verification-email-not-deliverable", a))(C || {}); F = ((t) => (t.RetryWithNewEmail = "UpdateEmail/retry-with-new-email", t.Cancel = "UpdateEmail/new-email-verification-cancel", t.VerifyEmailOtp = "UpdateEmail/new-email-verify-otp", t))(F || {}); U = ((p2) => (p2.NewAuthFactorNeedsVerification = "UpdateEmail/new-email-needs-verification", p2.EmailUpdated = "UpdateEmail/email-updated", p2.InvalidEmailOtp = "UpdateEmail/new-email-invalid-email-otp", p2.EmailExpired = "UpdateEmail/new-email-verification-email-expired", p2.EmailSent = "UpdateEmail/new-email-verification-email-sent", p2.EmailNotDeliverable = "UpdateEmail/new-email-verification-email-not-deliverable", p2.InvalidEmail = "UpdateEmail/new-email-invalid", p2.EmailAlreadyExists = "UpdateEmail/new-email-already-exists", p2))(U || {}); k = ((r10) => (r10.IDTokenCreated = "Auth/id-token-created", r10))(k || {}); L = ((r10) => (r10.Cancel = "Farcaster/cancel", r10))(L || {}); w = ((t) => (t.MFASecretGenerated = "mfa-secret-generated", t.InvalidMFAOtp = "invalid-mfa-otp", t.MFARecoveryCodes = "mfa-recovery-codes", t))(w || {}); D = ((l) => (l.VerifyMFACode = "verify-mfa-code", l.Cancel = "cancel-mfa-setup", l))(D || {}); G = ((t) => (t.MFACodeRequested = "mfa-code-requested", t.InvalidMFAOtp = "invalid-mfa-otp", t.InvalidRecoveryCode = "invalid-recovery-code", t))(G || {}); V = ((t) => (t.VerifyMFACode = "verify-mfa-code", t.LostDevice = "lost-device", t.Cancel = "cancel-mfa-disable", t))(V || {}); H = ((r10) => (r10.Harmony = "HARMONY", r10))(H || {}); q = ((r10) => (r10.ClosedByUser = "closed-by-user", r10))(q || {}); W = ((r10) => (r10.ClosedByUser = "closed-by-user-on-received", r10))(W || {}); J = ((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.RecoveryFactorUpdated = "recovery-factor-updated", o.RecoveryFactorDeleted = "recovery-factor-deleted", o))(J || {}); Y = ((n) => (n.SendNewPhoneNumber = "send-new-phone-number", n.SendOtpCode = "send-otp-code", n.Cancel = "cancel", n.StartEditPhoneNumber = "start-edit-phone-number", n))(Y || {}); B = ((r10) => (r10.PhoneNumber = "phone_number", r10))(B || {}); P = ((a) => (a.SmsOtpSent = "sms-otp-sent", a.LoginThrottled = "login-throttled", a.InvalidSmsOtp = "invalid-sms-otp", a.SmsVerified = "sms-verified", a.AccountRecovered = "account-recovered", a.UpdateEmailRequired = "update-email-required", a))(P || {}); j = ((n) => (n.Cancel = "cancel", n.VerifyOtp = "verify-otp-code", n.ResendSms = "resend-sms-otp", n.UpdateEmail = "update-email", n))(j || {}); Q = ((n) => (n.Success = "nft-checkout-success", n.Failure = "nft-checkout-failure", n.Initiated = "nft-checkout-initiated", n.Disconnect = "disconnect", n))(Q || {}); X = ((r10) => (r10.WalletInfoFetched = "Wallet/wallet-info-fetched", r10))(X || {}); z = ((r10) => (r10.CloseMagicWindow = "close-magic-window", r10))(z || {}); } }); // ../../node_modules/.pnpm/@magic-sdk+provider@29.5.0_localforage@1.10.0/node_modules/@magic-sdk/provider/dist/es/index.mjs function ir(r10) { let e = { exports: {} }; return r10(e, e.exports), e.exports; } function Jr(r10) { return String.fromCharCode(parseInt(r10.slice(1), 16)); } function Gr(r10) { return `%${`00${r10.charCodeAt(0).toString(16)}`.slice(-2)}`; } function Kr(r10) { return btoa(encodeURIComponent(r10).replace(/%[0-9A-F]{2}/g, Jr)); } function jr(r10) { return decodeURIComponent(Array.from(atob(r10), Gr).join("")); } function ce(r10) { return Kr(JSON.stringify(r10)); } function ct(r10) { return JSON.parse(jr(r10)); } function N2(r10) { return typeof r10 > "u"; } function Hr(r10) { return r10 === null; } function le(r10) { return Hr(r10) || N2(r10); } function lt(r10) { return le(r10) ? false : !N2(r10.jsonrpc) && !N2(r10.id) && (!N2(r10.result) || !N2(r10.error)); } function dt(r10) { return le(r10) ? false : typeof r10 == "number" && Object.values(u).includes(r10); } function ee(r10) { if (!r10) return true; for (let e in r10) if (Object.hasOwnProperty.call(r10, e)) return false; return true; } function Xr(r10, e) { return Object.assign(m2, e), r10; } function pt() { return new $(m.MissingApiKey, "Please provide an API key that you acquired from the Magic developer dashboard."); } function mt() { return new $(m.ModalNotReady, "Modal is not ready"); } function ht() { return new $(m.MalformedResponse, "Response from the Magic iframe is malformed."); } function Et(r10) { return new $(m.ExtensionNotInitialized, `Extensions must be initialized with a Magic SDK instance before \`Extension.${r10}\` can be accessed. Do not invoke \`Extension.${r10}\` inside an extension constructor.`); } function ft(r10) { let e = `Some extensions are incompatible with \`${m2.sdkName}@${m2.version}\`:`; return r10.filter((t) => typeof t.compat < "u" && t.compat !== null).forEach((t) => { let s = t.compat[m2.sdkName]; typeof s == "string" ? e += ` - Extension \`${t.name}\` supports version(s) \`${s}\`` : s || (e += ` - Extension \`${t.name}\` does not support ${m2.platform} environments.`); }), new $(m.IncompatibleExtensions, e); } function gt(r10) { let e = (t) => { let s = t + 1, n = s % 10, o = s % 100; return n === 1 && o !== 11 ? `${s}st` : n === 2 && o !== 12 ? `${s}nd` : n === 3 && o !== 13 ? `${s}rd` : `${s}th`; }; return new $(m.InvalidArgument, `Invalid ${e(r10.argument)} argument given to \`${r10.procedure}\`. Expected: \`${r10.expected}\` Received: \`${r10.received}\``); } function Xn() { return new L2(v.DuplicateIframe, "Duplicate iframes found."); } function yt() { return new L2(v.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 Rt() { return new L2(v.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 vt(r10) { let { method: e, removalVersions: t, useInstead: s } = r10, n = t[m2.sdkName], o = s ? ` Use \`${s}\` instead.` : "", i = `\`${e}\` will be removed from \`${m2.sdkName}\` in version \`${n}\`.${o}`; return new L2(v.DeprecationNotice, i); } function* Yr() { let r10 = 0; for (; ; ) r10 < Number.MAX_SAFE_INTEGER ? yield ++r10 : r10 = 0; } function Le() { return Qr.next().value; } function O2(r10) { return async (...e) => (pe || (pe = await m2.configureStorage()), await pe.ready(), pe[r10](...e)); } function Tt() { let r10 = window.crypto.getRandomValues(new Uint8Array(16)); r10[6] = r10[6] & 15 | 64, r10[8] = r10[8] & 191 | 128; let e = ""; return e += r10[0].toString(16), e += r10[1].toString(16), e += r10[2].toString(16), e += r10[3].toString(16), e += "-", e += r10[4].toString(16), e += r10[5].toString(16), e += "-", e += r10[6].toString(16), e += r10[7].toString(16), e += "-", e += r10[8].toString(16), e += r10[9].toString(16), e += "-", e += r10[10].toString(16), e += r10[11].toString(16), e += r10[12].toString(16), e += r10[13].toString(16), e += r10[14].toString(16), e += r10[15].toString(16), e; } function re() { let r10 = typeof window < "u" && !!window.crypto, e = r10 && !!window.crypto.subtle; return r10 && e; } function Pt() { A2(he), A2(_e); } async function wt() { let r10 = await on(); if (!r10) { console.info("unable to create public key or webcrypto is unsupported"); return; } let { subtle: e } = window.crypto, t = await R2(_e); if (!t || !e) { console.info("unable to find private key or webcrypto unsupported"); return; } let s = { iat: Math.floor((/* @__PURE__ */ new Date()).getTime() / 1e3), jti: Tt() }, o = { protected: It(JSON.stringify({ typ: "dpop+jwt", alg: "ES256", jwk: r10 })), claims: It(JSON.stringify(s)) }, i = cn(`${o.protected}.${o.claims}`), a = { name: bt, hash: { name: "SHA-256" } }, c = dn(new Uint8Array(await e.sign(a, t, i))); return `${o.protected}.${o.claims}.${c}`; } async function on() { if (!re()) { console.info("webcrypto is not supported"); return; } return await R2(he) || await an(), R2(he); } async function an() { let { subtle: r10 } = window.crypto, e = await r10.generateKey(sn, false, ["sign"]), t = await r10.exportKey("jwk", e.publicKey); await x2(_e, e.privateKey), await x2(he, t); } function It(r10) { return xt(ln(r10)); } function cn(r10) { return new TextEncoder().encode(r10); } function xt(r10) { return btoa(r10).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+/g, ""); } function ln(r10) { return encodeURIComponent(r10).replace(/%([0-9A-F]{2})/g, (t, s) => String.fromCharCode(parseInt(s, 16))); } function dn(r10) { let e = ""; return r10.forEach((t) => { e += String.fromCharCode(t); }), xt(e); } function Mt(r10) { return Object.defineProperty(r10, St, { value: true, enumerable: false }), r10; } function pn(r10) { return !!r10[St]; } function F2(r10) { return pn(r10) || (r10.jsonrpc = r10.jsonrpc ?? "2.0", r10.id = Le(), r10.method = r10.method ?? "noop", r10.params = r10.params ?? [], Mt(r10)), r10; } function p(r10, e = []) { return Mt({ params: e, method: r10, jsonrpc: "2.0", id: Le() }); } function fe() { let r10 = new De(); return { emitter: r10, createChainingEmitterMethod: (s, n) => (...o) => (r10[s].apply(r10, o), n), createBoundEmitterMethod: (s) => (...n) => r10[s].apply(r10, n) }; } function Lt(r10) { return !!r10[$t]; } function b2(r10) { let e = qe(r10), { createBoundEmitterMethod: t, createChainingEmitterMethod: s } = fe(), n = /* @__PURE__ */ Symbol("Promise.then"), o = /* @__PURE__ */ Symbol("Promise.catch"), i = /* @__PURE__ */ Symbol("Promise.finally"), a = (l, u2) => (...P2) => { let w2 = u2[l].apply(u2, P2); return c(w2); }, c = (l) => Object.assign(l, { [$t]: true, [n]: l[n] || l.then, [o]: l[o] || l.catch, [i]: l[i] || l.finally, then: a(n, l), catch: a(o, l), finally: a(i, l), on: s("on", l), once: s("once", l), addListener: s("addListener", l), off: s("off", l), removeListener: s("removeListener", l), removeAllListeners: s("removeAllListeners", l), emit: t("emit"), eventNames: t("eventNames"), listeners: t("listeners"), listenerCount: t("listenerCount") }), d = c(e.then((l) => (d.emit("done", l), d.emit("settled"), l), (l) => { throw d.emit("error", l), d.emit("settled"), l; })); return d.on(W.ClosedByUser, () => { d.emit(q.ClosedByUser); }), d; } function qe(r10) { return new Promise((e, t) => { let s = r10(e, t); Promise.resolve(s).catch(t); }); } function Ot(r10, e) { let [t] = r10.split(".").map(Number); return t >= e; } async function Re() { let r10 = []; await Oe((e, t, s) => { t.startsWith(`${Ue}_`) && r10.push(t); }); for (let e of r10) await A2(e); } function kt(r10) { let e = "", t = new Uint8Array(r10), s = t.byteLength; for (let n = 0; n < s; n++) e += String.fromCharCode(t[n]); return window.btoa(e); } function Dt(r10) { let e = window.atob(r10), t = e.length, s = new Uint8Array(t); for (let n = 0; n < t; n++) s[n] = e.charCodeAt(n); return s.buffer; } async function bn() { if (!re()) { console.info("webcrypto is not supported"); return; } let { crypto: r10 } = window, e = await R2(We); return e || r10.getRandomValues(new Uint8Array(12)); } async function Pn() { if (!re()) { console.info("webcrypto is not supported"); return; } let { subtle: r10 } = window.crypto, e = await R2(Fe); return e || await r10.generateKey({ name: Je, length: In }, false, ["encrypt", "decrypt"]); } async function qt(r10, e) { let t = await bn(), s = await Pn(); if (!t || !s || !r10) return; let n = Dt(r10), { subtle: o } = window.crypto, i = await o.encrypt({ name: Je, iv: t }, s, n), a = kt(i); await x2(`${Ue}_${e}`, a), await x2(Fe, s), await x2(We, t); } async function Ut(r10) { let e = await R2(`${Ue}_${r10}`), t = await R2(We), s = await R2(Fe); if (!t || !e || !s || !re()) return; let { subtle: n } = window.crypto, o = await n.decrypt({ name: Je, iv: t }, s, Dt(e)); return kt(o); } function Ge(r10, e) { return e ? new URL(r10, e) : new URL(r10); } function Jt(r10) { return r10.compat && r10.compat[m2.sdkName] != null ? typeof r10.compat[m2.sdkName] == "string" ? it(at(m2.version), r10.compat[m2.sdkName]) : !!r10.compat[m2.sdkName] : true; } function xn(r10, e, t) { return !e && !t ? `${r10}_eth_mainnet` : t ? `${r10}_${JSON.stringify(t)}` : e ? typeof e == "string" ? `${r10}_eth_${e}` : `${r10}_${e.rpcUrl}_${e.chainId}_${e.chainType}` : `${r10}_unknown`; } function Sn(r10) { let e = r10?.extensions ?? [], t = {}, s = []; if (Array.isArray(e) ? e.forEach((n) => { Jt(n) ? (n.init(this), n.name && (this[n.name] = n), ee(n.config) || (t[n.name] = n.config)) : s.push(n); }) : Object.keys(e).forEach((n) => { if (Jt(e[n])) { e[n].init(this); let o = e[n]; this[n] = o, ee(o.config) || (t[e[n].name] = o.config); } else s.push(e[n]); }), s.length) throw ft(s); return t; } function Mn(r10, e) { return e && Array.isArray(r10) ? r10.find((t) => t.id === e) : r10; } function Gt(r10, e) { let t = e.data.response?.id, s = Mn(r10, t); if (t && s) { let n = new K(s).applyResult(e.data.response.result).applyError(e.data.response.error); return { id: t, response: n }; } return {}; } async function Kt(r10, e, t) { let s = await R2("rt"), n; if (m2.platform === "web") try { n = await R2("jwt") ?? await wt(); } catch (a) { console.error("webcrypto error", a); } let o = { msgType: r10, payload: e }; n && (o.jwt = n), n && s && (o.rt = s); let i = await Ut(t); return i && (o.deviceShare = i), o; } async function jt(r10) { r10.data.rt && await x2("rt", r10.data.rt); } function Vt(r10, e) { let t = null; return function(...s) { t && clearTimeout(t), t = setTimeout(() => { r10(...s); }, e); }; } function On(r10) { let e = Object.getPrototypeOf(r10), t = [e]; for (; e !== f2.prototype; ) e = Object.getPrototypeOf(e), t.push(e); return t; } var Yt, Ne, Qt, Zt, er, tr, rr, nr, sr, or, Nt, ar, $e, cr, h2, Z2, ze, ot, lr, dr, Ye, oe, Qe, Ze, X2, M, ur, J2, pr, mr, hr, Er, fr, gr, yr, Rr, vr, Tr, Ir, br, Pr, Ae, z2, Y2, et, tt, Q2, y2, E2, wr, xr, Sr, rt, Mr, T2, Cr, Nr, Ar, $r, Lr, Or, _r, kr, Dr, qr, it, Ur, nt, st, Fr, Wr, ie, ae, at, m2, ut, $, U2, L2, de, te, Qr, me, pe, R2, x2, A2, Zr, en, tn, rn, Oe, _e, he, bt, nn, sn, St, K, At, De, $t, f2, Tn, ye, Ue, Fe, We, Je, In, Te, Ie, Pe, we, H2, xe, Me, je, An, Ht, Bt, $n, Ve, Xt, Be, Ce, He; var init_es2 = __esm({ "../../node_modules/.pnpm/@magic-sdk+provider@29.5.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(); init_es(); init_es(); Yt = Object.create; Ne = Object.defineProperty; Qt = Object.getOwnPropertyDescriptor; Zt = Object.getOwnPropertyNames; er = Object.getPrototypeOf; tr = Object.prototype.hasOwnProperty; rr = (r10, e) => () => (e || r10((e = { exports: {} }).exports, e), e.exports); nr = (r10, e) => { for (var t in e) Ne(r10, t, { get: e[t], enumerable: true }); }; sr = (r10, e, t, s) => { if (e && typeof e == "object" || typeof e == "function") for (let n of Zt(e)) !tr.call(r10, n) && n !== t && Ne(r10, n, { get: () => e[n], enumerable: !(s = Qt(e, n)) || s.enumerable }); return r10; }; or = (r10, e, t) => (t = r10 != null ? Yt(er(r10)) : {}, sr(e || !r10 || !r10.__esModule ? Ne(t, "default", { value: r10, enumerable: true }) : t, r10)); Nt = rr((us, ke) => { "use strict"; var mn = Object.prototype.hasOwnProperty, I2 = "~"; function ne() { } Object.create && (ne.prototype = /* @__PURE__ */ Object.create(null), new ne().__proto__ || (I2 = false)); function hn(r10, e, t) { this.fn = r10, this.context = e, this.once = t || false; } function Ct(r10, e, t, s, n) { if (typeof t != "function") throw new TypeError("The listener must be a function"); var o = new hn(t, s || r10, n), i = I2 ? I2 + e : e; return r10._events[i] ? r10._events[i].fn ? r10._events[i] = [r10._events[i], o] : r10._events[i].push(o) : (r10._events[i] = o, r10._eventsCount++), r10; } function Ee(r10, e) { --r10._eventsCount === 0 ? r10._events = new ne() : delete r10._events[e]; } function v2() { this._events = new ne(), this._eventsCount = 0; } v2.prototype.eventNames = function() { var e = [], t, s; if (this._eventsCount === 0) return e; for (s in t = this._events) mn.call(t, s) && e.push(I2 ? s.slice(1) : s); return Object.getOwnPropertySymbols ? e.concat(Object.getOwnPropertySymbols(t)) : e; }; v2.prototype.listeners = function(e) { var t = I2 ? I2 + e : e, s = this._events[t]; if (!s) return []; if (s.fn) return [s.fn]; for (var n = 0, o = s.length, i = new Array(o); n < o; n++) i[n] = s[n].fn; return i; }; v2.prototype.listenerCount = function(e) { var t = I2 ? I2 + e : e, s = this._events[t]; return s ? s.fn ? 1 : s.length : 0; }; v2.prototype.emit = function(e, t, s, n, o, i) { var a = I2 ? I2 + e : e; if (!this._events[a]) return false; var c = this._events[a], d = arguments.length, l, u2; if (c.fn) { switch (c.once && this.removeListener(e, c.fn, void 0, true), d) { case 1: return c.fn.call(c.context), true; case 2: return c.fn.call(c.context, t), true; case 3: return c.fn.call(c.context, t, s), true; case 4: return c.fn.call(c.context, t, s, n), true; case 5: return c.fn.call(c.context, t, s, n, o), true; case 6: return c.fn.call(c.context, t, s, n, o, i), true; } for (u2 = 1, l = new Array(d - 1); u2 < d; u2++) l[u2 - 1] = arguments[u2]; c.fn.apply(c.context, l); } else { var P2 = c.length, w2; for (u2 = 0; u2 < P2; u2++) switch (c[u2].once && this.removeListener(e, c[u2].fn, void 0, true), d) { case 1: c[u2].fn.call(c[u2].context); break; case 2: c[u2].fn.call(c[u2].context, t); break; case 3: c[u2].fn.call(c[u2].context, t, s); break; case 4: c[u2].fn.call(c[u2].context, t, s, n); break; default: if (!l) for (w2 = 1, l = new Array(d - 1); w2 < d; w2++) l[w2 - 1] = arguments[w2]; c[u2].fn.apply(c[u2].context, l); } } return true; }; v2.prototype.on = function(e, t, s) { return Ct(this, e, t, s, false); }; v2.prototype.once = function(e, t, s) { return Ct(this, e, t, s, true); }; v2.prototype.removeListener = function(e, t, s, n) { var o = I2 ? I2 + e : e; if (!this._events[o]) return this; if (!t) return Ee(this, o), this; var i = this._events[o]; if (i.fn) i.fn === t && (!n || i.once) && (!s || i.context === s) && Ee(this, o); else { for (var a = 0, c = [], d = i.length; a < d; a++) (i[a].fn !== t || n && !i[a].once || s && i[a].context !== s) && c.push(i[a]); c.length ? this._events[o] = c.length === 1 ? c[0] : c : Ee(this, o); } return this; }; v2.prototype.removeAllListeners = function(e) { var t; return e ? (t = I2 ? I2 + e : e, this._events[t] && Ee(this, t)) : (this._events = new ne(), this._eventsCount = 0), this; }; v2.prototype.off = v2.prototype.removeListener; v2.prototype.addListener = v2.prototype.on; v2.prefixed = I2; v2.EventEmitter = v2; typeof ke < "u" && (ke.exports = v2); }); ar = Number.MAX_SAFE_INTEGER || 9007199254740991; $e = { SEMVER_SPEC_VERSION: "2.0.0", MAX_LENGTH: 256, MAX_SAFE_INTEGER: ar, MAX_SAFE_COMPONENT_LENGTH: 16 }; cr = typeof process == "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...r10) => console.error("SEMVER", ...r10) : () => { }; h2 = cr; Z2 = ir(function(r10, e) { let { MAX_SAFE_COMPONENT_LENGTH: t } = $e, s = (e = r10.exports = {}).re = [], n = e.src = [], o = e.t = {}, i = 0, a = (c, d, l) => { let u2 = i++; h2(u2, d), o[c] = u2, n[u2] = d, s[u2] = new RegExp(d, l ? "g" : void 0); }; a("NUMERICIDENTIFIER", "0|[1-9]\\d*"), a("NUMERICIDENTIFIERLOOSE", "[0-9]+"), a("NONNUMERICIDENTIFIER", "\\d*[a-zA-Z-][a-zA-Z0-9-]*"), a("MAINVERSION", `(${n[o.NUMERICIDENTIFIER]})\\.(${n[o.NUMERICIDENTIFIER]})\\.(${n[o.NUMERICIDENTIFIER]})`), a("MAINVERSIONLOOSE", `(${n[o.NUMERICIDENTIFIERLOOSE]})\\.(${n[o.NUMERICIDENTIFIERLOOSE]})\\.(${n[o.NUMERICIDENTIFIERLOOSE]})`), a("PRERELEASEIDENTIFIER", `(?:${n[o.NUMERICIDENTIFIER]}|${n[o.NONNUMERICIDENTIFIER]})`), a("PRERELEASEIDENTIFIERLOOSE", `(?:${n[o.NUMERICIDENTIFIERLOOSE]}|${n[o.NONNUMERICIDENTIFIER]})`), a("PRERELEASE", `(?:-(${n[o.PRERELEASEIDENTIFIER]}(?:\\.${n[o.PRERELEASEIDENTIFIER]})*))`), a("PRERELEASELOOSE", `(?:-?(${n[o.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${n[o.PRERELEASEIDENTIFIERLOOSE]})*))`), a("BUILDIDENTIFIER", "[0-9A-Za-z-]+"), a("BUILD", `(?:\\+(${n[o.BUILDIDENTIFIER]}(?:\\.${n[o.BUILDIDENTIFIER]})*))`), a("FULLPLAIN", `v?${n[o.MAINVERSION]}${n[o.PRERELEASE]}?${n[o.BUILD]}?`), a("FULL", `^${n[o.FULLPLAIN]}$`), a("LOOSEPLAIN", `[v=\\s]*${n[o.MAINVERSIONLOOSE]}${n[o.PRERELEASELOOSE]}?${n[o.BUILD]}?`), a("LOOSE", `^${n[o.LOOSEPLAIN]}$`), a("GTLT", "((?:<|>)?=?)"), a("XRANGEIDENTIFIERLOOSE", `${n[o.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`), a("XRANGEIDENTIFIER", `${n[o.NUMERICIDENTIFIER]}|x|X|\\*`), a("XRANGEPLAIN", `[v=\\s]*(${n[o.XRANGEIDENTIFIER]})(?:\\.(${n[o.XRANGEIDENTIFIER]})(?:\\.(${n[o.XRANGEIDENTIFIER]})(?:${n[o.PRERELEASE]})?${n[o.BUILD]}?)?)?`), a("XRANGEPLAINLOOSE", `[v=\\s]*(${n[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${n[o.XRANGEIDENTIFIERLOOSE]})(?:${n[o.PRERELEASELOOSE]})?${n[o.BUILD]}?)?)?`), a("XRANGE", `^${n[o.GTLT]}\\s*${n[o.XRANGEPLAIN]}$`), a("XRANGELOOSE", `^${n[o.GTLT]}\\s*${n[o.XRANGEPLAINLOOSE]}$`), a("COERCE", `(^|[^\\d])(\\d{1,${t}})(?:\\.(\\d{1,${t}}))?(?:\\.(\\d{1,${t}}))?(?:$|[^\\d])`), a("COERCERTL", n[o.COERCE], true), a("LONETILDE", "(?:~>?)"), a("TILDETRIM", `(\\s*)${n[o.LONETILDE]}\\s+`, true), e.tildeTrimReplace = "$1~", a("TILDE", `^${n[o.LONETILDE]}${n[o.XRANGEPLAIN]}$`), a("TILDELOOSE", `^${n[o.LONETILDE]}${n[o.XRANGEPLAINLOOSE]}$`), a("LONECARET", "(?:\\^)"), a("CARETTRIM", `(\\s*)${n[o.LONECARET]}\\s+`, true), e.caretTrimReplace = "$1^", a("CARET", `^${n[o.LONECARET]}${n[o.XRANGEPLAIN]}$`), a("CARETLOOSE", `^${n[o.LONECARET]}${n[o.XRANGEPLAINLOOSE]}$`), a("COMPARATORLOOSE", `^${n[o.GTLT]}\\s*(${n[o.LOOSEPLAIN]})$|^$`), a("COMPARATOR", `^${n[o.GTLT]}\\s*(${n[o.FULLPLAIN]})$|^$`), a("COMPARATORTRIM", `(\\s*)${n[o.GTLT]}\\s*(${n[o.LOOSEPLAIN]}|${n[o.XRANGEPLAIN]})`, true), e.comparatorTrimReplace = "$1$2$3", a("HYPHENRANGE", `^\\s*(${n[o.XRANGEPLAIN]})\\s+-\\s+(${n[o.XRANGEPLAIN]})\\s*$`), a("HYPHENRANGELOOSE", `^\\s*(${n[o.XRANGEPLAINLOOSE]})\\s+-\\s+(${n[o.XRANGEPLAINLOOSE]})\\s*$`), a("STAR", "(<|>)?=?\\s*\\*"), a("GTE0", "^\\s*>=\\s*0.0.0\\s*$"), a("GTE0PRE", "^\\s*>=\\s*0.0.0-0\\s*$"); }); ze = /^[0-9]+$/; ot = (r10, e) => { let t = ze.test(r10), s = ze.test(e); return t && s && (r10 = +r10, e = +e), r10 === e ? 0 : t && !s ? -1 : s && !t ? 1 : r10 < e ? -1 : 1; }; lr = (r10, e) => ot(e, r10); dr = { compareIdentifiers: ot, rcompareIdentifiers: lr }; ({ MAX_LENGTH: Ye, MAX_SAFE_INTEGER: oe } = $e); ({ re: Qe, t: Ze } = Z2); ({ compareIdentifiers: X2 } = dr); M = class r { constructor(e, t) { if (t && typeof t == "object" || (t = { loose: !!t, includePrerelease: false }), e instanceof r) { 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 > Ye) throw new TypeError(`version is longer than ${Ye} characters`); h2("SemVer", e, t), this.options = t, this.loose = !!t.loose, this.includePrerelease = !!t.includePrerelease; let s = e.trim().match(t.loose ? Qe[Ze.LOOSE] : Qe[Ze.FULL]); if (!s) throw new TypeError(`Invalid Version: ${e}`); if (this.raw = e, this.major = +s[1], this.minor = +s[2], this.patch = +s[3], this.major > oe || this.major < 0) throw new TypeError("Invalid major version"); if (this.minor > oe || this.minor < 0) throw new TypeError("Invalid minor version"); if (this.patch > oe || this.patch < 0) throw new TypeError("Invalid patch version"); s[4] ? this.prerelease = s[4].split(".").map((n) => { if (/^[0-9]+$/.test(n)) { let o = +n; if (o >= 0 && o < oe) return o; } return n; }) : this.prerelease = [], this.build = s[5] ? s[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 r)) { if (typeof e == "string" && e === this.version) return 0; e = new r(e, this.options); } return e.version === this.version ? 0 : this.compareMain(e) || this.comparePre(e); } compareMain(e) { return e instanceof r || (e = new r(e, this.options)), X2(this.major, e.major) || X2(this.minor, e.minor) || X2(this.patch, e.patch); } comparePre(e) { if (e instanceof r || (e = new r(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 s = this.prerelease[t], n = e.prerelease[t]; if (h2("prerelease compare", t, s, n), s === void 0 && n === void 0) return 0; if (n === void 0) return 1; if (s === void 0) return -1; if (s !== n) return X2(s, n); } while (++t); } compareBuild(e) { e instanceof r || (e = new r(e, this.options)); let t = 0; do { let s = this.build[t], n = e.build[t]; if (h2("prerelease compare", t, s, n), s === void 0 && n === void 0) return 0; if (n === void 0) return 1; if (s === void 0) return -1; if (s !== n) return X2(s, n); } 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 s = this.prerelease.length; for (; --s >= 0; ) typeof this.prerelease[s] == "number" && (this.prerelease[s]++, s = -2); s === -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; } }; ur = (r10, e, t) => new M(r10, t).compare(new M(e, t)); J2 = ur; pr = (r10, e, t) => J2(r10, e, t) === 0; mr = pr; hr = (r10, e, t) => J2(r10, e, t) !== 0; Er = hr; fr = (r10, e, t) => J2(r10, e, t) > 0; gr = fr; yr = (r10, e, t) => J2(r10, e, t) >= 0; Rr = yr; vr = (r10, e, t) => J2(r10, e, t) < 0; Tr = vr; Ir = (r10, e, t) => J2(r10, e, t) <= 0; br = Ir; Pr = (r10, e, t, s) => { switch (e) { case "===": return typeof r10 == "object" && (r10 = r10.version), typeof t == "object" && (t = t.version), r10 === t; case "!==": return typeof r10 == "object" && (r10 = r10.version), typeof t == "object" && (t = t.version), r10 !== t; case "": case "=": case "==": return mr(r10, t, s); case "!=": return Er(r10, t, s); case ">": return gr(r10, t, s); case ">=": return Rr(r10, t, s); case "<": return Tr(r10, t, s); case "<=": return br(r10, t, s); default: throw new TypeError(`Invalid operator: ${e}`); } }; Ae = Pr; z2 = /* @__PURE__ */ Symbol("SemVer ANY"); Y2 = class r2 { static get ANY() { return z2; } constructor(e, t) { if (t && typeof t == "object" || (t = { loose: !!t, includePrerelease: false }), e instanceof r2) { 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 === z2 ? this.value = "" : this.value = this.operator + this.semver.version, h2("comp", this); } parse(e) { let t = this.options.loose ? et[tt.COMPARATORLOOSE] : et[tt.COMPARATOR], s = e.match(t); if (!s) throw new TypeError(`Invalid comparator: ${e}`); this.operator = s[1] !== void 0 ? s[1] : "", this.operator === "=" && (this.operator = ""), s[2] ? this.semver = new M(s[2], this.options.loose) : this.semver = z2; } toString() { return this.value; } test(e) { if (h2("Comparator.test", e, this.options.loose), this.semver === z2 || e === z2) return true; if (typeof e == "string") try { e = new M(e, this.options); } catch { return false; } return Ae(e, this.operator, this.semver, this.options); } intersects(e, t) { if (!(e instanceof r2)) throw new TypeError("a Comparator is required"); if (t && typeof t == "object" || (t = { loose: !!t, includePrerelease: false }), this.operator === "") return this.value === "" || new Q2(e.value, t).test(this.value); if (e.operator === "") return e.value === "" || new Q2(this.value, t).test(e.semver); let s = !(this.operator !== ">=" && this.operator !== ">" || e.operator !== ">=" && e.operator !== ">"), n = !(this.operator !== "<=" && this.operator !== "<" || e.operator !== "<=" && e.operator !== "<"), o = this.semver.version === e.semver.version, i = !(this.operator !== ">=" && this.operator !== "<=" || e.operator !== ">=" && e.operator !== "<="), a = Ae(this.semver, "<", e.semver, t) && (this.operator === ">=" || this.operator === ">") && (e.operator === "<=" || e.operator === "<"), c = Ae(this.semver, ">", e.semver, t) && (this.operator === "<=" || this.operator === "<") && (e.operator === ">=" || e.operator === ">"); return s || n || o && i || a || c; } }; ({ re: et, t: tt } = Z2); Q2 = class r3 { constructor(e, t) { if (t && typeof t == "object" || (t = { loose: !!t, includePrerelease: false }), e instanceof r3) return e.loose === !!t.loose && e.includePrerelease === !!t.includePrerelease ? e : new r3(e.raw, t); if (e instanceof Y2) 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((s) => this.parseRange(s.trim())).filter((s) => s.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 s = t ? y2[E2.HYPHENRANGELOOSE] : y2[E2.HYPHENRANGE]; e = e.replace(s, Dr(this.options.includePrerelease)), h2("hyphen replace", e), e = e.replace(y2[E2.COMPARATORTRIM], wr), h2("comparator trim", e, y2[E2.COMPARATORTRIM]), e = (e = (e = e.replace(y2[E2.TILDETRIM], xr)).replace(y2[E2.CARETTRIM], Sr)).split(/\s+/).join(" "); let n = t ? y2[E2.COMPARATORLOOSE] : y2[E2.COMPARATOR]; return e.split(" ").map((o) => Mr(o, this.options)).join(" ").split(/\s+/).map((o) => kr(o, this.options)).filter(this.options.loose ? (o) => !!o.match(n) : () => true).map((o) => new Y2(o, this.options)); } intersects(e, t) { if (!(e instanceof r3)) throw new TypeError("a Range is required"); return this.set.some((s) => rt(s, t) && e.set.some((n) => rt(n, t) && s.every((o) => n.every((i) => o.intersects(i, t))))); } test(e) { if (!e) return false; if (typeof e == "string") try { e = new M(e, this.options); } catch { return false; } for (let t = 0; t < this.set.length; t++) if (qr(this.set[t], e, this.options)) return true; return false; } }; ({ re: y2, t: E2, comparatorTrimReplace: wr, tildeTrimReplace: xr, caretTrimReplace: Sr } = Z2); rt = (r10, e) => { let t = true, s = r10.slice(), n = s.pop(); for (; t && s.length; ) t = s.every((o) => n.intersects(o, e)), n = s.pop(); return t; }; Mr = (r10, e) => (h2("comp", r10, e), r10 = Ar(r10, e), h2("caret", r10), r10 = Cr(r10, e), h2("tildes", r10), r10 = Lr(r10, e), h2("xrange", r10), r10 = _r(r10, e), h2("stars", r10), r10); T2 = (r10) => !r10 || r10.toLowerCase() === "x" || r10 === "*"; Cr = (r10, e) => r10.trim().split(/\s+/).map((t) => Nr(t, e)).join(" "); Nr = (r10, e) => { let t = e.loose ? y2[E2.TILDELOOSE] : y2[E2.TILDE]; return r10.replace(t, (s, n, o, i, a) => { let c; return h2("tilde", r10, s, n, o, i, a), T2(n) ? c = "" : T2(o) ? c = `>=${n}.0.0 <${+n + 1}.0.0-0` : T2(i) ? c = `>=${n}.${o}.0 <${n}.${+o + 1}.0-0` : a ? (h2("replaceTilde pr", a), c = `>=${n}.${o}.${i}-${a} <${n}.${+o + 1}.0-0`) : c = `>=${n}.${o}.${i} <${n}.${+o + 1}.0-0`, h2("tilde return", c), c; }); }; Ar = (r10, e) => r10.trim().split(/\s+/).map((t) => $r(t, e)).join(" "); $r = (r10, e) => { h2("caret", r10, e); let t = e.loose ? y2[E2.CARETLOOSE] : y2[E2.CARET], s = e.includePrerelease ? "-0" : ""; return r10.replace(t, (n, o, i, a, c) => { let d; return h2("caret", r10, n, o, i, a, c), T2(o) ? d = "" : T2(i) ? d = `>=${o}.0.0${s} <${+o + 1}.0.0-0` : T2(a) ? d = o === "0" ? `>=${o}.${i}.0${s} <${o}.${+i + 1}.0-0` : `>=${o}.${i}.0${s} <${+o + 1}.0.0-0` : c ? (h2("replaceCaret pr", c), d = o === "0" ? i === "0" ? `>=${o}.${i}.${a}-${c} <${o}.${i}.${+a + 1}-0` : `>=${o}.${i}.${a}-${c} <${o}.${+i + 1}.0-0` : `>=${o}.${i}.${a}-${c} <${+o + 1}.0.0-0`) : (h2("no pr"), d = o === "0" ? i === "0" ? `>=${o}.${i}.${a}${s} <${o}.${i}.${+a + 1}-0` : `>=${o}.${i}.${a}${s} <${o}.${+i + 1}.0-0` : `>=${o}.${i}.${a} <${+o + 1}.0.0-0`), h2("caret return", d), d; }); }; Lr = (r10, e) => (h2("replaceXRanges", r10, e), r10.split(/\s+/).map((t) => Or(t, e)).join(" ")); Or = (r10, e) => { r10 = r10.trim(); let t = e.loose ? y2[E2.XRANGELOOSE] : y2[E2.XRANGE]; return r10.replace(t, (s, n, o, i, a, c) => { h2("xRange", r10, s, n, o, i, a, c); let d = T2(o), l = d || T2(i), u2 = l || T2(a), P2 = u2; return n === "=" && P2 && (n = ""), c = e.includePrerelease ? "-0" : "", d ? s = n === ">" || n === "<" ? "<0.0.0-0" : "*" : n && P2 ? (l && (i = 0), a = 0, n === ">" ? (n = ">=", l ? (o = +o + 1, i = 0, a = 0) : (i = +i + 1, a = 0)) : n === "<=" && (n = "<", l ? o = +o + 1 : i = +i + 1), n === "<" && (c = "-0"), s = `${n + o}.${i}.${a}${c}`) : l ? s = `>=${o}.0.0${c} <${+o + 1}.0.0-0` : u2 && (s = `>=${o}.${i}.0${c} <${o}.${+i + 1}.0-0`), h2("xRange return", s), s; }); }; _r = (r10, e) => (h2("replaceStars", r10, e), r10.trim().replace(y2[E2.STAR], "")); kr = (r10, e) => (h2("replaceGTE0", r10, e), r10.trim().replace(y2[e.includePrerelease ? E2.GTE0PRE : E2.GTE0], "")); Dr = (r10) => (e, t, s, n, o, i, a, c, d, l, u2, P2, w2) => `${t = T2(s) ? "" : T2(n) ? `>=${s}.0.0${r10 ? "-0" : ""}` : T2(o) ? `>=${s}.${n}.0${r10 ? "-0" : ""}` : i ? `>=${t}` : `>=${t}${r10 ? "-0" : ""}`} ${c = T2(d) ? "" : T2(l) ? `<${+d + 1}.0.0-0` : T2(u2) ? `<${d}.${+l + 1}.0-0` : P2 ? `<=${d}.${l}.${u2}-${P2}` : r10 ? `<${d}.${l}.${+u2 + 1}-0` : `<=${c}`}`.trim(); qr = (r10, e, t) => { for (let s = 0; s < r10.length; s++) if (!r10[s].test(e)) return false; if (e.prerelease.length && !t.includePrerelease) { for (let s = 0; s < r10.length; s++) if (h2(r10[s].semver), r10[s].semver !== Y2.ANY && r10[s].semver.prerelease.length > 0) { let n = r10[s].semver; if (n.major === e.major && n.minor === e.minor && n.patch === e.patch) return true; } return false; } return true; }; it = (r10, e, t) => { try { e = new Q2(e, t); } catch { return false; } return e.test(r10); }; ({ MAX_LENGTH: Ur } = $e); ({ re: nt, t: st } = Z2); Fr = (r10, e) => { if (e && typeof e == "object" || (e = { loose: !!e, includePrerelease: false }), r10 instanceof M) return r10; if (typeof r10 != "string" || r10.length > Ur || !(e.loose ? nt[st.LOOSE] : nt[st.FULL]).test(r10)) return null; try { return new M(r10, e); } catch { return null; } }; Wr = Fr; ({ re: ie, t: ae } = Z2); at = (r10, e) => { if (r10 instanceof M) return r10; if (typeof r10 == "number" && (r10 = String(r10)), typeof r10 != "string") return null; let t = null; if ((e = e || {}).rtl) { let s; for (; (s = ie[ae.COERCERTL].exec(r10)) && (!t || t.index + t[0].length !== r10.length); ) t && s.index + s[0].length === t.index + t[0].length || (t = s), ie[ae.COERCERTL].lastIndex = s.index + s[1].length + s[2].length; ie[ae.COERCERTL].lastIndex = -1; } else t = r10.match(ie[ae.COERCE]); return t === null ? null : Wr(`${t[2]}.${t[3] || "0"}.${t[4] || "0"}`, e); }; m2 = {}; ut = { "magic-sdk": "magic-sdk", "@magic-sdk/react-native": "magic-sdk-rn", "@magic-sdk/react-native-bare": "magic-sdk-rn-bare", "@magic-sdk/react-native-expo": "magic-sdk-rn-expo" }; $ = class r4 extends Error { constructor(t, s) { super(`Magic SDK Error: [${t}] ${s}`); this.code = t; this.rawMessage = s; Object.setPrototypeOf(this, r4.prototype); } __pro