@pooflabs/web 0.0.77 → 0.0.79-rc.1

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 (44) 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-Bfk81d8_.js → index-BHGEc97p.js} +3 -3
  4. package/dist/{index-Bfk81d8_.js.map → index-BHGEc97p.js.map} +1 -1
  5. package/dist/{index-R7t9pRt_.esm.js → index-CiwYJvf8.esm.js} +3 -3
  6. package/dist/{index-R7t9pRt_.esm.js.map → index-CiwYJvf8.esm.js.map} +1 -1
  7. package/dist/{index-CFh1x-M0.esm.js → index-CsIXFm8d.esm.js} +50 -3
  8. package/dist/{index-CFh1x-M0.esm.js.map → index-CsIXFm8d.esm.js.map} +1 -1
  9. package/dist/{index-DDXzCx2W.js → index-D9BY44i-.js} +2 -2
  10. package/dist/index-D9BY44i-.js.map +1 -0
  11. package/dist/{index-DQVpAl5t.js → index-DwU9hjtr.js} +50 -3
  12. package/dist/{index-DQVpAl5t.js.map → index-DwU9hjtr.js.map} +1 -1
  13. package/dist/{index-CeQ8hE3s.esm.js → index-U-xlsKRI.esm.js} +2 -2
  14. package/dist/{index-CeQ8hE3s.esm.js.map → index-U-xlsKRI.esm.js.map} +1 -1
  15. package/dist/{index-KUU0aVzP.js → index-zS_Y-wbi.js} +2 -2
  16. package/dist/{index-KUU0aVzP.js.map → index-zS_Y-wbi.js.map} +1 -1
  17. package/dist/{index.browser-BE44CEaJ.esm.js → index.browser-CMEwqnEe.esm.js} +2 -2
  18. package/dist/{index.browser-BE44CEaJ.esm.js.map → index.browser-CMEwqnEe.esm.js.map} +1 -1
  19. package/dist/{index.browser-Di1_YZpi.js → index.browser-Cpi4W_1r.js} +2 -2
  20. package/dist/{index.browser-Di1_YZpi.js.map → index.browser-Cpi4W_1r.js.map} +1 -1
  21. package/dist/index.esm.js +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/{index.native-DAyMVhFq.esm.js → index.native-CEf5PJ_g.esm.js} +4 -4
  24. package/dist/{index.native-DAyMVhFq.esm.js.map → index.native-CEf5PJ_g.esm.js.map} +1 -1
  25. package/dist/{index.native-CKd2b3_F.js → index.native-DtxPWD00.js} +4 -4
  26. package/dist/{index.native-CKd2b3_F.js.map → index.native-DtxPWD00.js.map} +1 -1
  27. package/dist/index.native.esm.js +1 -1
  28. package/dist/index.native.js +1 -1
  29. package/dist/{phantom-wallet-provider-DQ0uhl2v.esm.js → phantom-wallet-provider-B0UmUtfB.esm.js} +51 -4
  30. package/dist/{phantom-wallet-provider-DQ0uhl2v.esm.js.map → phantom-wallet-provider-B0UmUtfB.esm.js.map} +1 -1
  31. package/dist/{phantom-wallet-provider-DJ6qf2VB.js → phantom-wallet-provider-BbyQIlro.js} +51 -4
  32. package/dist/{phantom-wallet-provider-DJ6qf2VB.js.map → phantom-wallet-provider-BbyQIlro.js.map} +1 -1
  33. package/dist/{privy-wallet-provider-CMCv5g3O.js → privy-wallet-provider-CoQzq0F4.js} +3 -3
  34. package/dist/{privy-wallet-provider-CMCv5g3O.js.map → privy-wallet-provider-CoQzq0F4.js.map} +1 -1
  35. package/dist/{privy-wallet-provider-BhiHnphv.esm.js → privy-wallet-provider-DGjYglh7.esm.js} +3 -3
  36. package/dist/{privy-wallet-provider-BhiHnphv.esm.js.map → privy-wallet-provider-DGjYglh7.esm.js.map} +1 -1
  37. package/dist/{solana-mobile-wallet-provider-DaFNesCe.js → solana-mobile-wallet-provider-BLoovRsJ.js} +3 -3
  38. package/dist/{solana-mobile-wallet-provider-DaFNesCe.js.map → solana-mobile-wallet-provider-BLoovRsJ.js.map} +1 -1
  39. package/dist/{solana-mobile-wallet-provider-DSSk_6CR.esm.js → solana-mobile-wallet-provider-DIyP-Az5.esm.js} +3 -3
  40. package/dist/{solana-mobile-wallet-provider-DSSk_6CR.esm.js.map → solana-mobile-wallet-provider-DIyP-Az5.esm.js.map} +1 -1
  41. package/package.json +2 -2
  42. package/dist/index-CdOv7Nw2.esm.js +0 -6
  43. package/dist/index-CdOv7Nw2.esm.js.map +0 -1
  44. package/dist/index-DDXzCx2W.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index_native = require('./index.native-CKd2b3_F.js');
3
+ var index_native = require('./index.native-DtxPWD00.js');
4
4
 
5
5
  var bufferExports = index_native.requireBuffer();
6
6
 
7
7
  exports.bufferExports = bufferExports;
8
- //# sourceMappingURL=index-DDXzCx2W.js.map
8
+ //# sourceMappingURL=index-D9BY44i-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D9BY44i-.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -15296,6 +15296,32 @@ async function confirmAndCheckTransaction(connection, signature) {
15296
15296
  }
15297
15297
 
15298
15298
  const VALID_PROVIDERS = ['injected', 'google', 'apple', 'deeplink', 'phantom'];
15299
+ // When the dApp runs inside an iframe whose parent origin is different from
15300
+ // (or can't inject into) the child frame — notably Phantom's Android in-app
15301
+ // browser, which injects window.phantom.solana only into the top frame —
15302
+ // the Phantom deeplink path tries to navigate phantom.app/ul/browse/... from
15303
+ // inside the iframe. Android App Links only hand off on top-level navigations,
15304
+ // and phantom.app refuses to be framed (X-Frame-Options: DENY), so the connect
15305
+ // fails. To get back to a working context we navigate the top window to the
15306
+ // dApp's own URL, dropping the iframe shell. Once top-level, the wallet
15307
+ // browser injects its provider and the normal injected flow succeeds.
15308
+ function isInIframe() {
15309
+ if (typeof window === 'undefined')
15310
+ return false;
15311
+ try {
15312
+ return window.top !== window.self;
15313
+ }
15314
+ catch (_a) {
15315
+ // Cross-origin access to window.top throws — if we can't read it, we're iframed.
15316
+ return true;
15317
+ }
15318
+ }
15319
+ function shouldBreakOutOfIframe(provider) {
15320
+ // Only break out when the user chose the deeplink provider. The modal only
15321
+ // offers deeplink on mobile when no injected Phantom is present, so this is
15322
+ // exactly the iframe-without-provider case we need to escape.
15323
+ return provider === 'deeplink' && isInIframe();
15324
+ }
15299
15325
  // Dynamically import React and Phantom SDK - only when needed
15300
15326
  let React$1;
15301
15327
  let ReactDOM$1;
@@ -15316,7 +15342,7 @@ async function loadDependencies() {
15316
15342
  const [reactModule, reactDomModule, phantomModule] = await Promise.all([
15317
15343
  import('react'),
15318
15344
  import('react-dom/client'),
15319
- Promise.resolve().then(function () { return require('./index-KUU0aVzP.js'); })
15345
+ Promise.resolve().then(function () { return require('./index-zS_Y-wbi.js'); })
15320
15346
  ]);
15321
15347
  // Extract default export from ESM module namespace
15322
15348
  // Dynamic import() returns { default: Module, ...exports }, not the module directly
@@ -15664,6 +15690,27 @@ class PhantomWalletProvider {
15664
15690
  const handleWalletClick = async (options) => {
15665
15691
  walletClickedRef.current = true;
15666
15692
  setShowWalletModal(false);
15693
+ // If we're in an iframe and the user chose deeplink, Phantom's SDK
15694
+ // will navigate *this* iframe to phantom.app/ul/browse/..., which
15695
+ // Android App Links won't intercept and phantom.app won't let be
15696
+ // framed. Escape to top-level first so the wallet browser can
15697
+ // inject its provider and the normal injected flow takes over
15698
+ // on the user's next connect tap.
15699
+ if (shouldBreakOutOfIframe(options === null || options === void 0 ? void 0 : options.provider)) {
15700
+ try {
15701
+ // Same-site navigation (*.poof.new → *.poof.new) plus the
15702
+ // iframe's allow-top-navigation-by-user-activation sandbox
15703
+ // token make this go through.
15704
+ window.top.location.href = window.location.href;
15705
+ return;
15706
+ }
15707
+ catch (_a) {
15708
+ // Top-nav blocked (no sandbox grant, cross-origin top, etc.).
15709
+ // Fall through to the normal deeplink path — at least the
15710
+ // user gets the original broken-ish behavior instead of a
15711
+ // silently-dead button.
15712
+ }
15713
+ }
15667
15714
  try {
15668
15715
  if (options === null || options === void 0 ? void 0 : options.walletId) {
15669
15716
  await connect({ provider: 'injected', walletId: options.walletId });
@@ -20792,7 +20839,7 @@ async function registerMobileWalletAdapter(config) {
20792
20839
  if (typeof window === 'undefined')
20793
20840
  return;
20794
20841
  try {
20795
- const walletStandardMobile = await Promise.resolve().then(function () { return require('./index.browser-Di1_YZpi.js'); });
20842
+ const walletStandardMobile = await Promise.resolve().then(function () { return require('./index.browser-Cpi4W_1r.js'); });
20796
20843
  const registerMwa = walletStandardMobile.registerMwa || ((_a = walletStandardMobile.default) === null || _a === void 0 ? void 0 : _a.registerMwa);
20797
20844
  if (!registerMwa) {
20798
20845
  console.warn('[SolanaMobileWallet] registerMwa not found in @solana-mobile/wallet-standard-mobile');
@@ -21757,4 +21804,4 @@ exports.signSessionCreateMessage = signSessionCreateMessage;
21757
21804
  exports.signTransaction = signTransaction;
21758
21805
  exports.subscribe = subscribe;
21759
21806
  exports.useAuth = useAuth;
21760
- //# sourceMappingURL=index-DQVpAl5t.js.map
21807
+ //# sourceMappingURL=index-DwU9hjtr.js.map