@bounded-sh/client 0.0.20 → 0.0.22
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 +159 -33
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +159 -33
- package/dist/index.mjs.map +1 -1
- package/dist/{index.native-BtM38BVP.js → index.native-C4a8IUpM.js} +163 -37
- package/dist/index.native-C4a8IUpM.js.map +1 -0
- package/dist/{index.native-w12aoVNW.mjs → index.native-C9PMGtxX.mjs} +163 -37
- package/dist/index.native-C9PMGtxX.mjs.map +1 -0
- package/dist/index.native.js +1 -1
- package/dist/index.native.mjs +1 -1
- package/dist/{phantom-wallet-provider-BJWelaiH.js → phantom-wallet-provider-BPRRcIaN.js} +2 -2
- package/dist/{phantom-wallet-provider-BJWelaiH.js.map → phantom-wallet-provider-BPRRcIaN.js.map} +1 -1
- package/dist/{phantom-wallet-provider-BT2V4EU5.mjs → phantom-wallet-provider-DhpV9xKE.mjs} +2 -2
- package/dist/{phantom-wallet-provider-BT2V4EU5.mjs.map → phantom-wallet-provider-DhpV9xKE.mjs.map} +1 -1
- package/dist/{privy-wallet-provider-LV1X7hZe.mjs → privy-wallet-provider-B6QyPXqq.mjs} +3 -3
- package/dist/{privy-wallet-provider-LV1X7hZe.mjs.map → privy-wallet-provider-B6QyPXqq.mjs.map} +1 -1
- package/dist/{privy-wallet-provider-BSh0aZVL.js → privy-wallet-provider-D4W91sqG.js} +3 -3
- package/dist/{privy-wallet-provider-BSh0aZVL.js.map → privy-wallet-provider-D4W91sqG.js.map} +1 -1
- package/dist/{solana-mobile-wallet-provider-CKsfiyDd.js → solana-mobile-wallet-provider-B0O0BctB.js} +2 -2
- package/dist/{solana-mobile-wallet-provider-CKsfiyDd.js.map → solana-mobile-wallet-provider-B0O0BctB.js.map} +1 -1
- package/dist/{solana-mobile-wallet-provider-NLe9_mEn.mjs → solana-mobile-wallet-provider-OGKifgCZ.mjs} +2 -2
- package/dist/{solana-mobile-wallet-provider-NLe9_mEn.mjs.map → solana-mobile-wallet-provider-OGKifgCZ.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
package/README.md
CHANGED
|
@@ -66,13 +66,13 @@ yarn add @tarobase/js-sdk
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
|
|
69
|
-
Before using the SDK, initialize it with your **Application ID
|
|
69
|
+
Before using the SDK, initialize it with your **Application ID** and the one auth method this app intends to use. You can obtain your `appId` by creating an application on the [Tarobase Console](https://console.tarobase.com). The console also allows you to configure your application's policies, including data storage preferences (on-chain or off-chain) and data schemas.
|
|
70
70
|
|
|
71
71
|
|
|
72
72
|
```typescript
|
|
73
73
|
import { init } from '@tarobase/js-sdk';
|
|
74
74
|
|
|
75
|
-
init({appId: 'YOUR_APP_ID' });
|
|
75
|
+
init({ appId: 'YOUR_APP_ID', authMethod: 'email' });
|
|
76
76
|
```
|
|
77
77
|
|
|
78
78
|
### Authentication
|
package/dist/index.js
CHANGED
|
@@ -3989,13 +3989,44 @@ function createEmailModalTree() {
|
|
|
3989
3989
|
close.type = 'button';
|
|
3990
3990
|
close.textContent = '×';
|
|
3991
3991
|
card.appendChild(close);
|
|
3992
|
+
// Brand row — the real Bounded mark (same geometry as bounded.sh) + wordmark.
|
|
3992
3993
|
const brand = document.createElement('div');
|
|
3993
3994
|
brand.className = 'ba-brand';
|
|
3994
|
-
const
|
|
3995
|
-
|
|
3996
|
-
|
|
3997
|
-
|
|
3995
|
+
const mark = document.createElement('span');
|
|
3996
|
+
mark.className = 'ba-mark';
|
|
3997
|
+
mark.setAttribute('aria-hidden', 'true');
|
|
3998
|
+
const svgNs = 'http://www.w3.org/2000/svg';
|
|
3999
|
+
const markSvg = document.createElementNS(svgNs, 'svg');
|
|
4000
|
+
markSvg.setAttribute('width', '24');
|
|
4001
|
+
markSvg.setAttribute('height', '24');
|
|
4002
|
+
markSvg.setAttribute('viewBox', '0 0 32 32');
|
|
4003
|
+
markSvg.setAttribute('fill', 'none');
|
|
4004
|
+
for (const [className, d] of [
|
|
4005
|
+
['ba-c ba-c1', 'M16 5 H5 V16'],
|
|
4006
|
+
['ba-c ba-c2', 'M16 5 H27 V16'],
|
|
4007
|
+
['ba-c ba-c3', 'M5 16 V27 H16'],
|
|
4008
|
+
['ba-c ba-c4', 'M27 16 V27 H16'],
|
|
4009
|
+
]) {
|
|
4010
|
+
const path = document.createElementNS(svgNs, 'path');
|
|
4011
|
+
path.setAttribute('class', className);
|
|
4012
|
+
path.setAttribute('d', d);
|
|
4013
|
+
markSvg.appendChild(path);
|
|
4014
|
+
}
|
|
4015
|
+
mark.appendChild(markSvg);
|
|
4016
|
+
brand.appendChild(mark);
|
|
4017
|
+
const word = document.createElement('span');
|
|
4018
|
+
word.className = 'ba-word';
|
|
4019
|
+
word.textContent = 'bounded';
|
|
4020
|
+
brand.appendChild(word);
|
|
3998
4021
|
card.appendChild(brand);
|
|
4022
|
+
const title = document.createElement('h1');
|
|
4023
|
+
title.className = 'ba-title';
|
|
4024
|
+
title.textContent = 'Sign in';
|
|
4025
|
+
card.appendChild(title);
|
|
4026
|
+
const sub = document.createElement('p');
|
|
4027
|
+
sub.className = 'ba-subtitle';
|
|
4028
|
+
sub.textContent = 'Continue with your email — no wallet needed.';
|
|
4029
|
+
card.appendChild(sub);
|
|
3999
4030
|
const emailStep = document.createElement('div');
|
|
4000
4031
|
emailStep.id = 'ba-email-step';
|
|
4001
4032
|
card.appendChild(emailStep);
|
|
@@ -4016,7 +4047,7 @@ function createEmailModalTree() {
|
|
|
4016
4047
|
emailButton.id = 'ba-email-btn';
|
|
4017
4048
|
emailButton.className = 'ba-btn';
|
|
4018
4049
|
emailButton.type = 'button';
|
|
4019
|
-
emailButton.textContent = 'Continue';
|
|
4050
|
+
emailButton.textContent = 'Continue with email';
|
|
4020
4051
|
emailStep.appendChild(emailButton);
|
|
4021
4052
|
const otpStep = document.createElement('div');
|
|
4022
4053
|
otpStep.id = 'ba-otp-step';
|
|
@@ -4061,37 +4092,67 @@ function createEmailModalTree() {
|
|
|
4061
4092
|
card.appendChild(foot);
|
|
4062
4093
|
return root;
|
|
4063
4094
|
}
|
|
4095
|
+
// Design language matches the hosted Bounded login (auth.bounded.sh) and bounded.sh:
|
|
4096
|
+
// dark editorial panel, green accent, Schibsted Grotesk / Newsreader / JetBrains Mono,
|
|
4097
|
+
// the Bounded mark drawing itself in. Fonts load best-effort (scoped @import); every
|
|
4098
|
+
// rule has a system fallback so the modal looks right even if Google Fonts is blocked.
|
|
4099
|
+
// All selectors are scoped under #bounded-auth-modal so we never leak into the host page.
|
|
4064
4100
|
const MODAL_CSS = `
|
|
4065
|
-
|
|
4101
|
+
@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');
|
|
4102
|
+
#bounded-auth-modal{--ba-bg:#0a0a0b;--ba-panel:#0e0f11;--ba-inset:#060607;--ba-raise:#131416;
|
|
4103
|
+
--ba-line:rgba(232,230,222,.08);--ba-line-strong:rgba(232,230,222,.16);
|
|
4104
|
+
--ba-text:#e8e6de;--ba-dim:#9b9991;--ba-faint:#85837c;--ba-green:#58c98f;
|
|
4105
|
+
--ba-green-bg:rgba(88,201,143,.09);--ba-green-line:rgba(88,201,143,.28);--ba-red:#ec8488;
|
|
4106
|
+
--ba-body:'Schibsted Grotesk',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
|
|
4107
|
+
--ba-display:'Newsreader','Iowan Old Style',Georgia,serif;
|
|
4108
|
+
--ba-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;}
|
|
4109
|
+
#bounded-auth-modal .ba-overlay{position:fixed;inset:0;background:rgba(6,6,7,.66);backdrop-filter:blur(4px);
|
|
4066
4110
|
display:flex;align-items:center;justify-content:center;z-index:2147483000;opacity:1;transition:opacity .16s ease;
|
|
4067
|
-
font-family
|
|
4111
|
+
font-family:var(--ba-body);padding:16px;}
|
|
4068
4112
|
#bounded-auth-modal .ba-overlay.out{opacity:0;}
|
|
4069
|
-
#bounded-auth-modal
|
|
4070
|
-
|
|
4071
|
-
|
|
4072
|
-
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
|
|
4076
|
-
|
|
4077
|
-
#bounded-auth-modal .ba-
|
|
4078
|
-
#bounded-auth-modal .ba-
|
|
4079
|
-
#bounded-auth-modal .ba-
|
|
4080
|
-
#bounded-auth-modal .ba-
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
#bounded-auth-modal .ba-
|
|
4084
|
-
#bounded-auth-modal .ba-
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
#bounded-auth-modal .ba-
|
|
4088
|
-
#bounded-auth-modal .ba-
|
|
4089
|
-
#bounded-auth-modal .ba-
|
|
4090
|
-
#bounded-auth-modal .ba-
|
|
4091
|
-
#bounded-auth-modal .ba-
|
|
4092
|
-
#bounded-auth-modal .ba-
|
|
4113
|
+
#bounded-auth-modal *{box-sizing:border-box;}
|
|
4114
|
+
#bounded-auth-modal .ba-card{width:100%;max-width:372px;background:var(--ba-panel);color:var(--ba-text);
|
|
4115
|
+
border:1px solid var(--ba-line);border-radius:12px;padding:28px 28px 22px;position:relative;
|
|
4116
|
+
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;}
|
|
4117
|
+
@keyframes ba-in{from{transform:translateY(8px);opacity:.5}to{transform:translateY(0);opacity:1}}
|
|
4118
|
+
#bounded-auth-modal .ba-x{position:absolute;top:14px;right:14px;width:28px;height:28px;border:1px solid var(--ba-line);
|
|
4119
|
+
background:var(--ba-raise);color:var(--ba-faint);border-radius:7px;font-size:18px;line-height:1;cursor:pointer;
|
|
4120
|
+
transition:color .15s,border-color .15s;}
|
|
4121
|
+
#bounded-auth-modal .ba-x:hover{color:var(--ba-text);border-color:var(--ba-faint);}
|
|
4122
|
+
#bounded-auth-modal .ba-brand{display:flex;align-items:center;gap:10px;margin:0 0 24px;}
|
|
4123
|
+
#bounded-auth-modal .ba-mark{display:flex;color:var(--ba-text);}
|
|
4124
|
+
#bounded-auth-modal .ba-mark svg{overflow:visible;display:block;}
|
|
4125
|
+
#bounded-auth-modal .ba-c{stroke:currentColor;stroke-width:2.4;fill:none;}
|
|
4126
|
+
@media (prefers-reduced-motion:no-preference){
|
|
4127
|
+
#bounded-auth-modal .ba-c{stroke-dasharray:23;stroke-dashoffset:23;animation:ba-draw .4s cubic-bezier(.45,0,.2,1) forwards;}
|
|
4128
|
+
#bounded-auth-modal .ba-c1{animation-delay:.1s}#bounded-auth-modal .ba-c2{animation-delay:.38s}
|
|
4129
|
+
#bounded-auth-modal .ba-c3{animation-delay:.66s}#bounded-auth-modal .ba-c4{animation-delay:.94s}}
|
|
4130
|
+
@keyframes ba-draw{to{stroke-dashoffset:0}}
|
|
4131
|
+
#bounded-auth-modal .ba-word{font-family:var(--ba-body);font-weight:500;font-size:15px;letter-spacing:.2px;color:var(--ba-text);}
|
|
4132
|
+
#bounded-auth-modal .ba-title{font-family:var(--ba-display);font-weight:400;font-size:25px;letter-spacing:-.01em;margin:0 0 5px;}
|
|
4133
|
+
#bounded-auth-modal .ba-subtitle{color:var(--ba-dim);font-size:14px;margin:0 0 22px;}
|
|
4134
|
+
#bounded-auth-modal .ba-label{display:block;font-size:12px;color:var(--ba-dim);margin:0 0 7px;}
|
|
4135
|
+
#bounded-auth-modal .ba-em{color:var(--ba-text);font-weight:600;}
|
|
4136
|
+
#bounded-auth-modal .ba-input{width:100%;background:var(--ba-inset);border:1px solid var(--ba-line-strong);color:var(--ba-text);
|
|
4137
|
+
border-radius:6px;padding:11px 13px;font-family:var(--ba-body);font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s;}
|
|
4138
|
+
#bounded-auth-modal .ba-input::placeholder{color:var(--ba-faint);}
|
|
4139
|
+
#bounded-auth-modal .ba-input:focus{border-color:var(--ba-green-line);box-shadow:0 0 0 3px var(--ba-green-bg);}
|
|
4140
|
+
#bounded-auth-modal .ba-code{font-family:var(--ba-mono);letter-spacing:8px;text-align:center;font-size:21px;padding-left:8px;}
|
|
4141
|
+
#bounded-auth-modal .ba-btn{width:100%;margin-top:16px;background:var(--ba-text);color:var(--ba-bg);
|
|
4142
|
+
border:0;border-radius:6px;padding:12px;font-family:var(--ba-body);font-size:14px;font-weight:600;cursor:pointer;
|
|
4143
|
+
transition:opacity .15s,transform .04s;}
|
|
4144
|
+
#bounded-auth-modal .ba-btn:hover{opacity:.9;}
|
|
4145
|
+
#bounded-auth-modal .ba-btn:active{transform:translateY(.5px);}
|
|
4146
|
+
#bounded-auth-modal .ba-btn:disabled{opacity:.45;cursor:default;}
|
|
4147
|
+
#bounded-auth-modal .ba-link{width:100%;margin-top:14px;background:none;border:none;color:var(--ba-dim);
|
|
4148
|
+
font-family:var(--ba-body);font-size:12.5px;cursor:pointer;}
|
|
4149
|
+
#bounded-auth-modal .ba-link:hover{color:var(--ba-text);}
|
|
4150
|
+
#bounded-auth-modal .ba-msg{min-height:16px;margin-top:16px;font-size:12.5px;color:var(--ba-dim);text-align:center;}
|
|
4151
|
+
#bounded-auth-modal .ba-msg.err{color:var(--ba-red);}
|
|
4152
|
+
#bounded-auth-modal .ba-foot{margin-top:26px;padding-top:16px;border-top:1px solid var(--ba-line);
|
|
4153
|
+
text-align:center;font-size:11px;color:var(--ba-faint);}
|
|
4093
4154
|
#bounded-auth-modal .hidden{display:none;}
|
|
4094
|
-
@media (max-width:480px){#bounded-auth-modal .ba-card{max-width:none;
|
|
4155
|
+
@media (max-width:480px){#bounded-auth-modal .ba-card{max-width:none;}}`;
|
|
4095
4156
|
|
|
4096
4157
|
const SURFNET_RPC_URL = "https://surfpool.fly.dev";
|
|
4097
4158
|
const SUPPORTED_SOLANA_NETWORKS = new Set([
|
|
@@ -4138,6 +4199,7 @@ function resolveSolanaRpcUrl(explicitRpcUrl, network, context) {
|
|
|
4138
4199
|
}
|
|
4139
4200
|
|
|
4140
4201
|
const PKCE_STORE_KEY = 'bounded.oidc.pkce';
|
|
4202
|
+
const STORED_AUTH_METHOD_KEY$2 = 'bounded_last_auth_method';
|
|
4141
4203
|
// Active session store (Web on web, RN on React Native) — selected by config,
|
|
4142
4204
|
// not by `typeof window` (truthy on RN). OIDC redirect/popup is web-only, but the
|
|
4143
4205
|
// session it mints is read back through this same selector everywhere.
|
|
@@ -4432,6 +4494,10 @@ async function exchangeCode(code, verifier, redirectUri) {
|
|
|
4432
4494
|
const refreshToken = tokenField(data, 'refresh_token', 'refreshToken');
|
|
4433
4495
|
const user = userFromIdToken(idToken);
|
|
4434
4496
|
await sessionManager().storeSession(String(user.address || ''), accessToken, idToken, refreshToken, base);
|
|
4497
|
+
try {
|
|
4498
|
+
getPlatform().storage.setItem(STORED_AUTH_METHOD_KEY$2, 'email');
|
|
4499
|
+
}
|
|
4500
|
+
catch ( /* storage unavailable */_b) { /* storage unavailable */ }
|
|
4435
4501
|
setCurrentUser(user);
|
|
4436
4502
|
setAuthProviderInstance(oidcProviderSingleton);
|
|
4437
4503
|
return user;
|
|
@@ -4442,7 +4508,10 @@ async function exchangeCode(code, verifier, redirectUri) {
|
|
|
4442
4508
|
// (react-dom) when this module is imported on RN.
|
|
4443
4509
|
let currentAuthProvider = null;
|
|
4444
4510
|
let currentAuthMethod = null;
|
|
4511
|
+
let currentAuthProviderConfigKey = null;
|
|
4445
4512
|
let initConfig = null;
|
|
4513
|
+
const objectIdentityKeys = new WeakMap();
|
|
4514
|
+
let nextObjectIdentityKey = 1;
|
|
4446
4515
|
// --- localStorage helpers: track which auth method created the active session ---
|
|
4447
4516
|
const STORED_AUTH_METHOD_KEY$1 = 'bounded_last_auth_method';
|
|
4448
4517
|
function getStoredAuthMethod() {
|
|
@@ -4466,6 +4535,51 @@ function setStoredAuthMethod(method) {
|
|
|
4466
4535
|
// storage might not be available
|
|
4467
4536
|
}
|
|
4468
4537
|
}
|
|
4538
|
+
function objectIdentityKey(value) {
|
|
4539
|
+
if (!value || (typeof value !== 'object' && typeof value !== 'function'))
|
|
4540
|
+
return null;
|
|
4541
|
+
const obj = value;
|
|
4542
|
+
let id = objectIdentityKeys.get(obj);
|
|
4543
|
+
if (!id) {
|
|
4544
|
+
id = nextObjectIdentityKey++;
|
|
4545
|
+
objectIdentityKeys.set(obj, id);
|
|
4546
|
+
}
|
|
4547
|
+
return `object:${id}`;
|
|
4548
|
+
}
|
|
4549
|
+
function stableConfigValue(value, seen = new WeakSet()) {
|
|
4550
|
+
if (value === null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean')
|
|
4551
|
+
return value;
|
|
4552
|
+
if (typeof value === 'function')
|
|
4553
|
+
return '[function]';
|
|
4554
|
+
if (Array.isArray(value))
|
|
4555
|
+
return value.map((item) => stableConfigValue(item, seen));
|
|
4556
|
+
if (typeof value === 'object') {
|
|
4557
|
+
if (seen.has(value))
|
|
4558
|
+
return '[circular]';
|
|
4559
|
+
seen.add(value);
|
|
4560
|
+
const out = {};
|
|
4561
|
+
for (const key of Object.keys(value).sort()) {
|
|
4562
|
+
out[key] = stableConfigValue(value[key], seen);
|
|
4563
|
+
}
|
|
4564
|
+
seen.delete(value);
|
|
4565
|
+
return out;
|
|
4566
|
+
}
|
|
4567
|
+
return String(value);
|
|
4568
|
+
}
|
|
4569
|
+
function authProviderConfigKey(config) {
|
|
4570
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
4571
|
+
return JSON.stringify({
|
|
4572
|
+
authMethod: (_a = config.authMethod) !== null && _a !== void 0 ? _a : null,
|
|
4573
|
+
chain: (_b = config.chain) !== null && _b !== void 0 ? _b : null,
|
|
4574
|
+
rpcUrl: normalizeSolanaRpcUrl(config.rpcUrl),
|
|
4575
|
+
name: (_c = config.name) !== null && _c !== void 0 ? _c : null,
|
|
4576
|
+
logoUrl: (_d = config.logoUrl) !== null && _d !== void 0 ? _d : null,
|
|
4577
|
+
phantomConfig: stableConfigValue((_e = config.phantomConfig) !== null && _e !== void 0 ? _e : null),
|
|
4578
|
+
privyConfig: stableConfigValue((_f = config.privyConfig) !== null && _f !== void 0 ? _f : null),
|
|
4579
|
+
mobileWalletConfig: stableConfigValue((_g = config.mobileWalletConfig) !== null && _g !== void 0 ? _g : null),
|
|
4580
|
+
privyExpoProvider: objectIdentityKey((_h = config.privyExpoProvider) !== null && _h !== void 0 ? _h : null),
|
|
4581
|
+
});
|
|
4582
|
+
}
|
|
4469
4583
|
/**
|
|
4470
4584
|
* Clears the session if it was created by a different auth method.
|
|
4471
4585
|
* Returns true if the session was cleared, false if the session is compatible.
|
|
@@ -4571,6 +4685,7 @@ async function hotSwapToMWAProvider(config) {
|
|
|
4571
4685
|
}
|
|
4572
4686
|
currentAuthProvider = provider;
|
|
4573
4687
|
currentAuthMethod = 'mobile-wallet-adapter';
|
|
4688
|
+
currentAuthProviderConfigKey = authProviderConfigKey(Object.assign(Object.assign({}, config), { authMethod: 'mobile-wallet-adapter' }));
|
|
4574
4689
|
const coreConfig = await core.getConfig();
|
|
4575
4690
|
coreConfig.authProvider = provider;
|
|
4576
4691
|
// Send 'phantom' as authMethod so the server routes to Solana verification.
|
|
@@ -4581,12 +4696,18 @@ async function hotSwapToMWAProvider(config) {
|
|
|
4581
4696
|
}
|
|
4582
4697
|
async function getAuthProvider(config) {
|
|
4583
4698
|
var _a, _b;
|
|
4584
|
-
|
|
4699
|
+
const nextProviderConfigKey = config ? authProviderConfigKey(config) : null;
|
|
4700
|
+
if (currentAuthProvider && (!config || currentAuthProviderConfigKey === nextProviderConfigKey)) {
|
|
4585
4701
|
return currentAuthProvider;
|
|
4586
4702
|
}
|
|
4587
4703
|
if (!config) {
|
|
4588
4704
|
throw new Error("Config is required to initialize auth provider");
|
|
4589
4705
|
}
|
|
4706
|
+
if (currentAuthProvider && currentAuthProviderConfigKey !== nextProviderConfigKey) {
|
|
4707
|
+
currentAuthProvider = null;
|
|
4708
|
+
currentAuthMethod = null;
|
|
4709
|
+
currentAuthProviderConfigKey = null;
|
|
4710
|
+
}
|
|
4590
4711
|
initConfig = config;
|
|
4591
4712
|
const authMethod = config.authMethod;
|
|
4592
4713
|
if (!authMethod) {
|
|
@@ -4669,6 +4790,7 @@ async function getAuthProvider(config) {
|
|
|
4669
4790
|
console.log("[Offchain] Wrapping auth provider for Poofnet transaction tracking");
|
|
4670
4791
|
currentAuthProvider = new OffchainAuthProvider(currentAuthProvider);
|
|
4671
4792
|
}
|
|
4793
|
+
currentAuthProviderConfigKey = nextProviderConfigKey;
|
|
4672
4794
|
return currentAuthProvider;
|
|
4673
4795
|
}
|
|
4674
4796
|
/**
|
|
@@ -4698,6 +4820,7 @@ async function signInAnonymously() {
|
|
|
4698
4820
|
const provider = new GuestAuthProvider();
|
|
4699
4821
|
currentAuthProvider = provider;
|
|
4700
4822
|
currentAuthMethod = 'guest';
|
|
4823
|
+
currentAuthProviderConfigKey = 'direct:guest';
|
|
4701
4824
|
const coreConfig = await core.getConfig();
|
|
4702
4825
|
coreConfig.authProvider = provider;
|
|
4703
4826
|
coreConfig.authMethod = 'guest';
|
|
@@ -4742,6 +4865,7 @@ async function loginWithPrivy(options) {
|
|
|
4742
4865
|
provider = new OffchainAuthProvider(provider);
|
|
4743
4866
|
}
|
|
4744
4867
|
currentAuthProvider = provider;
|
|
4868
|
+
currentAuthProviderConfigKey = authProviderConfigKey(Object.assign(Object.assign({}, coreConfig), { authMethod: currentAuthMethod }));
|
|
4745
4869
|
coreConfig.authProvider = provider;
|
|
4746
4870
|
coreConfig.authMethod = currentAuthMethod;
|
|
4747
4871
|
setAuthProviderInstance(provider);
|
|
@@ -4758,6 +4882,7 @@ async function activateEmailProvider() {
|
|
|
4758
4882
|
const provider = new EmailAuthProvider();
|
|
4759
4883
|
currentAuthProvider = provider;
|
|
4760
4884
|
currentAuthMethod = 'email';
|
|
4885
|
+
currentAuthProviderConfigKey = 'direct:email';
|
|
4761
4886
|
const coreConfig = await core.getConfig();
|
|
4762
4887
|
coreConfig.authProvider = provider;
|
|
4763
4888
|
coreConfig.authMethod = 'email';
|
|
@@ -4884,6 +5009,7 @@ async function logout$1() {
|
|
|
4884
5009
|
setStoredAuthMethod(null);
|
|
4885
5010
|
currentAuthProvider = null;
|
|
4886
5011
|
currentAuthMethod = null;
|
|
5012
|
+
currentAuthProviderConfigKey = null;
|
|
4887
5013
|
}
|
|
4888
5014
|
|
|
4889
5015
|
/**
|