@pooflabs/web 0.0.78 → 0.0.79

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 (67) hide show
  1. package/dist/index-6pNPzV1t.esm.js +6 -0
  2. package/dist/index-6pNPzV1t.esm.js.map +1 -0
  3. package/dist/{index-DE7k2G22.js → index-BHGEc97p.js} +883 -25
  4. package/dist/index-BHGEc97p.js.map +1 -0
  5. package/dist/{index-OAJ0rndN.esm.js → index-CiwYJvf8.esm.js} +882 -24
  6. package/dist/index-CiwYJvf8.esm.js.map +1 -0
  7. package/dist/{index-CwGoYY0Y.esm.js → index-CsIXFm8d.esm.js} +335 -517
  8. package/dist/index-CsIXFm8d.esm.js.map +1 -0
  9. package/dist/index-D9BY44i-.js +8 -0
  10. package/dist/index-D9BY44i-.js.map +1 -0
  11. package/dist/{index-Cp727oEW.js → index-DwU9hjtr.js} +334 -517
  12. package/dist/index-DwU9hjtr.js.map +1 -0
  13. package/dist/{index-Cmu0PVJD.esm.js → index-U-xlsKRI.esm.js} +881 -23
  14. package/dist/index-U-xlsKRI.esm.js.map +1 -0
  15. package/dist/{index-CKaaE12K.js → index-zS_Y-wbi.js} +882 -24
  16. package/dist/index-zS_Y-wbi.js.map +1 -0
  17. package/dist/{index.browser-DFeGGyO7.esm.js → index.browser-C9bFQZyQ.esm.js} +128 -5
  18. package/dist/index.browser-C9bFQZyQ.esm.js.map +1 -0
  19. package/dist/{index.browser-B4een3Gz.esm.js → index.browser-CMEwqnEe.esm.js} +2 -2
  20. package/dist/{index.browser-B4een3Gz.esm.js.map → index.browser-CMEwqnEe.esm.js.map} +1 -1
  21. package/dist/{index.browser-AZQ5TnZ4.js → index.browser-Cpi4W_1r.js} +2 -2
  22. package/dist/{index.browser-AZQ5TnZ4.js.map → index.browser-Cpi4W_1r.js.map} +1 -1
  23. package/dist/{index.browser-x87QUr4N.esm.js → index.browser-Dbq5Qf1G.esm.js} +128 -5
  24. package/dist/index.browser-Dbq5Qf1G.esm.js.map +1 -0
  25. package/dist/{index.browser-BMtEulGJ.js → index.browser-Df7yN8D5.js} +129 -6
  26. package/dist/index.browser-Df7yN8D5.js.map +1 -0
  27. package/dist/{index.browser-QPkAiPQp.js → index.browser-dszs5oe5.js} +129 -6
  28. package/dist/index.browser-dszs5oe5.js.map +1 -0
  29. package/dist/index.esm.js +1 -1
  30. package/dist/index.js +1 -1
  31. package/dist/{index.native-CjEJXA9y.esm.js → index.native-CEf5PJ_g.esm.js} +2690 -550
  32. package/dist/index.native-CEf5PJ_g.esm.js.map +1 -0
  33. package/dist/{index.native-D7IrIMX1.js → index.native-DtxPWD00.js} +2690 -549
  34. package/dist/index.native-DtxPWD00.js.map +1 -0
  35. package/dist/index.native.esm.js +1 -1
  36. package/dist/index.native.js +1 -1
  37. package/dist/{phantom-wallet-provider-B1TleWsy.esm.js → phantom-wallet-provider-B0UmUtfB.esm.js} +51 -4
  38. package/dist/{phantom-wallet-provider-B1TleWsy.esm.js.map → phantom-wallet-provider-B0UmUtfB.esm.js.map} +1 -1
  39. package/dist/{phantom-wallet-provider-DwmdHVd-.js → phantom-wallet-provider-BbyQIlro.js} +51 -4
  40. package/dist/{phantom-wallet-provider-DwmdHVd-.js.map → phantom-wallet-provider-BbyQIlro.js.map} +1 -1
  41. package/dist/{privy-wallet-provider-Cf6WgpK1.js → privy-wallet-provider-CoQzq0F4.js} +3 -3
  42. package/dist/privy-wallet-provider-CoQzq0F4.js.map +1 -0
  43. package/dist/{privy-wallet-provider-CZgiUwUN.esm.js → privy-wallet-provider-DGjYglh7.esm.js} +3 -3
  44. package/dist/privy-wallet-provider-DGjYglh7.esm.js.map +1 -0
  45. package/dist/{solana-mobile-wallet-provider-DZmpeNIS.js → solana-mobile-wallet-provider-BLoovRsJ.js} +4 -4
  46. package/dist/{solana-mobile-wallet-provider-DZmpeNIS.js.map → solana-mobile-wallet-provider-BLoovRsJ.js.map} +1 -1
  47. package/dist/{solana-mobile-wallet-provider-C9j8O3mD.esm.js → solana-mobile-wallet-provider-DIyP-Az5.esm.js} +4 -4
  48. package/dist/{solana-mobile-wallet-provider-C9j8O3mD.esm.js.map → solana-mobile-wallet-provider-DIyP-Az5.esm.js.map} +1 -1
  49. package/package.json +1 -1
  50. package/dist/index-Bdcc5821.js +0 -2375
  51. package/dist/index-Bdcc5821.js.map +0 -1
  52. package/dist/index-CKaaE12K.js.map +0 -1
  53. package/dist/index-Cmu0PVJD.esm.js.map +0 -1
  54. package/dist/index-Cp727oEW.js.map +0 -1
  55. package/dist/index-CrOVJFX9.esm.js +0 -2373
  56. package/dist/index-CrOVJFX9.esm.js.map +0 -1
  57. package/dist/index-CwGoYY0Y.esm.js.map +0 -1
  58. package/dist/index-DE7k2G22.js.map +0 -1
  59. package/dist/index-OAJ0rndN.esm.js.map +0 -1
  60. package/dist/index.browser-BMtEulGJ.js.map +0 -1
  61. package/dist/index.browser-DFeGGyO7.esm.js.map +0 -1
  62. package/dist/index.browser-QPkAiPQp.js.map +0 -1
  63. package/dist/index.browser-x87QUr4N.esm.js.map +0 -1
  64. package/dist/index.native-CjEJXA9y.esm.js.map +0 -1
  65. package/dist/index.native-D7IrIMX1.js.map +0 -1
  66. package/dist/privy-wallet-provider-CZgiUwUN.esm.js.map +0 -1
  67. package/dist/privy-wallet-provider-Cf6WgpK1.js.map +0 -1
@@ -1,4 +1,4 @@
1
- export { U as DEFAULT_TEST_ADDRESS, Y as InsufficientBalanceError, T as MockAuthProvider, V as OffchainAuthProvider, X as PrivyExpoProvider, Z as ReactNativeSessionManager, _ as ServerSessionManager, W as WebSessionManager, M as aggregate, b as buildSetDocumentsTransaction, $ as clearCache, a0 as closeAllSubscriptions, c as convertRemainingAccounts, L as count, f as createSessionWithPrivy, n as createSessionWithSignature, P as deserializeTransaction, l as genAuthNonce, m as genSolanaMessage, z as get, u as getAuthLoading, y as getAuthProvider, a1 as getCachedData, x as getConfig, q as getCurrentUser, D as getFiles, Q as getIdToken, a2 as getMany, g as getPlatform, p as init, v as login, w as logout, t as onAuthLoadingChanged, r as onAuthStateChanged, a3 as reconnectWithNewAuth, a4 as refreshSession, G as runExpression, H as runExpressionMany, E as runQuery, F as runQueryMany, A as set, C as setFile, B as setMany, R as setPlatform, K as signAndSubmitTransaction, I as signMessage, a5 as signSessionCreateMessage, J as signTransaction, N as subscribe, O as useAuth } from './index.native-CjEJXA9y.esm.js';
1
+ export { X as DEFAULT_TEST_ADDRESS, _ as InsufficientBalanceError, V as MockAuthProvider, Y as OffchainAuthProvider, Z as PrivyExpoProvider, $ as ReactNativeSessionManager, a0 as ServerSessionManager, W as WebSessionManager, O as aggregate, b as buildSetDocumentsTransaction, a1 as clearCache, a2 as closeAllSubscriptions, c as convertRemainingAccounts, N as count, f as createSessionWithPrivy, o as createSessionWithSignature, R as deserializeTransaction, m as genAuthNonce, n as genSolanaMessage, B as get, w as getAuthLoading, A as getAuthProvider, a3 as getCachedData, z as getConfig, t as getCurrentUser, F as getFiles, T as getIdToken, a4 as getMany, g as getPlatform, q as init, x as login, y as logout, v as onAuthLoadingChanged, u as onAuthStateChanged, a5 as reconnectWithNewAuth, a6 as refreshSession, I as runExpression, J as runExpressionMany, G as runQuery, H as runQueryMany, C as set, E as setFile, D as setMany, U as setPlatform, M as signAndSubmitTransaction, K as signMessage, a7 as signSessionCreateMessage, L as signTransaction, P as subscribe, Q as useAuth } from './index.native-CEf5PJ_g.esm.js';
2
2
  import 'axios';
3
3
  import '@solana/web3.js';
4
4
  import '@coral-xyz/anchor';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index_native = require('./index.native-D7IrIMX1.js');
3
+ var index_native = require('./index.native-DtxPWD00.js');
4
4
  require('axios');
5
5
  require('@solana/web3.js');
6
6
  require('@coral-xyz/anchor');
@@ -1,11 +1,37 @@
1
- import { b as bufferExports } from './index-CrOVJFX9.esm.js';
2
- import { W as WebSessionManager, c as convertRemainingAccounts, b as buildSetDocumentsTransaction, e as confirmAndCheckTransaction, s as setCurrentUser, a as SOLANA_DEVNET_RPC_URL, S as SOLANA_MAINNET_RPC_URL, h as SURFNET_RPC_URL, i as detectMobile, j as detectAndroid, k as setAuthLoading, l as genAuthNonce, m as genSolanaMessage, n as createSessionWithSignature, g as getPlatform } from './index.native-CjEJXA9y.esm.js';
1
+ import { b as bufferExports } from './index-6pNPzV1t.esm.js';
2
+ import { W as WebSessionManager, c as convertRemainingAccounts, b as buildSetDocumentsTransaction, e as confirmAndCheckTransaction, s as setCurrentUser, a as SOLANA_DEVNET_RPC_URL, S as SOLANA_MAINNET_RPC_URL, h as SURFNET_RPC_URL, j as detectMobile, k as detectAndroid, l as setAuthLoading, m as genAuthNonce, n as genSolanaMessage, o as createSessionWithSignature, g as getPlatform } from './index.native-CEf5PJ_g.esm.js';
3
3
  import { Connection, PublicKey, VersionedTransaction } from '@solana/web3.js';
4
4
  import * as anchor from '@coral-xyz/anchor';
5
5
  import 'axios';
6
6
  import 'react';
7
7
 
8
8
  const VALID_PROVIDERS = ['injected', 'google', 'apple', 'deeplink', 'phantom'];
9
+ // When the dApp runs inside an iframe whose parent origin is different from
10
+ // (or can't inject into) the child frame — notably Phantom's Android in-app
11
+ // browser, which injects window.phantom.solana only into the top frame —
12
+ // the Phantom deeplink path tries to navigate phantom.app/ul/browse/... from
13
+ // inside the iframe. Android App Links only hand off on top-level navigations,
14
+ // and phantom.app refuses to be framed (X-Frame-Options: DENY), so the connect
15
+ // fails. To get back to a working context we navigate the top window to the
16
+ // dApp's own URL, dropping the iframe shell. Once top-level, the wallet
17
+ // browser injects its provider and the normal injected flow succeeds.
18
+ function isInIframe() {
19
+ if (typeof window === 'undefined')
20
+ return false;
21
+ try {
22
+ return window.top !== window.self;
23
+ }
24
+ catch (_a) {
25
+ // Cross-origin access to window.top throws — if we can't read it, we're iframed.
26
+ return true;
27
+ }
28
+ }
29
+ function shouldBreakOutOfIframe(provider) {
30
+ // Only break out when the user chose the deeplink provider. The modal only
31
+ // offers deeplink on mobile when no injected Phantom is present, so this is
32
+ // exactly the iframe-without-provider case we need to escape.
33
+ return provider === 'deeplink' && isInIframe();
34
+ }
9
35
  // Dynamically import React and Phantom SDK - only when needed
10
36
  let React;
11
37
  let ReactDOM;
@@ -26,7 +52,7 @@ async function loadDependencies() {
26
52
  const [reactModule, reactDomModule, phantomModule] = await Promise.all([
27
53
  import('react'),
28
54
  import('react-dom/client'),
29
- import('./index-OAJ0rndN.esm.js')
55
+ import('./index-CiwYJvf8.esm.js')
30
56
  ]);
31
57
  // Extract default export from ESM module namespace
32
58
  // Dynamic import() returns { default: Module, ...exports }, not the module directly
@@ -374,6 +400,27 @@ class PhantomWalletProvider {
374
400
  const handleWalletClick = async (options) => {
375
401
  walletClickedRef.current = true;
376
402
  setShowWalletModal(false);
403
+ // If we're in an iframe and the user chose deeplink, Phantom's SDK
404
+ // will navigate *this* iframe to phantom.app/ul/browse/..., which
405
+ // Android App Links won't intercept and phantom.app won't let be
406
+ // framed. Escape to top-level first so the wallet browser can
407
+ // inject its provider and the normal injected flow takes over
408
+ // on the user's next connect tap.
409
+ if (shouldBreakOutOfIframe(options === null || options === void 0 ? void 0 : options.provider)) {
410
+ try {
411
+ // Same-site navigation (*.poof.new → *.poof.new) plus the
412
+ // iframe's allow-top-navigation-by-user-activation sandbox
413
+ // token make this go through.
414
+ window.top.location.href = window.location.href;
415
+ return;
416
+ }
417
+ catch (_a) {
418
+ // Top-nav blocked (no sandbox grant, cross-origin top, etc.).
419
+ // Fall through to the normal deeplink path — at least the
420
+ // user gets the original broken-ish behavior instead of a
421
+ // silently-dead button.
422
+ }
423
+ }
377
424
  try {
378
425
  if (options === null || options === void 0 ? void 0 : options.walletId) {
379
426
  await connect({ provider: 'injected', walletId: options.walletId });
@@ -1304,4 +1351,4 @@ class PhantomWalletProvider {
1304
1351
  PhantomWalletProvider.instance = null;
1305
1352
 
1306
1353
  export { PhantomWalletProvider };
1307
- //# sourceMappingURL=phantom-wallet-provider-B1TleWsy.esm.js.map
1354
+ //# sourceMappingURL=phantom-wallet-provider-B0UmUtfB.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"phantom-wallet-provider-B1TleWsy.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"phantom-wallet-provider-B0UmUtfB.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Bdcc5821.js');
4
- var index_native = require('./index.native-D7IrIMX1.js');
3
+ var index = require('./index-D9BY44i-.js');
4
+ var index_native = require('./index.native-DtxPWD00.js');
5
5
  var web3_js = require('@solana/web3.js');
6
6
  var anchor = require('@coral-xyz/anchor');
7
7
  require('axios');
@@ -27,6 +27,32 @@ function _interopNamespaceDefault(e) {
27
27
  var anchor__namespace = /*#__PURE__*/_interopNamespaceDefault(anchor);
28
28
 
29
29
  const VALID_PROVIDERS = ['injected', 'google', 'apple', 'deeplink', 'phantom'];
30
+ // When the dApp runs inside an iframe whose parent origin is different from
31
+ // (or can't inject into) the child frame — notably Phantom's Android in-app
32
+ // browser, which injects window.phantom.solana only into the top frame —
33
+ // the Phantom deeplink path tries to navigate phantom.app/ul/browse/... from
34
+ // inside the iframe. Android App Links only hand off on top-level navigations,
35
+ // and phantom.app refuses to be framed (X-Frame-Options: DENY), so the connect
36
+ // fails. To get back to a working context we navigate the top window to the
37
+ // dApp's own URL, dropping the iframe shell. Once top-level, the wallet
38
+ // browser injects its provider and the normal injected flow succeeds.
39
+ function isInIframe() {
40
+ if (typeof window === 'undefined')
41
+ return false;
42
+ try {
43
+ return window.top !== window.self;
44
+ }
45
+ catch (_a) {
46
+ // Cross-origin access to window.top throws — if we can't read it, we're iframed.
47
+ return true;
48
+ }
49
+ }
50
+ function shouldBreakOutOfIframe(provider) {
51
+ // Only break out when the user chose the deeplink provider. The modal only
52
+ // offers deeplink on mobile when no injected Phantom is present, so this is
53
+ // exactly the iframe-without-provider case we need to escape.
54
+ return provider === 'deeplink' && isInIframe();
55
+ }
30
56
  // Dynamically import React and Phantom SDK - only when needed
31
57
  let React;
32
58
  let ReactDOM;
@@ -47,7 +73,7 @@ async function loadDependencies() {
47
73
  const [reactModule, reactDomModule, phantomModule] = await Promise.all([
48
74
  import('react'),
49
75
  import('react-dom/client'),
50
- Promise.resolve().then(function () { return require('./index-DE7k2G22.js'); })
76
+ Promise.resolve().then(function () { return require('./index-BHGEc97p.js'); })
51
77
  ]);
52
78
  // Extract default export from ESM module namespace
53
79
  // Dynamic import() returns { default: Module, ...exports }, not the module directly
@@ -395,6 +421,27 @@ class PhantomWalletProvider {
395
421
  const handleWalletClick = async (options) => {
396
422
  walletClickedRef.current = true;
397
423
  setShowWalletModal(false);
424
+ // If we're in an iframe and the user chose deeplink, Phantom's SDK
425
+ // will navigate *this* iframe to phantom.app/ul/browse/..., which
426
+ // Android App Links won't intercept and phantom.app won't let be
427
+ // framed. Escape to top-level first so the wallet browser can
428
+ // inject its provider and the normal injected flow takes over
429
+ // on the user's next connect tap.
430
+ if (shouldBreakOutOfIframe(options === null || options === void 0 ? void 0 : options.provider)) {
431
+ try {
432
+ // Same-site navigation (*.poof.new → *.poof.new) plus the
433
+ // iframe's allow-top-navigation-by-user-activation sandbox
434
+ // token make this go through.
435
+ window.top.location.href = window.location.href;
436
+ return;
437
+ }
438
+ catch (_a) {
439
+ // Top-nav blocked (no sandbox grant, cross-origin top, etc.).
440
+ // Fall through to the normal deeplink path — at least the
441
+ // user gets the original broken-ish behavior instead of a
442
+ // silently-dead button.
443
+ }
444
+ }
398
445
  try {
399
446
  if (options === null || options === void 0 ? void 0 : options.walletId) {
400
447
  await connect({ provider: 'injected', walletId: options.walletId });
@@ -1325,4 +1372,4 @@ class PhantomWalletProvider {
1325
1372
  PhantomWalletProvider.instance = null;
1326
1373
 
1327
1374
  exports.PhantomWalletProvider = PhantomWalletProvider;
1328
- //# sourceMappingURL=phantom-wallet-provider-DwmdHVd-.js.map
1375
+ //# sourceMappingURL=phantom-wallet-provider-BbyQIlro.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"phantom-wallet-provider-DwmdHVd-.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"phantom-wallet-provider-BbyQIlro.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index_native = require('./index.native-D7IrIMX1.js');
3
+ var index_native = require('./index.native-DtxPWD00.js');
4
4
  var web3_js = require('@solana/web3.js');
5
5
  var anchor = require('@coral-xyz/anchor');
6
6
  require('axios');
@@ -3869,7 +3869,7 @@ class PrivyWalletProvider {
3869
3869
  }));
3870
3870
  // The signature is returned as a Uint8Array, encode it as base58 (standard Solana format)
3871
3871
  const signatureBytes = (result === null || result === void 0 ? void 0 : result.signature) || result;
3872
- const bs58 = await Promise.resolve().then(function () { return require('./index.native-D7IrIMX1.js'); }).then(function (n) { return n.index; });
3872
+ const bs58 = await Promise.resolve().then(function () { return require('./index.native-DtxPWD00.js'); }).then(function (n) { return n.index; });
3873
3873
  return bs58.default.encode(signatureBytes);
3874
3874
  }
3875
3875
  async restoreSession() {
@@ -3938,4 +3938,4 @@ class PrivyWalletProvider {
3938
3938
  PrivyWalletProvider.instance = null;
3939
3939
 
3940
3940
  exports.PrivyWalletProvider = PrivyWalletProvider;
3941
- //# sourceMappingURL=privy-wallet-provider-Cf6WgpK1.js.map
3941
+ //# sourceMappingURL=privy-wallet-provider-CoQzq0F4.js.map