@bounded-sh/client 0.0.20 → 0.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/README.md +2 -2
  2. package/dist/index.js +148 -33
  3. package/dist/index.js.map +1 -1
  4. package/dist/index.mjs +148 -33
  5. package/dist/index.mjs.map +1 -1
  6. package/dist/{index.native-BtM38BVP.js → index.native-DdKzAUjN.js} +152 -37
  7. package/dist/index.native-DdKzAUjN.js.map +1 -0
  8. package/dist/{index.native-w12aoVNW.mjs → index.native-N3xLU862.mjs} +152 -37
  9. package/dist/index.native-N3xLU862.mjs.map +1 -0
  10. package/dist/index.native.js +1 -1
  11. package/dist/index.native.mjs +1 -1
  12. package/dist/{phantom-wallet-provider-BT2V4EU5.mjs → phantom-wallet-provider-DcE4A2_e.mjs} +2 -2
  13. package/dist/{phantom-wallet-provider-BT2V4EU5.mjs.map → phantom-wallet-provider-DcE4A2_e.mjs.map} +1 -1
  14. package/dist/{phantom-wallet-provider-BJWelaiH.js → phantom-wallet-provider-Dz9lQvNv.js} +2 -2
  15. package/dist/{phantom-wallet-provider-BJWelaiH.js.map → phantom-wallet-provider-Dz9lQvNv.js.map} +1 -1
  16. package/dist/{privy-wallet-provider-BSh0aZVL.js → privy-wallet-provider-DUvjxNXK.js} +3 -3
  17. package/dist/{privy-wallet-provider-BSh0aZVL.js.map → privy-wallet-provider-DUvjxNXK.js.map} +1 -1
  18. package/dist/{privy-wallet-provider-LV1X7hZe.mjs → privy-wallet-provider-oG3o5vko.mjs} +3 -3
  19. package/dist/{privy-wallet-provider-LV1X7hZe.mjs.map → privy-wallet-provider-oG3o5vko.mjs.map} +1 -1
  20. package/dist/{solana-mobile-wallet-provider-CKsfiyDd.js → solana-mobile-wallet-provider-DdBoG6c2.js} +2 -2
  21. package/dist/{solana-mobile-wallet-provider-CKsfiyDd.js.map → solana-mobile-wallet-provider-DdBoG6c2.js.map} +1 -1
  22. package/dist/{solana-mobile-wallet-provider-NLe9_mEn.mjs → solana-mobile-wallet-provider-aS60_GZR.mjs} +2 -2
  23. package/dist/{solana-mobile-wallet-provider-NLe9_mEn.mjs.map → solana-mobile-wallet-provider-aS60_GZR.mjs.map} +1 -1
  24. package/package.json +2 -2
  25. package/dist/index.native-BtM38BVP.js.map +0 -1
  26. package/dist/index.native-w12aoVNW.mjs.map +0 -1
@@ -3987,13 +3987,33 @@ function createEmailModalTree() {
3987
3987
  close.type = 'button';
3988
3988
  close.textContent = '×';
3989
3989
  card.appendChild(close);
3990
+ // Brand row — the real Bounded mark (same geometry as bounded.sh) + wordmark.
3990
3991
  const brand = document.createElement('div');
3991
3992
  brand.className = 'ba-brand';
3992
- const dot = document.createElement('span');
3993
- dot.className = 'ba-dot';
3994
- brand.appendChild(dot);
3995
- brand.appendChild(document.createTextNode(' Sign in'));
3993
+ const mark = document.createElement('span');
3994
+ mark.className = 'ba-mark';
3995
+ mark.setAttribute('aria-hidden', 'true');
3996
+ mark.innerHTML =
3997
+ '<svg width="24" height="24" viewBox="0 0 32 32" fill="none">' +
3998
+ '<path class="ba-c ba-c1" d="M16 5 H5 V16"/>' +
3999
+ '<path class="ba-c ba-c2" d="M16 5 H27 V16"/>' +
4000
+ '<path class="ba-c ba-c3" d="M5 16 V27 H16"/>' +
4001
+ '<path class="ba-c ba-c4" d="M27 16 V27 H16"/>' +
4002
+ '</svg>';
4003
+ brand.appendChild(mark);
4004
+ const word = document.createElement('span');
4005
+ word.className = 'ba-word';
4006
+ word.textContent = 'bounded';
4007
+ brand.appendChild(word);
3996
4008
  card.appendChild(brand);
4009
+ const title = document.createElement('h1');
4010
+ title.className = 'ba-title';
4011
+ title.textContent = 'Sign in';
4012
+ card.appendChild(title);
4013
+ const sub = document.createElement('p');
4014
+ sub.className = 'ba-subtitle';
4015
+ sub.textContent = 'Continue with your email — no wallet needed.';
4016
+ card.appendChild(sub);
3997
4017
  const emailStep = document.createElement('div');
3998
4018
  emailStep.id = 'ba-email-step';
3999
4019
  card.appendChild(emailStep);
@@ -4014,7 +4034,7 @@ function createEmailModalTree() {
4014
4034
  emailButton.id = 'ba-email-btn';
4015
4035
  emailButton.className = 'ba-btn';
4016
4036
  emailButton.type = 'button';
4017
- emailButton.textContent = 'Continue';
4037
+ emailButton.textContent = 'Continue with email';
4018
4038
  emailStep.appendChild(emailButton);
4019
4039
  const otpStep = document.createElement('div');
4020
4040
  otpStep.id = 'ba-otp-step';
@@ -4059,37 +4079,67 @@ function createEmailModalTree() {
4059
4079
  card.appendChild(foot);
4060
4080
  return root;
4061
4081
  }
4082
+ // Design language matches the hosted Bounded login (auth.bounded.sh) and bounded.sh:
4083
+ // dark editorial panel, green accent, Schibsted Grotesk / Newsreader / JetBrains Mono,
4084
+ // the Bounded mark drawing itself in. Fonts load best-effort (scoped @import); every
4085
+ // rule has a system fallback so the modal looks right even if Google Fonts is blocked.
4086
+ // All selectors are scoped under #bounded-auth-modal so we never leak into the host page.
4062
4087
  const MODAL_CSS = `
4063
- #bounded-auth-modal .ba-overlay{position:fixed;inset:0;background:rgba(8,10,18,.62);backdrop-filter:blur(4px);
4088
+ @import url('https://fonts.googleapis.com/css2?family=Newsreader:opsz,wght@6..72,400;6..72,500&family=Schibsted+Grotesk:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');
4089
+ #bounded-auth-modal{--ba-bg:#0a0a0b;--ba-panel:#0e0f11;--ba-inset:#060607;--ba-raise:#131416;
4090
+ --ba-line:rgba(232,230,222,.08);--ba-line-strong:rgba(232,230,222,.16);
4091
+ --ba-text:#e8e6de;--ba-dim:#9b9991;--ba-faint:#85837c;--ba-green:#58c98f;
4092
+ --ba-green-bg:rgba(88,201,143,.09);--ba-green-line:rgba(88,201,143,.28);--ba-red:#ec8488;
4093
+ --ba-body:'Schibsted Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
4094
+ --ba-display:'Newsreader','Iowan Old Style',Georgia,serif;
4095
+ --ba-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;}
4096
+ #bounded-auth-modal .ba-overlay{position:fixed;inset:0;background:rgba(6,6,7,.66);backdrop-filter:blur(4px);
4064
4097
  display:flex;align-items:center;justify-content:center;z-index:2147483000;opacity:1;transition:opacity .16s ease;
4065
- font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;padding:16px;}
4098
+ font-family:var(--ba-body);padding:16px;}
4066
4099
  #bounded-auth-modal .ba-overlay.out{opacity:0;}
4067
- #bounded-auth-modal .ba-card{width:100%;max-width:380px;background:#0f1117;color:#f4f5f7;border:1px solid #232838;
4068
- border-radius:18px;padding:24px 22px 18px;box-shadow:0 24px 70px rgba(0,0,0,.5);position:relative;
4069
- animation:ba-in .18s ease;}
4070
- @keyframes ba-in{from{transform:translateY(10px);opacity:.6}to{transform:translateY(0);opacity:1}}
4071
- #bounded-auth-modal .ba-x{position:absolute;top:12px;right:12px;width:30px;height:30px;border:none;background:#1a1e2b;
4072
- color:#9aa3b2;border-radius:9px;font-size:20px;line-height:1;cursor:pointer;}
4073
- #bounded-auth-modal .ba-x:hover{background:#222838;color:#fff;}
4074
- #bounded-auth-modal .ba-brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;margin:0 0 18px;}
4075
- #bounded-auth-modal .ba-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#22d3ee);}
4076
- #bounded-auth-modal .ba-label{display:block;font-size:13px;color:#aab2c0;margin:0 0 8px;}
4077
- #bounded-auth-modal .ba-em{color:#fff;font-weight:600;}
4078
- #bounded-auth-modal .ba-input{width:100%;box-sizing:border-box;background:#171b26;border:1px solid #2a3040;color:#fff;
4079
- border-radius:11px;padding:13px 14px;font-size:16px;outline:none;transition:border-color .12s;}
4080
- #bounded-auth-modal .ba-input:focus{border-color:#7c5cff;}
4081
- #bounded-auth-modal .ba-code{letter-spacing:8px;text-align:center;font-size:22px;font-variant-numeric:tabular-nums;}
4082
- #bounded-auth-modal .ba-btn{width:100%;margin-top:12px;background:linear-gradient(135deg,#7c5cff,#5b8cff);color:#fff;
4083
- border:none;border-radius:11px;padding:13px;font-size:15px;font-weight:600;cursor:pointer;transition:filter .12s;}
4084
- #bounded-auth-modal .ba-btn:hover{filter:brightness(1.08);}
4085
- #bounded-auth-modal .ba-btn:disabled{opacity:.6;cursor:default;}
4086
- #bounded-auth-modal .ba-link{width:100%;margin-top:10px;background:none;border:none;color:#8aa0c6;font-size:13px;cursor:pointer;}
4087
- #bounded-auth-modal .ba-link:hover{color:#bcd0f0;}
4088
- #bounded-auth-modal .ba-msg{min-height:18px;margin-top:10px;font-size:13px;color:#8aa0c6;text-align:center;}
4089
- #bounded-auth-modal .ba-msg.err{color:#ff8a8a;}
4090
- #bounded-auth-modal .ba-foot{margin-top:14px;text-align:center;font-size:11px;color:#5a6273;}
4100
+ #bounded-auth-modal *{box-sizing:border-box;}
4101
+ #bounded-auth-modal .ba-card{width:100%;max-width:372px;background:var(--ba-panel);color:var(--ba-text);
4102
+ border:1px solid var(--ba-line);border-radius:12px;padding:28px 28px 22px;position:relative;
4103
+ box-shadow:0 1px 0 rgba(232,230,222,.03) inset,0 30px 80px -40px rgba(0,0,0,.8);animation:ba-in .18s ease;}
4104
+ @keyframes ba-in{from{transform:translateY(8px);opacity:.5}to{transform:translateY(0);opacity:1}}
4105
+ #bounded-auth-modal .ba-x{position:absolute;top:14px;right:14px;width:28px;height:28px;border:1px solid var(--ba-line);
4106
+ background:var(--ba-raise);color:var(--ba-faint);border-radius:7px;font-size:18px;line-height:1;cursor:pointer;
4107
+ transition:color .15s,border-color .15s;}
4108
+ #bounded-auth-modal .ba-x:hover{color:var(--ba-text);border-color:var(--ba-faint);}
4109
+ #bounded-auth-modal .ba-brand{display:flex;align-items:center;gap:10px;margin:0 0 24px;}
4110
+ #bounded-auth-modal .ba-mark{display:flex;color:var(--ba-text);}
4111
+ #bounded-auth-modal .ba-mark svg{overflow:visible;display:block;}
4112
+ #bounded-auth-modal .ba-c{stroke:currentColor;stroke-width:2.4;fill:none;}
4113
+ @media (prefers-reduced-motion:no-preference){
4114
+ #bounded-auth-modal .ba-c{stroke-dasharray:23;stroke-dashoffset:23;animation:ba-draw .4s cubic-bezier(.45,0,.2,1) forwards;}
4115
+ #bounded-auth-modal .ba-c1{animation-delay:.1s}#bounded-auth-modal .ba-c2{animation-delay:.38s}
4116
+ #bounded-auth-modal .ba-c3{animation-delay:.66s}#bounded-auth-modal .ba-c4{animation-delay:.94s}}
4117
+ @keyframes ba-draw{to{stroke-dashoffset:0}}
4118
+ #bounded-auth-modal .ba-word{font-family:var(--ba-body);font-weight:500;font-size:15px;letter-spacing:.2px;color:var(--ba-text);}
4119
+ #bounded-auth-modal .ba-title{font-family:var(--ba-display);font-weight:400;font-size:25px;letter-spacing:-.01em;margin:0 0 5px;}
4120
+ #bounded-auth-modal .ba-subtitle{color:var(--ba-dim);font-size:14px;margin:0 0 22px;}
4121
+ #bounded-auth-modal .ba-label{display:block;font-size:12px;color:var(--ba-dim);margin:0 0 7px;}
4122
+ #bounded-auth-modal .ba-em{color:var(--ba-text);font-weight:600;}
4123
+ #bounded-auth-modal .ba-input{width:100%;background:var(--ba-inset);border:1px solid var(--ba-line-strong);color:var(--ba-text);
4124
+ border-radius:6px;padding:11px 13px;font-family:var(--ba-body);font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s;}
4125
+ #bounded-auth-modal .ba-input::placeholder{color:var(--ba-faint);}
4126
+ #bounded-auth-modal .ba-input:focus{border-color:var(--ba-green-line);box-shadow:0 0 0 3px var(--ba-green-bg);}
4127
+ #bounded-auth-modal .ba-code{font-family:var(--ba-mono);letter-spacing:8px;text-align:center;font-size:21px;padding-left:8px;}
4128
+ #bounded-auth-modal .ba-btn{width:100%;margin-top:16px;background:var(--ba-text);color:var(--ba-bg);
4129
+ border:0;border-radius:6px;padding:12px;font-family:var(--ba-body);font-size:14px;font-weight:600;cursor:pointer;
4130
+ transition:opacity .15s,transform .04s;}
4131
+ #bounded-auth-modal .ba-btn:hover{opacity:.9;}
4132
+ #bounded-auth-modal .ba-btn:active{transform:translateY(.5px);}
4133
+ #bounded-auth-modal .ba-btn:disabled{opacity:.45;cursor:default;}
4134
+ #bounded-auth-modal .ba-link{width:100%;margin-top:14px;background:none;border:none;color:var(--ba-dim);
4135
+ font-family:var(--ba-body);font-size:12.5px;cursor:pointer;}
4136
+ #bounded-auth-modal .ba-link:hover{color:var(--ba-text);}
4137
+ #bounded-auth-modal .ba-msg{min-height:16px;margin-top:16px;font-size:12.5px;color:var(--ba-dim);text-align:center;}
4138
+ #bounded-auth-modal .ba-msg.err{color:var(--ba-red);}
4139
+ #bounded-auth-modal .ba-foot{margin-top:26px;padding-top:16px;border-top:1px solid var(--ba-line);
4140
+ text-align:center;font-size:11px;color:var(--ba-faint);}
4091
4141
  #bounded-auth-modal .hidden{display:none;}
4092
- @media (max-width:480px){#bounded-auth-modal .ba-card{max-width:none;border-radius:16px;}}`;
4142
+ @media (max-width:480px){#bounded-auth-modal .ba-card{max-width:none;}}`;
4093
4143
 
4094
4144
  const SURFNET_RPC_URL = "https://surfpool.fly.dev";
4095
4145
  const SUPPORTED_SOLANA_NETWORKS = new Set([
@@ -4136,6 +4186,7 @@ function resolveSolanaRpcUrl(explicitRpcUrl, network, context) {
4136
4186
  }
4137
4187
 
4138
4188
  const PKCE_STORE_KEY = 'bounded.oidc.pkce';
4189
+ const STORED_AUTH_METHOD_KEY$1 = 'bounded_last_auth_method';
4139
4190
  // Active session store (Web on web, RN on React Native) — selected by config,
4140
4191
  // not by `typeof window` (truthy on RN). OIDC redirect/popup is web-only, but the
4141
4192
  // session it mints is read back through this same selector everywhere.
@@ -4430,6 +4481,10 @@ async function exchangeCode(code, verifier, redirectUri) {
4430
4481
  const refreshToken = tokenField(data, 'refresh_token', 'refreshToken');
4431
4482
  const user = userFromIdToken(idToken);
4432
4483
  await sessionManager().storeSession(String(user.address || ''), accessToken, idToken, refreshToken, base);
4484
+ try {
4485
+ getPlatform().storage.setItem(STORED_AUTH_METHOD_KEY$1, 'email');
4486
+ }
4487
+ catch ( /* storage unavailable */_b) { /* storage unavailable */ }
4433
4488
  setCurrentUser(user);
4434
4489
  setAuthProviderInstance(oidcProviderSingleton);
4435
4490
  return user;
@@ -4440,7 +4495,10 @@ async function exchangeCode(code, verifier, redirectUri) {
4440
4495
  // (react-dom) when this module is imported on RN.
4441
4496
  let currentAuthProvider = null;
4442
4497
  let currentAuthMethod = null;
4498
+ let currentAuthProviderConfigKey = null;
4443
4499
  let initConfig = null;
4500
+ const objectIdentityKeys = new WeakMap();
4501
+ let nextObjectIdentityKey = 1;
4444
4502
  // --- localStorage helpers: track which auth method created the active session ---
4445
4503
  const STORED_AUTH_METHOD_KEY = 'bounded_last_auth_method';
4446
4504
  function getStoredAuthMethod() {
@@ -4464,6 +4522,51 @@ function setStoredAuthMethod(method) {
4464
4522
  // storage might not be available
4465
4523
  }
4466
4524
  }
4525
+ function objectIdentityKey(value) {
4526
+ if (!value || (typeof value !== 'object' && typeof value !== 'function'))
4527
+ return null;
4528
+ const obj = value;
4529
+ let id = objectIdentityKeys.get(obj);
4530
+ if (!id) {
4531
+ id = nextObjectIdentityKey++;
4532
+ objectIdentityKeys.set(obj, id);
4533
+ }
4534
+ return `object:${id}`;
4535
+ }
4536
+ function stableConfigValue(value, seen = new WeakSet()) {
4537
+ if (value === null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean')
4538
+ return value;
4539
+ if (typeof value === 'function')
4540
+ return '[function]';
4541
+ if (Array.isArray(value))
4542
+ return value.map((item) => stableConfigValue(item, seen));
4543
+ if (typeof value === 'object') {
4544
+ if (seen.has(value))
4545
+ return '[circular]';
4546
+ seen.add(value);
4547
+ const out = {};
4548
+ for (const key of Object.keys(value).sort()) {
4549
+ out[key] = stableConfigValue(value[key], seen);
4550
+ }
4551
+ seen.delete(value);
4552
+ return out;
4553
+ }
4554
+ return String(value);
4555
+ }
4556
+ function authProviderConfigKey(config) {
4557
+ var _a, _b, _c, _d, _e, _f, _g, _h;
4558
+ return JSON.stringify({
4559
+ authMethod: (_a = config.authMethod) !== null && _a !== void 0 ? _a : null,
4560
+ chain: (_b = config.chain) !== null && _b !== void 0 ? _b : null,
4561
+ rpcUrl: normalizeSolanaRpcUrl(config.rpcUrl),
4562
+ name: (_c = config.name) !== null && _c !== void 0 ? _c : null,
4563
+ logoUrl: (_d = config.logoUrl) !== null && _d !== void 0 ? _d : null,
4564
+ phantomConfig: stableConfigValue((_e = config.phantomConfig) !== null && _e !== void 0 ? _e : null),
4565
+ privyConfig: stableConfigValue((_f = config.privyConfig) !== null && _f !== void 0 ? _f : null),
4566
+ mobileWalletConfig: stableConfigValue((_g = config.mobileWalletConfig) !== null && _g !== void 0 ? _g : null),
4567
+ privyExpoProvider: objectIdentityKey((_h = config.privyExpoProvider) !== null && _h !== void 0 ? _h : null),
4568
+ });
4569
+ }
4467
4570
  /**
4468
4571
  * Clears the session if it was created by a different auth method.
4469
4572
  * Returns true if the session was cleared, false if the session is compatible.
@@ -4489,17 +4592,17 @@ function clearIncompatibleSession() {
4489
4592
  // Lazy loaders for web-only providers.
4490
4593
  // Using dynamic import() ensures Metro (RN) never resolves these modules.
4491
4594
  async function loadPhantomWalletProvider() {
4492
- const mod = await Promise.resolve().then(function () { return require('./phantom-wallet-provider-BJWelaiH.js'); });
4595
+ const mod = await Promise.resolve().then(function () { return require('./phantom-wallet-provider-Dz9lQvNv.js'); });
4493
4596
  return { PhantomWalletProvider: mod.PhantomWalletProvider };
4494
4597
  }
4495
4598
  // Web Privy provider (depends on react-dom + @privy-io/react-auth). Lazy so Metro
4496
4599
  // never bundles it into the RN build — RN uses the @privy-io/expo provider instead.
4497
4600
  async function loadPrivyWalletProvider() {
4498
- const mod = await Promise.resolve().then(function () { return require('./privy-wallet-provider-BSh0aZVL.js'); });
4601
+ const mod = await Promise.resolve().then(function () { return require('./privy-wallet-provider-DUvjxNXK.js'); });
4499
4602
  return mod.PrivyWalletProvider;
4500
4603
  }
4501
4604
  async function loadSolanaMobileWalletProvider() {
4502
- const mod = await Promise.resolve().then(function () { return require('./solana-mobile-wallet-provider-CKsfiyDd.js'); });
4605
+ const mod = await Promise.resolve().then(function () { return require('./solana-mobile-wallet-provider-DdBoG6c2.js'); });
4503
4606
  return mod.SolanaMobileWalletProvider;
4504
4607
  }
4505
4608
  function requireWebPrivyConfig(config) {
@@ -4569,6 +4672,7 @@ async function hotSwapToMWAProvider(config) {
4569
4672
  }
4570
4673
  currentAuthProvider = provider;
4571
4674
  currentAuthMethod = 'mobile-wallet-adapter';
4675
+ currentAuthProviderConfigKey = authProviderConfigKey(Object.assign(Object.assign({}, config), { authMethod: 'mobile-wallet-adapter' }));
4572
4676
  const coreConfig = await core.getConfig();
4573
4677
  coreConfig.authProvider = provider;
4574
4678
  // Send 'phantom' as authMethod so the server routes to Solana verification.
@@ -4579,12 +4683,18 @@ async function hotSwapToMWAProvider(config) {
4579
4683
  }
4580
4684
  async function getAuthProvider(config) {
4581
4685
  var _a, _b;
4582
- if (currentAuthProvider) {
4686
+ const nextProviderConfigKey = config ? authProviderConfigKey(config) : null;
4687
+ if (currentAuthProvider && (!config || currentAuthProviderConfigKey === nextProviderConfigKey)) {
4583
4688
  return currentAuthProvider;
4584
4689
  }
4585
4690
  if (!config) {
4586
4691
  throw new Error("Config is required to initialize auth provider");
4587
4692
  }
4693
+ if (currentAuthProvider && currentAuthProviderConfigKey !== nextProviderConfigKey) {
4694
+ currentAuthProvider = null;
4695
+ currentAuthMethod = null;
4696
+ currentAuthProviderConfigKey = null;
4697
+ }
4588
4698
  initConfig = config;
4589
4699
  const authMethod = config.authMethod;
4590
4700
  if (!authMethod) {
@@ -4667,6 +4777,7 @@ async function getAuthProvider(config) {
4667
4777
  console.log("[Offchain] Wrapping auth provider for Poofnet transaction tracking");
4668
4778
  currentAuthProvider = new OffchainAuthProvider(currentAuthProvider);
4669
4779
  }
4780
+ currentAuthProviderConfigKey = nextProviderConfigKey;
4670
4781
  return currentAuthProvider;
4671
4782
  }
4672
4783
  /**
@@ -4696,6 +4807,7 @@ async function signInAnonymously() {
4696
4807
  const provider = new GuestAuthProvider();
4697
4808
  currentAuthProvider = provider;
4698
4809
  currentAuthMethod = 'guest';
4810
+ currentAuthProviderConfigKey = 'direct:guest';
4699
4811
  const coreConfig = await core.getConfig();
4700
4812
  coreConfig.authProvider = provider;
4701
4813
  coreConfig.authMethod = 'guest';
@@ -4740,6 +4852,7 @@ async function loginWithPrivy(options) {
4740
4852
  provider = new OffchainAuthProvider(provider);
4741
4853
  }
4742
4854
  currentAuthProvider = provider;
4855
+ currentAuthProviderConfigKey = authProviderConfigKey(Object.assign(Object.assign({}, coreConfig), { authMethod: currentAuthMethod }));
4743
4856
  coreConfig.authProvider = provider;
4744
4857
  coreConfig.authMethod = currentAuthMethod;
4745
4858
  setAuthProviderInstance(provider);
@@ -4756,6 +4869,7 @@ async function activateEmailProvider() {
4756
4869
  const provider = new EmailAuthProvider();
4757
4870
  currentAuthProvider = provider;
4758
4871
  currentAuthMethod = 'email';
4872
+ currentAuthProviderConfigKey = 'direct:email';
4759
4873
  const coreConfig = await core.getConfig();
4760
4874
  coreConfig.authProvider = provider;
4761
4875
  coreConfig.authMethod = 'email';
@@ -4882,6 +4996,7 @@ async function logout$1() {
4882
4996
  setStoredAuthMethod(null);
4883
4997
  currentAuthProvider = null;
4884
4998
  currentAuthMethod = null;
4999
+ currentAuthProviderConfigKey = null;
4885
5000
  }
4886
5001
 
4887
5002
  /**
@@ -5567,4 +5682,4 @@ exports.signInAnonymously = signInAnonymously;
5567
5682
  exports.useAuth = useAuth;
5568
5683
  exports.verifyEmailOtp = verifyEmailOtp;
5569
5684
  exports.verifyTextOtp = verifyTextOtp;
5570
- //# sourceMappingURL=index.native-BtM38BVP.js.map
5685
+ //# sourceMappingURL=index.native-DdKzAUjN.js.map