@txnlab/use-wallet
Version:
TypeScript library for integrating Algorand wallets into decentralized applications
878 lines (875 loc) • 301 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __require = /* @__PURE__ */ ((x3) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x3, {
get: (a2, b3) => (typeof require !== "undefined" ? require : a2)[b3]
}) : x3)(function(x3) {
if (typeof require !== "undefined") return require.apply(this, arguments);
throw Error('Dynamic require of "' + x3 + '" is not supported');
});
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 });
};
// ../../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/react-native-bare": "magic-sdk-rn-bare", "@magic-sdk/react-native-expo": "magic-sdk-rn-expo" };
C2 = class extends Error {
constructor(t, n) {
super(`Magic SDK Error: [${t}] ${n}`);
this.code = t;
this.rawMessage = n;
this.__proto__ = Error;
Object.setPrototypeOf(this, C2.prototype);
}
};
_2 = class extends Error {
constructor(t) {
super();
this.__proto__ = Error;
let n = Number(t == null ? void 0 : t.code);
this.rawMessage = (t == null ? void 0 : t.message) || "Internal error", this.code = Rt(n) ? n : v.InternalError, this.message = `Magic RPC Error: [${this.code}] ${this.rawMessage}`, this.data = (t == null ? void 0 : t.data) || void 0, Object.setPrototypeOf(this, _2.prototype);
}