@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.
- package/README.md +2 -2
- package/dist/index.js +148 -33
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +148 -33
- package/dist/index.mjs.map +1 -1
- package/dist/{index.native-BtM38BVP.js → index.native-DdKzAUjN.js} +152 -37
- package/dist/index.native-DdKzAUjN.js.map +1 -0
- package/dist/{index.native-w12aoVNW.mjs → index.native-N3xLU862.mjs} +152 -37
- package/dist/index.native-N3xLU862.mjs.map +1 -0
- package/dist/index.native.js +1 -1
- package/dist/index.native.mjs +1 -1
- package/dist/{phantom-wallet-provider-BT2V4EU5.mjs → phantom-wallet-provider-DcE4A2_e.mjs} +2 -2
- package/dist/{phantom-wallet-provider-BT2V4EU5.mjs.map → phantom-wallet-provider-DcE4A2_e.mjs.map} +1 -1
- package/dist/{phantom-wallet-provider-BJWelaiH.js → phantom-wallet-provider-Dz9lQvNv.js} +2 -2
- package/dist/{phantom-wallet-provider-BJWelaiH.js.map → phantom-wallet-provider-Dz9lQvNv.js.map} +1 -1
- package/dist/{privy-wallet-provider-BSh0aZVL.js → privy-wallet-provider-DUvjxNXK.js} +3 -3
- package/dist/{privy-wallet-provider-BSh0aZVL.js.map → privy-wallet-provider-DUvjxNXK.js.map} +1 -1
- package/dist/{privy-wallet-provider-LV1X7hZe.mjs → privy-wallet-provider-oG3o5vko.mjs} +3 -3
- package/dist/{privy-wallet-provider-LV1X7hZe.mjs.map → privy-wallet-provider-oG3o5vko.mjs.map} +1 -1
- package/dist/{solana-mobile-wallet-provider-CKsfiyDd.js → solana-mobile-wallet-provider-DdBoG6c2.js} +2 -2
- package/dist/{solana-mobile-wallet-provider-CKsfiyDd.js.map → solana-mobile-wallet-provider-DdBoG6c2.js.map} +1 -1
- package/dist/{solana-mobile-wallet-provider-NLe9_mEn.mjs → solana-mobile-wallet-provider-aS60_GZR.mjs} +2 -2
- package/dist/{solana-mobile-wallet-provider-NLe9_mEn.mjs.map → solana-mobile-wallet-provider-aS60_GZR.mjs.map} +1 -1
- package/package.json +2 -2
- package/dist/index.native-BtM38BVP.js.map +0 -1
- package/dist/index.native-w12aoVNW.mjs.map +0 -1
|
@@ -3965,13 +3965,33 @@ function createEmailModalTree() {
|
|
|
3965
3965
|
close.type = 'button';
|
|
3966
3966
|
close.textContent = '×';
|
|
3967
3967
|
card.appendChild(close);
|
|
3968
|
+
// Brand row — the real Bounded mark (same geometry as bounded.sh) + wordmark.
|
|
3968
3969
|
const brand = document.createElement('div');
|
|
3969
3970
|
brand.className = 'ba-brand';
|
|
3970
|
-
const
|
|
3971
|
-
|
|
3972
|
-
|
|
3973
|
-
|
|
3971
|
+
const mark = document.createElement('span');
|
|
3972
|
+
mark.className = 'ba-mark';
|
|
3973
|
+
mark.setAttribute('aria-hidden', 'true');
|
|
3974
|
+
mark.innerHTML =
|
|
3975
|
+
'<svg width="24" height="24" viewBox="0 0 32 32" fill="none">' +
|
|
3976
|
+
'<path class="ba-c ba-c1" d="M16 5 H5 V16"/>' +
|
|
3977
|
+
'<path class="ba-c ba-c2" d="M16 5 H27 V16"/>' +
|
|
3978
|
+
'<path class="ba-c ba-c3" d="M5 16 V27 H16"/>' +
|
|
3979
|
+
'<path class="ba-c ba-c4" d="M27 16 V27 H16"/>' +
|
|
3980
|
+
'</svg>';
|
|
3981
|
+
brand.appendChild(mark);
|
|
3982
|
+
const word = document.createElement('span');
|
|
3983
|
+
word.className = 'ba-word';
|
|
3984
|
+
word.textContent = 'bounded';
|
|
3985
|
+
brand.appendChild(word);
|
|
3974
3986
|
card.appendChild(brand);
|
|
3987
|
+
const title = document.createElement('h1');
|
|
3988
|
+
title.className = 'ba-title';
|
|
3989
|
+
title.textContent = 'Sign in';
|
|
3990
|
+
card.appendChild(title);
|
|
3991
|
+
const sub = document.createElement('p');
|
|
3992
|
+
sub.className = 'ba-subtitle';
|
|
3993
|
+
sub.textContent = 'Continue with your email — no wallet needed.';
|
|
3994
|
+
card.appendChild(sub);
|
|
3975
3995
|
const emailStep = document.createElement('div');
|
|
3976
3996
|
emailStep.id = 'ba-email-step';
|
|
3977
3997
|
card.appendChild(emailStep);
|
|
@@ -3992,7 +4012,7 @@ function createEmailModalTree() {
|
|
|
3992
4012
|
emailButton.id = 'ba-email-btn';
|
|
3993
4013
|
emailButton.className = 'ba-btn';
|
|
3994
4014
|
emailButton.type = 'button';
|
|
3995
|
-
emailButton.textContent = 'Continue';
|
|
4015
|
+
emailButton.textContent = 'Continue with email';
|
|
3996
4016
|
emailStep.appendChild(emailButton);
|
|
3997
4017
|
const otpStep = document.createElement('div');
|
|
3998
4018
|
otpStep.id = 'ba-otp-step';
|
|
@@ -4037,37 +4057,67 @@ function createEmailModalTree() {
|
|
|
4037
4057
|
card.appendChild(foot);
|
|
4038
4058
|
return root;
|
|
4039
4059
|
}
|
|
4060
|
+
// Design language matches the hosted Bounded login (auth.bounded.sh) and bounded.sh:
|
|
4061
|
+
// dark editorial panel, green accent, Schibsted Grotesk / Newsreader / JetBrains Mono,
|
|
4062
|
+
// the Bounded mark drawing itself in. Fonts load best-effort (scoped @import); every
|
|
4063
|
+
// rule has a system fallback so the modal looks right even if Google Fonts is blocked.
|
|
4064
|
+
// All selectors are scoped under #bounded-auth-modal so we never leak into the host page.
|
|
4040
4065
|
const MODAL_CSS = `
|
|
4041
|
-
|
|
4066
|
+
@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');
|
|
4067
|
+
#bounded-auth-modal{--ba-bg:#0a0a0b;--ba-panel:#0e0f11;--ba-inset:#060607;--ba-raise:#131416;
|
|
4068
|
+
--ba-line:rgba(232,230,222,.08);--ba-line-strong:rgba(232,230,222,.16);
|
|
4069
|
+
--ba-text:#e8e6de;--ba-dim:#9b9991;--ba-faint:#85837c;--ba-green:#58c98f;
|
|
4070
|
+
--ba-green-bg:rgba(88,201,143,.09);--ba-green-line:rgba(88,201,143,.28);--ba-red:#ec8488;
|
|
4071
|
+
--ba-body:'Schibsted Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
|
|
4072
|
+
--ba-display:'Newsreader','Iowan Old Style',Georgia,serif;
|
|
4073
|
+
--ba-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;}
|
|
4074
|
+
#bounded-auth-modal .ba-overlay{position:fixed;inset:0;background:rgba(6,6,7,.66);backdrop-filter:blur(4px);
|
|
4042
4075
|
display:flex;align-items:center;justify-content:center;z-index:2147483000;opacity:1;transition:opacity .16s ease;
|
|
4043
|
-
font-family
|
|
4076
|
+
font-family:var(--ba-body);padding:16px;}
|
|
4044
4077
|
#bounded-auth-modal .ba-overlay.out{opacity:0;}
|
|
4045
|
-
#bounded-auth-modal
|
|
4046
|
-
|
|
4047
|
-
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
|
|
4051
|
-
|
|
4052
|
-
|
|
4053
|
-
#bounded-auth-modal .ba-
|
|
4054
|
-
#bounded-auth-modal .ba-
|
|
4055
|
-
#bounded-auth-modal .ba-
|
|
4056
|
-
#bounded-auth-modal .ba-
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
#bounded-auth-modal .ba-
|
|
4060
|
-
#bounded-auth-modal .ba-
|
|
4061
|
-
|
|
4062
|
-
|
|
4063
|
-
#bounded-auth-modal .ba-
|
|
4064
|
-
#bounded-auth-modal .ba-
|
|
4065
|
-
#bounded-auth-modal .ba-
|
|
4066
|
-
#bounded-auth-modal .ba-
|
|
4067
|
-
#bounded-auth-modal .ba-
|
|
4068
|
-
#bounded-auth-modal .ba-
|
|
4078
|
+
#bounded-auth-modal *{box-sizing:border-box;}
|
|
4079
|
+
#bounded-auth-modal .ba-card{width:100%;max-width:372px;background:var(--ba-panel);color:var(--ba-text);
|
|
4080
|
+
border:1px solid var(--ba-line);border-radius:12px;padding:28px 28px 22px;position:relative;
|
|
4081
|
+
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;}
|
|
4082
|
+
@keyframes ba-in{from{transform:translateY(8px);opacity:.5}to{transform:translateY(0);opacity:1}}
|
|
4083
|
+
#bounded-auth-modal .ba-x{position:absolute;top:14px;right:14px;width:28px;height:28px;border:1px solid var(--ba-line);
|
|
4084
|
+
background:var(--ba-raise);color:var(--ba-faint);border-radius:7px;font-size:18px;line-height:1;cursor:pointer;
|
|
4085
|
+
transition:color .15s,border-color .15s;}
|
|
4086
|
+
#bounded-auth-modal .ba-x:hover{color:var(--ba-text);border-color:var(--ba-faint);}
|
|
4087
|
+
#bounded-auth-modal .ba-brand{display:flex;align-items:center;gap:10px;margin:0 0 24px;}
|
|
4088
|
+
#bounded-auth-modal .ba-mark{display:flex;color:var(--ba-text);}
|
|
4089
|
+
#bounded-auth-modal .ba-mark svg{overflow:visible;display:block;}
|
|
4090
|
+
#bounded-auth-modal .ba-c{stroke:currentColor;stroke-width:2.4;fill:none;}
|
|
4091
|
+
@media (prefers-reduced-motion:no-preference){
|
|
4092
|
+
#bounded-auth-modal .ba-c{stroke-dasharray:23;stroke-dashoffset:23;animation:ba-draw .4s cubic-bezier(.45,0,.2,1) forwards;}
|
|
4093
|
+
#bounded-auth-modal .ba-c1{animation-delay:.1s}#bounded-auth-modal .ba-c2{animation-delay:.38s}
|
|
4094
|
+
#bounded-auth-modal .ba-c3{animation-delay:.66s}#bounded-auth-modal .ba-c4{animation-delay:.94s}}
|
|
4095
|
+
@keyframes ba-draw{to{stroke-dashoffset:0}}
|
|
4096
|
+
#bounded-auth-modal .ba-word{font-family:var(--ba-body);font-weight:500;font-size:15px;letter-spacing:.2px;color:var(--ba-text);}
|
|
4097
|
+
#bounded-auth-modal .ba-title{font-family:var(--ba-display);font-weight:400;font-size:25px;letter-spacing:-.01em;margin:0 0 5px;}
|
|
4098
|
+
#bounded-auth-modal .ba-subtitle{color:var(--ba-dim);font-size:14px;margin:0 0 22px;}
|
|
4099
|
+
#bounded-auth-modal .ba-label{display:block;font-size:12px;color:var(--ba-dim);margin:0 0 7px;}
|
|
4100
|
+
#bounded-auth-modal .ba-em{color:var(--ba-text);font-weight:600;}
|
|
4101
|
+
#bounded-auth-modal .ba-input{width:100%;background:var(--ba-inset);border:1px solid var(--ba-line-strong);color:var(--ba-text);
|
|
4102
|
+
border-radius:6px;padding:11px 13px;font-family:var(--ba-body);font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s;}
|
|
4103
|
+
#bounded-auth-modal .ba-input::placeholder{color:var(--ba-faint);}
|
|
4104
|
+
#bounded-auth-modal .ba-input:focus{border-color:var(--ba-green-line);box-shadow:0 0 0 3px var(--ba-green-bg);}
|
|
4105
|
+
#bounded-auth-modal .ba-code{font-family:var(--ba-mono);letter-spacing:8px;text-align:center;font-size:21px;padding-left:8px;}
|
|
4106
|
+
#bounded-auth-modal .ba-btn{width:100%;margin-top:16px;background:var(--ba-text);color:var(--ba-bg);
|
|
4107
|
+
border:0;border-radius:6px;padding:12px;font-family:var(--ba-body);font-size:14px;font-weight:600;cursor:pointer;
|
|
4108
|
+
transition:opacity .15s,transform .04s;}
|
|
4109
|
+
#bounded-auth-modal .ba-btn:hover{opacity:.9;}
|
|
4110
|
+
#bounded-auth-modal .ba-btn:active{transform:translateY(.5px);}
|
|
4111
|
+
#bounded-auth-modal .ba-btn:disabled{opacity:.45;cursor:default;}
|
|
4112
|
+
#bounded-auth-modal .ba-link{width:100%;margin-top:14px;background:none;border:none;color:var(--ba-dim);
|
|
4113
|
+
font-family:var(--ba-body);font-size:12.5px;cursor:pointer;}
|
|
4114
|
+
#bounded-auth-modal .ba-link:hover{color:var(--ba-text);}
|
|
4115
|
+
#bounded-auth-modal .ba-msg{min-height:16px;margin-top:16px;font-size:12.5px;color:var(--ba-dim);text-align:center;}
|
|
4116
|
+
#bounded-auth-modal .ba-msg.err{color:var(--ba-red);}
|
|
4117
|
+
#bounded-auth-modal .ba-foot{margin-top:26px;padding-top:16px;border-top:1px solid var(--ba-line);
|
|
4118
|
+
text-align:center;font-size:11px;color:var(--ba-faint);}
|
|
4069
4119
|
#bounded-auth-modal .hidden{display:none;}
|
|
4070
|
-
@media (max-width:480px){#bounded-auth-modal .ba-card{max-width:none;
|
|
4120
|
+
@media (max-width:480px){#bounded-auth-modal .ba-card{max-width:none;}}`;
|
|
4071
4121
|
|
|
4072
4122
|
const SURFNET_RPC_URL = "https://surfpool.fly.dev";
|
|
4073
4123
|
const SUPPORTED_SOLANA_NETWORKS = new Set([
|
|
@@ -4114,6 +4164,7 @@ function resolveSolanaRpcUrl(explicitRpcUrl, network, context) {
|
|
|
4114
4164
|
}
|
|
4115
4165
|
|
|
4116
4166
|
const PKCE_STORE_KEY = 'bounded.oidc.pkce';
|
|
4167
|
+
const STORED_AUTH_METHOD_KEY$1 = 'bounded_last_auth_method';
|
|
4117
4168
|
// Active session store (Web on web, RN on React Native) — selected by config,
|
|
4118
4169
|
// not by `typeof window` (truthy on RN). OIDC redirect/popup is web-only, but the
|
|
4119
4170
|
// session it mints is read back through this same selector everywhere.
|
|
@@ -4408,6 +4459,10 @@ async function exchangeCode(code, verifier, redirectUri) {
|
|
|
4408
4459
|
const refreshToken = tokenField(data, 'refresh_token', 'refreshToken');
|
|
4409
4460
|
const user = userFromIdToken(idToken);
|
|
4410
4461
|
await sessionManager().storeSession(String(user.address || ''), accessToken, idToken, refreshToken, base);
|
|
4462
|
+
try {
|
|
4463
|
+
getPlatform().storage.setItem(STORED_AUTH_METHOD_KEY$1, 'email');
|
|
4464
|
+
}
|
|
4465
|
+
catch ( /* storage unavailable */_b) { /* storage unavailable */ }
|
|
4411
4466
|
setCurrentUser(user);
|
|
4412
4467
|
setAuthProviderInstance(oidcProviderSingleton);
|
|
4413
4468
|
return user;
|
|
@@ -4418,7 +4473,10 @@ async function exchangeCode(code, verifier, redirectUri) {
|
|
|
4418
4473
|
// (react-dom) when this module is imported on RN.
|
|
4419
4474
|
let currentAuthProvider = null;
|
|
4420
4475
|
let currentAuthMethod = null;
|
|
4476
|
+
let currentAuthProviderConfigKey = null;
|
|
4421
4477
|
let initConfig = null;
|
|
4478
|
+
const objectIdentityKeys = new WeakMap();
|
|
4479
|
+
let nextObjectIdentityKey = 1;
|
|
4422
4480
|
// --- localStorage helpers: track which auth method created the active session ---
|
|
4423
4481
|
const STORED_AUTH_METHOD_KEY = 'bounded_last_auth_method';
|
|
4424
4482
|
function getStoredAuthMethod() {
|
|
@@ -4442,6 +4500,51 @@ function setStoredAuthMethod(method) {
|
|
|
4442
4500
|
// storage might not be available
|
|
4443
4501
|
}
|
|
4444
4502
|
}
|
|
4503
|
+
function objectIdentityKey(value) {
|
|
4504
|
+
if (!value || (typeof value !== 'object' && typeof value !== 'function'))
|
|
4505
|
+
return null;
|
|
4506
|
+
const obj = value;
|
|
4507
|
+
let id = objectIdentityKeys.get(obj);
|
|
4508
|
+
if (!id) {
|
|
4509
|
+
id = nextObjectIdentityKey++;
|
|
4510
|
+
objectIdentityKeys.set(obj, id);
|
|
4511
|
+
}
|
|
4512
|
+
return `object:${id}`;
|
|
4513
|
+
}
|
|
4514
|
+
function stableConfigValue(value, seen = new WeakSet()) {
|
|
4515
|
+
if (value === null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean')
|
|
4516
|
+
return value;
|
|
4517
|
+
if (typeof value === 'function')
|
|
4518
|
+
return '[function]';
|
|
4519
|
+
if (Array.isArray(value))
|
|
4520
|
+
return value.map((item) => stableConfigValue(item, seen));
|
|
4521
|
+
if (typeof value === 'object') {
|
|
4522
|
+
if (seen.has(value))
|
|
4523
|
+
return '[circular]';
|
|
4524
|
+
seen.add(value);
|
|
4525
|
+
const out = {};
|
|
4526
|
+
for (const key of Object.keys(value).sort()) {
|
|
4527
|
+
out[key] = stableConfigValue(value[key], seen);
|
|
4528
|
+
}
|
|
4529
|
+
seen.delete(value);
|
|
4530
|
+
return out;
|
|
4531
|
+
}
|
|
4532
|
+
return String(value);
|
|
4533
|
+
}
|
|
4534
|
+
function authProviderConfigKey(config) {
|
|
4535
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
4536
|
+
return JSON.stringify({
|
|
4537
|
+
authMethod: (_a = config.authMethod) !== null && _a !== void 0 ? _a : null,
|
|
4538
|
+
chain: (_b = config.chain) !== null && _b !== void 0 ? _b : null,
|
|
4539
|
+
rpcUrl: normalizeSolanaRpcUrl(config.rpcUrl),
|
|
4540
|
+
name: (_c = config.name) !== null && _c !== void 0 ? _c : null,
|
|
4541
|
+
logoUrl: (_d = config.logoUrl) !== null && _d !== void 0 ? _d : null,
|
|
4542
|
+
phantomConfig: stableConfigValue((_e = config.phantomConfig) !== null && _e !== void 0 ? _e : null),
|
|
4543
|
+
privyConfig: stableConfigValue((_f = config.privyConfig) !== null && _f !== void 0 ? _f : null),
|
|
4544
|
+
mobileWalletConfig: stableConfigValue((_g = config.mobileWalletConfig) !== null && _g !== void 0 ? _g : null),
|
|
4545
|
+
privyExpoProvider: objectIdentityKey((_h = config.privyExpoProvider) !== null && _h !== void 0 ? _h : null),
|
|
4546
|
+
});
|
|
4547
|
+
}
|
|
4445
4548
|
/**
|
|
4446
4549
|
* Clears the session if it was created by a different auth method.
|
|
4447
4550
|
* Returns true if the session was cleared, false if the session is compatible.
|
|
@@ -4467,17 +4570,17 @@ function clearIncompatibleSession() {
|
|
|
4467
4570
|
// Lazy loaders for web-only providers.
|
|
4468
4571
|
// Using dynamic import() ensures Metro (RN) never resolves these modules.
|
|
4469
4572
|
async function loadPhantomWalletProvider() {
|
|
4470
|
-
const mod = await import('./phantom-wallet-provider-
|
|
4573
|
+
const mod = await import('./phantom-wallet-provider-DcE4A2_e.mjs');
|
|
4471
4574
|
return { PhantomWalletProvider: mod.PhantomWalletProvider };
|
|
4472
4575
|
}
|
|
4473
4576
|
// Web Privy provider (depends on react-dom + @privy-io/react-auth). Lazy so Metro
|
|
4474
4577
|
// never bundles it into the RN build — RN uses the @privy-io/expo provider instead.
|
|
4475
4578
|
async function loadPrivyWalletProvider() {
|
|
4476
|
-
const mod = await import('./privy-wallet-provider-
|
|
4579
|
+
const mod = await import('./privy-wallet-provider-oG3o5vko.mjs');
|
|
4477
4580
|
return mod.PrivyWalletProvider;
|
|
4478
4581
|
}
|
|
4479
4582
|
async function loadSolanaMobileWalletProvider() {
|
|
4480
|
-
const mod = await import('./solana-mobile-wallet-provider-
|
|
4583
|
+
const mod = await import('./solana-mobile-wallet-provider-aS60_GZR.mjs');
|
|
4481
4584
|
return mod.SolanaMobileWalletProvider;
|
|
4482
4585
|
}
|
|
4483
4586
|
function requireWebPrivyConfig(config) {
|
|
@@ -4547,6 +4650,7 @@ async function hotSwapToMWAProvider(config) {
|
|
|
4547
4650
|
}
|
|
4548
4651
|
currentAuthProvider = provider;
|
|
4549
4652
|
currentAuthMethod = 'mobile-wallet-adapter';
|
|
4653
|
+
currentAuthProviderConfigKey = authProviderConfigKey(Object.assign(Object.assign({}, config), { authMethod: 'mobile-wallet-adapter' }));
|
|
4550
4654
|
const coreConfig = await getConfig();
|
|
4551
4655
|
coreConfig.authProvider = provider;
|
|
4552
4656
|
// Send 'phantom' as authMethod so the server routes to Solana verification.
|
|
@@ -4557,12 +4661,18 @@ async function hotSwapToMWAProvider(config) {
|
|
|
4557
4661
|
}
|
|
4558
4662
|
async function getAuthProvider(config) {
|
|
4559
4663
|
var _a, _b;
|
|
4560
|
-
|
|
4664
|
+
const nextProviderConfigKey = config ? authProviderConfigKey(config) : null;
|
|
4665
|
+
if (currentAuthProvider && (!config || currentAuthProviderConfigKey === nextProviderConfigKey)) {
|
|
4561
4666
|
return currentAuthProvider;
|
|
4562
4667
|
}
|
|
4563
4668
|
if (!config) {
|
|
4564
4669
|
throw new Error("Config is required to initialize auth provider");
|
|
4565
4670
|
}
|
|
4671
|
+
if (currentAuthProvider && currentAuthProviderConfigKey !== nextProviderConfigKey) {
|
|
4672
|
+
currentAuthProvider = null;
|
|
4673
|
+
currentAuthMethod = null;
|
|
4674
|
+
currentAuthProviderConfigKey = null;
|
|
4675
|
+
}
|
|
4566
4676
|
initConfig = config;
|
|
4567
4677
|
const authMethod = config.authMethod;
|
|
4568
4678
|
if (!authMethod) {
|
|
@@ -4645,6 +4755,7 @@ async function getAuthProvider(config) {
|
|
|
4645
4755
|
console.log("[Offchain] Wrapping auth provider for Poofnet transaction tracking");
|
|
4646
4756
|
currentAuthProvider = new OffchainAuthProvider(currentAuthProvider);
|
|
4647
4757
|
}
|
|
4758
|
+
currentAuthProviderConfigKey = nextProviderConfigKey;
|
|
4648
4759
|
return currentAuthProvider;
|
|
4649
4760
|
}
|
|
4650
4761
|
/**
|
|
@@ -4674,6 +4785,7 @@ async function signInAnonymously() {
|
|
|
4674
4785
|
const provider = new GuestAuthProvider();
|
|
4675
4786
|
currentAuthProvider = provider;
|
|
4676
4787
|
currentAuthMethod = 'guest';
|
|
4788
|
+
currentAuthProviderConfigKey = 'direct:guest';
|
|
4677
4789
|
const coreConfig = await getConfig();
|
|
4678
4790
|
coreConfig.authProvider = provider;
|
|
4679
4791
|
coreConfig.authMethod = 'guest';
|
|
@@ -4718,6 +4830,7 @@ async function loginWithPrivy(options) {
|
|
|
4718
4830
|
provider = new OffchainAuthProvider(provider);
|
|
4719
4831
|
}
|
|
4720
4832
|
currentAuthProvider = provider;
|
|
4833
|
+
currentAuthProviderConfigKey = authProviderConfigKey(Object.assign(Object.assign({}, coreConfig), { authMethod: currentAuthMethod }));
|
|
4721
4834
|
coreConfig.authProvider = provider;
|
|
4722
4835
|
coreConfig.authMethod = currentAuthMethod;
|
|
4723
4836
|
setAuthProviderInstance(provider);
|
|
@@ -4734,6 +4847,7 @@ async function activateEmailProvider() {
|
|
|
4734
4847
|
const provider = new EmailAuthProvider();
|
|
4735
4848
|
currentAuthProvider = provider;
|
|
4736
4849
|
currentAuthMethod = 'email';
|
|
4850
|
+
currentAuthProviderConfigKey = 'direct:email';
|
|
4737
4851
|
const coreConfig = await getConfig();
|
|
4738
4852
|
coreConfig.authProvider = provider;
|
|
4739
4853
|
coreConfig.authMethod = 'email';
|
|
@@ -4860,6 +4974,7 @@ async function logout$1() {
|
|
|
4860
4974
|
setStoredAuthMethod(null);
|
|
4861
4975
|
currentAuthProvider = null;
|
|
4862
4976
|
currentAuthMethod = null;
|
|
4977
|
+
currentAuthProviderConfigKey = null;
|
|
4863
4978
|
}
|
|
4864
4979
|
|
|
4865
4980
|
/**
|
|
@@ -5507,4 +5622,4 @@ class PrivyExpoProvider {
|
|
|
5507
5622
|
}
|
|
5508
5623
|
|
|
5509
5624
|
export { loginWithRedirect as A, linkWithRedirect as B, completeLoginFromRedirect as C, loginWithPopup as D, completeLoginInPopup as E, useAuth as F, deserializeTransaction as G, getIdToken as H, setPlatform as I, index as J, OffchainAuthProvider as O, PrivyExpoProvider as P, SURFNET_RPC_URL as S, detectAndroid as a, bufferExports as b, confirmAndCheckTransaction as c, detectMobile as d, setAuthLoading as e, resolveSolanaWalletStandardChain as f, getPlatform as g, bs58 as h, init as i, getCurrentUser as j, onAuthLoadingChanged as k, getAuthLoading as l, login as m, normalizeSolanaRpcUrl as n, onAuthStateChanged as o, logout as p, getAuthProvider as q, resolveSolanaRpcUrl as r, setCurrentUser as s, signInAnonymously as t, sendEmailOtp as u, sendTextOtp as v, verifyEmailOtp as w, verifyTextOtp as x, linkEmail as y, loginWithPrivy as z };
|
|
5510
|
-
//# sourceMappingURL=index.native-
|
|
5625
|
+
//# sourceMappingURL=index.native-N3xLU862.mjs.map
|