@pooflabs/web 0.0.83 → 0.0.84
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/dist/{index-FviRSm3S.js → index-BM6hgCdH.js} +13 -363
- package/dist/index-BM6hgCdH.js.map +1 -0
- package/dist/{index-DP0xF34Z.js → index-BPlF6-PQ.js} +124 -45
- package/dist/index-BPlF6-PQ.js.map +1 -0
- package/dist/{index-DQWyH96R.js → index-Bp4b5LXs.js} +2 -2
- package/dist/index-Bp4b5LXs.js.map +1 -0
- package/dist/index-C80kRxWk.esm.js +6 -0
- package/dist/index-C80kRxWk.esm.js.map +1 -0
- package/dist/{index-CP_wLmYu.esm.js → index-CH2G5Y9i.esm.js} +13 -363
- package/dist/index-CH2G5Y9i.esm.js.map +1 -0
- package/dist/{index-BxXQhFLQ.js → index-CSeN3jbG.js} +14 -364
- package/dist/index-CSeN3jbG.js.map +1 -0
- package/dist/{index-B7yaLhND.esm.js → index-XHbmzFFO.esm.js} +124 -45
- package/dist/index-XHbmzFFO.esm.js.map +1 -0
- package/dist/{index-CpaP1yGp.esm.js → index-ep10Sw82.esm.js} +14 -364
- package/dist/index-ep10Sw82.esm.js.map +1 -0
- package/dist/{index.browser-BhppfDyf.js → index.browser-BvNsUWjt.js} +2 -2
- package/dist/{index.browser-BhppfDyf.js.map → index.browser-BvNsUWjt.js.map} +1 -1
- package/dist/{index.browser-BfnOoa_h.js → index.browser-BwIqqM4U.js} +2 -2
- package/dist/{index.browser-BfnOoa_h.js.map → index.browser-BwIqqM4U.js.map} +1 -1
- package/dist/{index.browser-_zN3Uapq.js → index.browser-C1QL04xM.js} +2 -2
- package/dist/{index.browser-_zN3Uapq.js.map → index.browser-C1QL04xM.js.map} +1 -1
- package/dist/{index.browser-B_wQp2A8.esm.js → index.browser-Cgj7Hs6n.esm.js} +2 -2
- package/dist/{index.browser-B_wQp2A8.esm.js.map → index.browser-Cgj7Hs6n.esm.js.map} +1 -1
- package/dist/{index.browser-1_M66nQ6.esm.js → index.browser-CifFI7Ju.esm.js} +2 -2
- package/dist/{index.browser-1_M66nQ6.esm.js.map → index.browser-CifFI7Ju.esm.js.map} +1 -1
- package/dist/{index.browser-vUinl_9y.esm.js → index.browser-D8VWPXTZ.esm.js} +2 -2
- package/dist/{index.browser-vUinl_9y.esm.js.map → index.browser-D8VWPXTZ.esm.js.map} +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{index.native-Dkf8NZ2O.js → index.native-BmtuyGXs.js} +61 -42
- package/dist/index.native-BmtuyGXs.js.map +1 -0
- package/dist/{index.native-CyEwEeKr.esm.js → index.native-X01vlukI.esm.js} +62 -43
- package/dist/index.native-X01vlukI.esm.js.map +1 -0
- package/dist/index.native.esm.js +1 -1
- package/dist/index.native.js +1 -1
- package/dist/{phantom-wallet-provider-CVyVJmH0.js → phantom-wallet-provider-C_LPU6Ns.js} +37 -6
- package/dist/phantom-wallet-provider-C_LPU6Ns.js.map +1 -0
- package/dist/{phantom-wallet-provider-fkcFbwPk.esm.js → phantom-wallet-provider-DRvhBbbR.esm.js} +37 -6
- package/dist/phantom-wallet-provider-DRvhBbbR.esm.js.map +1 -0
- package/dist/{privy-wallet-provider-CrBZ52nR.js → privy-wallet-provider-DQM8xO38.js} +3 -3
- package/dist/privy-wallet-provider-DQM8xO38.js.map +1 -0
- package/dist/{privy-wallet-provider-CpHAxPcv.esm.js → privy-wallet-provider-ZGu8q5T5.esm.js} +3 -3
- package/dist/privy-wallet-provider-ZGu8q5T5.esm.js.map +1 -0
- package/dist/{solana-mobile-wallet-provider-CAaGfPZJ.js → solana-mobile-wallet-provider-6gNw2_bX.js} +34 -5
- package/dist/solana-mobile-wallet-provider-6gNw2_bX.js.map +1 -0
- package/dist/{solana-mobile-wallet-provider-DGyWHJVI.esm.js → solana-mobile-wallet-provider-B65A7abd.esm.js} +34 -5
- package/dist/solana-mobile-wallet-provider-B65A7abd.esm.js.map +1 -0
- package/package.json +2 -2
- package/dist/index-B7yaLhND.esm.js.map +0 -1
- package/dist/index-BxXQhFLQ.js.map +0 -1
- package/dist/index-CP_wLmYu.esm.js.map +0 -1
- package/dist/index-CpaP1yGp.esm.js.map +0 -1
- package/dist/index-DP0xF34Z.js.map +0 -1
- package/dist/index-DQWyH96R.js.map +0 -1
- package/dist/index-DfOd8wW4.esm.js +0 -6
- package/dist/index-DfOd8wW4.esm.js.map +0 -1
- package/dist/index-FviRSm3S.js.map +0 -1
- package/dist/index.native-CyEwEeKr.esm.js.map +0 -1
- package/dist/index.native-Dkf8NZ2O.js.map +0 -1
- package/dist/phantom-wallet-provider-CVyVJmH0.js.map +0 -1
- package/dist/phantom-wallet-provider-fkcFbwPk.esm.js.map +0 -1
- package/dist/privy-wallet-provider-CpHAxPcv.esm.js.map +0 -1
- package/dist/privy-wallet-provider-CrBZ52nR.js.map +0 -1
- package/dist/solana-mobile-wallet-provider-CAaGfPZJ.js.map +0 -1
- package/dist/solana-mobile-wallet-provider-DGyWHJVI.esm.js.map +0 -1
|
@@ -4,21 +4,6 @@ import * as anchor from '@coral-xyz/anchor';
|
|
|
4
4
|
import { Program } from '@coral-xyz/anchor';
|
|
5
5
|
import * as React$2 from 'react';
|
|
6
6
|
|
|
7
|
-
function _mergeNamespaces(n, m) {
|
|
8
|
-
m.forEach(function (e) {
|
|
9
|
-
e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {
|
|
10
|
-
if (k !== 'default' && !(k in n)) {
|
|
11
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
12
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () { return e[k]; }
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
return Object.freeze(n);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
7
|
function getDefaultExportFromCjs$1 (x) {
|
|
23
8
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
24
9
|
}
|
|
@@ -6764,6 +6749,28 @@ class WebSessionManager {
|
|
|
6764
6749
|
static async storeSession(address, accessToken, idToken, refreshToken) {
|
|
6765
6750
|
if (typeof window === "undefined")
|
|
6766
6751
|
return;
|
|
6752
|
+
// JWT-wallet binding: refuse to store a session whose idToken is bound
|
|
6753
|
+
// to a different wallet than `address`. Prevents races that would otherwise
|
|
6754
|
+
// leave localStorage with mismatched address/token state.
|
|
6755
|
+
try {
|
|
6756
|
+
const payloadB64 = idToken.split(".")[1];
|
|
6757
|
+
if (payloadB64) {
|
|
6758
|
+
const payload = JSON.parse(this.decodeBase64Url(payloadB64));
|
|
6759
|
+
const tokenWallet = payload["custom:walletAddress"];
|
|
6760
|
+
if (tokenWallet && tokenWallet !== address) {
|
|
6761
|
+
throw new Error(`[WebSessionManager] Refusing to store session: address (${address}) does not match idToken custom:walletAddress (${tokenWallet})`);
|
|
6762
|
+
}
|
|
6763
|
+
if (!tokenWallet) {
|
|
6764
|
+
console.warn("[WebSessionManager] storeSession: idToken has no custom:walletAddress claim — writing without validation");
|
|
6765
|
+
}
|
|
6766
|
+
}
|
|
6767
|
+
}
|
|
6768
|
+
catch (err) {
|
|
6769
|
+
if (typeof (err === null || err === void 0 ? void 0 : err.message) === "string" && err.message.includes("Refusing to store session")) {
|
|
6770
|
+
throw err;
|
|
6771
|
+
}
|
|
6772
|
+
console.warn("[WebSessionManager] storeSession: failed to decode idToken for validation:", err);
|
|
6773
|
+
}
|
|
6767
6774
|
const config = await getConfig();
|
|
6768
6775
|
const currentAppId = config.appId;
|
|
6769
6776
|
localStorage.setItem(this.TAROBASE_SESSION_STORAGE_KEY, JSON.stringify({
|
|
@@ -9462,11 +9469,11 @@ function requireSrc$1 () {
|
|
|
9462
9469
|
}
|
|
9463
9470
|
|
|
9464
9471
|
var bs58$1;
|
|
9465
|
-
var hasRequiredBs58
|
|
9472
|
+
var hasRequiredBs58;
|
|
9466
9473
|
|
|
9467
|
-
function requireBs58
|
|
9468
|
-
if (hasRequiredBs58
|
|
9469
|
-
hasRequiredBs58
|
|
9474
|
+
function requireBs58 () {
|
|
9475
|
+
if (hasRequiredBs58) return bs58$1;
|
|
9476
|
+
hasRequiredBs58 = 1;
|
|
9470
9477
|
var basex = requireSrc$1();
|
|
9471
9478
|
var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
9472
9479
|
|
|
@@ -9474,8 +9481,8 @@ function requireBs58$1 () {
|
|
|
9474
9481
|
return bs58$1;
|
|
9475
9482
|
}
|
|
9476
9483
|
|
|
9477
|
-
var bs58Exports
|
|
9478
|
-
var bs58
|
|
9484
|
+
var bs58Exports = requireBs58();
|
|
9485
|
+
var bs58 = /*@__PURE__*/getDefaultExportFromCjs(bs58Exports);
|
|
9479
9486
|
|
|
9480
9487
|
// ─────────────────────────────────────────────────────────────
|
|
9481
9488
|
// Local implementation of getSimulationComputeUnits
|
|
@@ -9737,7 +9744,7 @@ function loadKeypairFromEnv() {
|
|
|
9737
9744
|
try {
|
|
9738
9745
|
const secretKey = secret.trim().startsWith("[")
|
|
9739
9746
|
? Uint8Array.from(JSON.parse(secret))
|
|
9740
|
-
: bs58
|
|
9747
|
+
: bs58.decode(secret.trim());
|
|
9741
9748
|
return Keypair.fromSecretKey(secretKey);
|
|
9742
9749
|
}
|
|
9743
9750
|
catch (err) {
|
|
@@ -11682,6 +11689,28 @@ class ReactNativeSessionManager {
|
|
|
11682
11689
|
/* STORE */
|
|
11683
11690
|
/* ------------------------------------------------------------------ */
|
|
11684
11691
|
static async storeSession(address, accessToken, idToken, refreshToken) {
|
|
11692
|
+
// JWT-wallet binding: refuse to store a session whose idToken is bound
|
|
11693
|
+
// to a different wallet than `address`. Prevents races that would otherwise
|
|
11694
|
+
// leave storage with mismatched address/token state.
|
|
11695
|
+
try {
|
|
11696
|
+
const payloadB64 = idToken.split(".")[1];
|
|
11697
|
+
if (payloadB64) {
|
|
11698
|
+
const payload = JSON.parse(this.decodeBase64Url(payloadB64));
|
|
11699
|
+
const tokenWallet = payload["custom:walletAddress"];
|
|
11700
|
+
if (tokenWallet && tokenWallet !== address) {
|
|
11701
|
+
throw new Error(`[ReactNativeSessionManager] Refusing to store session: address (${address}) does not match idToken custom:walletAddress (${tokenWallet})`);
|
|
11702
|
+
}
|
|
11703
|
+
if (!tokenWallet) {
|
|
11704
|
+
console.warn("[ReactNativeSessionManager] storeSession: idToken has no custom:walletAddress claim — writing without validation");
|
|
11705
|
+
}
|
|
11706
|
+
}
|
|
11707
|
+
}
|
|
11708
|
+
catch (err) {
|
|
11709
|
+
if (typeof (err === null || err === void 0 ? void 0 : err.message) === "string" && err.message.includes("Refusing to store session")) {
|
|
11710
|
+
throw err;
|
|
11711
|
+
}
|
|
11712
|
+
console.warn("[ReactNativeSessionManager] storeSession: failed to decode idToken for validation:", err);
|
|
11713
|
+
}
|
|
11685
11714
|
const config = await getConfig();
|
|
11686
11715
|
const currentAppId = config.appId;
|
|
11687
11716
|
this.getStorage().setItem(this.TAROBASE_SESSION_STORAGE_KEY, JSON.stringify({
|
|
@@ -15680,7 +15709,7 @@ async function loadDependencies() {
|
|
|
15680
15709
|
const [reactModule, reactDomModule, phantomModule] = await Promise.all([
|
|
15681
15710
|
import('react'),
|
|
15682
15711
|
import('react-dom/client'),
|
|
15683
|
-
import('./index-
|
|
15712
|
+
import('./index-CH2G5Y9i.esm.js')
|
|
15684
15713
|
]);
|
|
15685
15714
|
// Extract default export from ESM module namespace
|
|
15686
15715
|
// Dynamic import() returns { default: Module, ...exports }, not the module directly
|
|
@@ -15826,6 +15855,17 @@ class PhantomWalletProvider {
|
|
|
15826
15855
|
const isMobile = detectMobile();
|
|
15827
15856
|
const hasPhantomInjected = discoveredWallets.some((w) => w.id === 'phantom');
|
|
15828
15857
|
const showDeeplink = isMobile && sdkProviders.includes('deeplink') && !hasPhantomInjected;
|
|
15858
|
+
// Treat MWA's own wallet-standard registrations as not-injected, so the MWA
|
|
15859
|
+
// button still appears when only MWA is present (e.g. Android Chrome on Seeker).
|
|
15860
|
+
const hasInjectedWallet = discoveredWallets.some((w) => {
|
|
15861
|
+
var _a, _b;
|
|
15862
|
+
const id = String((_a = w.id) !== null && _a !== void 0 ? _a : '').toLowerCase();
|
|
15863
|
+
const name = String((_b = w.name) !== null && _b !== void 0 ? _b : '').toLowerCase();
|
|
15864
|
+
return (id !== 'mobile-wallet-adapter' &&
|
|
15865
|
+
id !== 'remote-mobile-wallet-adapter' &&
|
|
15866
|
+
name !== 'mobile wallet adapter' &&
|
|
15867
|
+
name !== 'remote mobile wallet adapter');
|
|
15868
|
+
});
|
|
15829
15869
|
// Track previous modal state to detect closes
|
|
15830
15870
|
const prevModalOpen = React$1.useRef(false);
|
|
15831
15871
|
// Track when modal was closed because user selected a wallet (not dismissed)
|
|
@@ -15874,6 +15914,16 @@ class PhantomWalletProvider {
|
|
|
15874
15914
|
if (!(phantom === null || phantom === void 0 ? void 0 : phantom.isConnected) || (phantom === null || phantom === void 0 ? void 0 : phantom.isLoading) || that.loginInProgress || that.autoLoginInProgress || that.pendingLogin) {
|
|
15875
15915
|
return;
|
|
15876
15916
|
}
|
|
15917
|
+
// Don't clobber a session owned by MWA on Seeker. MWA marks the
|
|
15918
|
+
// auth method as soon as login starts (see solana-mobile-wallet-provider),
|
|
15919
|
+
// and clears it on logout, so this guard is correct in both
|
|
15920
|
+
// steady-state and post-logout cases.
|
|
15921
|
+
try {
|
|
15922
|
+
if (getPlatform().storage.getItem('tarobase_last_auth_method') === 'mobile-wallet-adapter') {
|
|
15923
|
+
return;
|
|
15924
|
+
}
|
|
15925
|
+
}
|
|
15926
|
+
catch (_b) { }
|
|
15877
15927
|
// Need solana to be available AND connected for signing
|
|
15878
15928
|
if (!solana || !solanaHook.isAvailable || !solana.connected) {
|
|
15879
15929
|
return;
|
|
@@ -15903,12 +15953,21 @@ class PhantomWalletProvider {
|
|
|
15903
15953
|
const signatureBytes = signResult.signature;
|
|
15904
15954
|
const signature = bufferExports.Buffer.from(signatureBytes).toString('base64');
|
|
15905
15955
|
const createSessionResult = await createSessionWithSignature(publicKey, messageText, signature);
|
|
15956
|
+
// Pre-write guard: MWA may have started a login while we were
|
|
15957
|
+
// in flight. If MWA owns the auth method now, abort before we
|
|
15958
|
+
// overwrite its session (or its in-flight session).
|
|
15959
|
+
try {
|
|
15960
|
+
if (getPlatform().storage.getItem('tarobase_last_auth_method') === 'mobile-wallet-adapter') {
|
|
15961
|
+
return;
|
|
15962
|
+
}
|
|
15963
|
+
}
|
|
15964
|
+
catch (_c) { }
|
|
15906
15965
|
await WebSessionManager.storeSession(publicKey, createSessionResult.accessToken, createSessionResult.idToken, createSessionResult.refreshToken);
|
|
15907
15966
|
// Mark auth method so clearIncompatibleSession() doesn't wipe this session
|
|
15908
15967
|
try {
|
|
15909
15968
|
getPlatform().storage.setItem('tarobase_last_auth_method', 'phantom');
|
|
15910
15969
|
}
|
|
15911
|
-
catch (
|
|
15970
|
+
catch (_d) { }
|
|
15912
15971
|
setCurrentUser({ provider: that, address: publicKey });
|
|
15913
15972
|
}
|
|
15914
15973
|
catch (error) {
|
|
@@ -16264,8 +16323,9 @@ class PhantomWalletProvider {
|
|
|
16264
16323
|
}), 'Open Phantom app'));
|
|
16265
16324
|
}
|
|
16266
16325
|
// Mobile Wallet Adapter button — shown on Android when MWA callback is available
|
|
16326
|
+
// and no injected wallet is present (hides button inside Phantom/Solflare/etc. in-app browsers).
|
|
16267
16327
|
const isAndroid = detectAndroid();
|
|
16268
|
-
if (isAndroid && that.onSwitchToMWA) {
|
|
16328
|
+
if (isAndroid && that.onSwitchToMWA && !hasInjectedWallet) {
|
|
16269
16329
|
walletButtons.push(React$1.createElement('button', {
|
|
16270
16330
|
key: 'mobile-wallet',
|
|
16271
16331
|
style: buttonStyle('mobile-wallet'),
|
|
@@ -20307,26 +20367,16 @@ function requireSrc () {
|
|
|
20307
20367
|
return src;
|
|
20308
20368
|
}
|
|
20309
20369
|
|
|
20310
|
-
var
|
|
20311
|
-
var
|
|
20312
|
-
|
|
20313
|
-
function requireBs58 () {
|
|
20314
|
-
if (hasRequiredBs58) return bs58;
|
|
20315
|
-
hasRequiredBs58 = 1;
|
|
20316
|
-
var basex = requireSrc();
|
|
20317
|
-
var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
20318
|
-
|
|
20319
|
-
bs58 = basex(ALPHABET);
|
|
20320
|
-
return bs58;
|
|
20321
|
-
}
|
|
20370
|
+
var srcExports = requireSrc();
|
|
20371
|
+
var basex = /*@__PURE__*/getDefaultExportFromCjs$1(srcExports);
|
|
20322
20372
|
|
|
20323
|
-
var
|
|
20324
|
-
var base58 =
|
|
20373
|
+
var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
|
|
20374
|
+
var base58 = basex(ALPHABET);
|
|
20325
20375
|
|
|
20326
|
-
var index = /*#__PURE__*/
|
|
20376
|
+
var index = /*#__PURE__*/Object.freeze({
|
|
20327
20377
|
__proto__: null,
|
|
20328
20378
|
default: base58
|
|
20329
|
-
}
|
|
20379
|
+
});
|
|
20330
20380
|
|
|
20331
20381
|
const SURFNET_RPC_URL$1 = "https://surfpool.fly.dev";
|
|
20332
20382
|
let React;
|
|
@@ -21240,7 +21290,7 @@ async function loadMwaProtocol() {
|
|
|
21240
21290
|
return mwaProtocolLoadPromise;
|
|
21241
21291
|
mwaProtocolLoadPromise = (async () => {
|
|
21242
21292
|
try {
|
|
21243
|
-
mwaProtocolModule = await import('./index.browser-
|
|
21293
|
+
mwaProtocolModule = await import('./index.browser-D8VWPXTZ.esm.js');
|
|
21244
21294
|
}
|
|
21245
21295
|
catch (e) {
|
|
21246
21296
|
console.warn('[SolanaMobileWallet] @solana-mobile/mobile-wallet-adapter-protocol-web3js not installed. Install it to enable Seeker wallet support.');
|
|
@@ -21262,7 +21312,7 @@ async function registerMobileWalletAdapter(config) {
|
|
|
21262
21312
|
if (typeof window === 'undefined')
|
|
21263
21313
|
return;
|
|
21264
21314
|
try {
|
|
21265
|
-
const walletStandardMobile = await import('./index.browser-
|
|
21315
|
+
const walletStandardMobile = await import('./index.browser-Cgj7Hs6n.esm.js');
|
|
21266
21316
|
const registerMwa = walletStandardMobile.registerMwa || ((_a = walletStandardMobile.default) === null || _a === void 0 ? void 0 : _a.registerMwa);
|
|
21267
21317
|
if (!registerMwa) {
|
|
21268
21318
|
console.warn('[SolanaMobileWallet] registerMwa not found in @solana-mobile/wallet-standard-mobile');
|
|
@@ -21392,6 +21442,19 @@ class SolanaMobileWalletProvider {
|
|
|
21392
21442
|
async login() {
|
|
21393
21443
|
var _a, _b, _c, _d, _e;
|
|
21394
21444
|
setAuthLoading(true);
|
|
21445
|
+
// Mark the auth method early so a concurrent Phantom auto-create can see
|
|
21446
|
+
// 'mobile-wallet-adapter' during our slow transact() / session-creation
|
|
21447
|
+
// roundtrip and back off (see phantom-wallet-provider autoCreateSession).
|
|
21448
|
+
// Capture the previous value so we can restore it if login fails.
|
|
21449
|
+
let prevAuthMethod = null;
|
|
21450
|
+
try {
|
|
21451
|
+
prevAuthMethod = getPlatform().storage.getItem('tarobase_last_auth_method');
|
|
21452
|
+
}
|
|
21453
|
+
catch (_f) { }
|
|
21454
|
+
try {
|
|
21455
|
+
getPlatform().storage.setItem('tarobase_last_auth_method', 'mobile-wallet-adapter');
|
|
21456
|
+
}
|
|
21457
|
+
catch (_g) { }
|
|
21395
21458
|
try {
|
|
21396
21459
|
await loadMwaProtocol();
|
|
21397
21460
|
const { transact } = mwaProtocolModule;
|
|
@@ -21457,12 +21520,22 @@ class SolanaMobileWalletProvider {
|
|
|
21457
21520
|
try {
|
|
21458
21521
|
getPlatform().storage.setItem('tarobase_last_auth_method', 'mobile-wallet-adapter');
|
|
21459
21522
|
}
|
|
21460
|
-
catch (
|
|
21523
|
+
catch (_h) { }
|
|
21461
21524
|
const user = { provider: this, address: result.base58Address };
|
|
21462
21525
|
setCurrentUser(user);
|
|
21463
21526
|
return user;
|
|
21464
21527
|
}
|
|
21465
21528
|
catch (error) {
|
|
21529
|
+
// Restore the previous auth method since this login attempt failed.
|
|
21530
|
+
try {
|
|
21531
|
+
if (prevAuthMethod === null) {
|
|
21532
|
+
getPlatform().storage.removeItem('tarobase_last_auth_method');
|
|
21533
|
+
}
|
|
21534
|
+
else {
|
|
21535
|
+
getPlatform().storage.setItem('tarobase_last_auth_method', prevAuthMethod);
|
|
21536
|
+
}
|
|
21537
|
+
}
|
|
21538
|
+
catch (_j) { }
|
|
21466
21539
|
const isUserRejection = (error === null || error === void 0 ? void 0 : error.code) === 4001 ||
|
|
21467
21540
|
((_a = error === null || error === void 0 ? void 0 : error.message) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('user rejected')) ||
|
|
21468
21541
|
((_b = error === null || error === void 0 ? void 0 : error.message) === null || _b === void 0 ? void 0 : _b.toLowerCase().includes('user denied')) ||
|
|
@@ -21508,6 +21581,12 @@ class SolanaMobileWalletProvider {
|
|
|
21508
21581
|
this.authorizedPublicKey = null;
|
|
21509
21582
|
this.publicKeyObj = null;
|
|
21510
21583
|
WebSessionManager.clearSession();
|
|
21584
|
+
// Clear the auth-method marker so Phantom auto-create is unblocked
|
|
21585
|
+
// for any subsequent fresh login on this device.
|
|
21586
|
+
try {
|
|
21587
|
+
getPlatform().storage.removeItem('tarobase_last_auth_method');
|
|
21588
|
+
}
|
|
21589
|
+
catch (_a) { }
|
|
21511
21590
|
setCurrentUser(null);
|
|
21512
21591
|
}
|
|
21513
21592
|
async signMessage(message) {
|
|
@@ -22171,4 +22250,4 @@ class PrivyExpoProvider {
|
|
|
22171
22250
|
}
|
|
22172
22251
|
|
|
22173
22252
|
export { getCachedData as $, subscribe as A, useAuth as B, deserializeTransaction as C, getIdToken as D, setPlatform as E, getPlatform as F, PrivyWalletProvider as G, DEFAULT_TEST_ADDRESS as H, isMobileWalletAvailable as I, registerMobileWalletAdapter as J, PrivyExpoProvider as K, InsufficientBalanceError as L, MockAuthProvider as M, ServerSessionManager as N, OffchainAuthProvider as O, PhantomWalletProvider as P, buildSetDocumentsTransaction as Q, ReactNativeSessionManager as R, SolanaMobileWalletProvider as S, clearCache as T, closeAllSubscriptions as U, convertRemainingAccounts as V, WebSessionManager as W, createSessionWithPrivy as X, createSessionWithSignature as Y, genAuthNonce as Z, genSolanaMessage as _, base58 as a, getMany as a0, reconnectWithNewAuth as a1, refreshSession as a2, signSessionCreateMessage as a3, bufferExports as b, getCurrentUser as c, onAuthLoadingChanged as d, getAuthLoading as e, logout as f, getDefaultExportFromCjs$1 as g, getConfig as h, init as i, getAuthProvider as j, get as k, login as l, setMany as m, setFile as n, onAuthStateChanged as o, getFiles as p, runQueryMany as q, runQuery as r, set as s, runExpression as t, runExpressionMany as u, signMessage as v, signTransaction as w, signAndSubmitTransaction as x, count as y, aggregate as z };
|
|
22174
|
-
//# sourceMappingURL=index-
|
|
22253
|
+
//# sourceMappingURL=index-XHbmzFFO.esm.js.map
|