@txnlab/use-wallet
Version:
TypeScript library for integrating Algorand wallets into decentralized applications
858 lines (856 loc) • 434 kB
JavaScript
"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 = (fn, res) => function __init() {
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
var __commonJS = (cb, mod) => function __require() {
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
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), 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);
}
__proto__ = Error;
};
U2 = class r5 extends Error {
__proto__ = Error;
code;
rawMessage;
data;
constructor(e) {
super();
let t = Number(e?.code);
this.rawMessage = e?.message || "Internal error", this.code = dt