@bounded-sh/client 0.0.113 → 0.0.115

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 (58) hide show
  1. package/dist/auth/providers/injected-wallet-types.d.ts +11 -2
  2. package/dist/auth/providers/wallet-standard-discovery.d.ts +2 -0
  3. package/dist/auth/turnkey-signer-window.d.ts +19 -0
  4. package/dist/auth/turnkey-signing-capability.d.ts +5 -1
  5. package/dist/{email-auth-provider-nDZjRDpj.mjs → email-auth-provider-ByNBWdfi.mjs} +2 -2
  6. package/dist/{email-auth-provider-Bk5GSpYT.mjs.map → email-auth-provider-ByNBWdfi.mjs.map} +1 -1
  7. package/dist/{email-auth-provider-Bk5GSpYT.mjs → email-auth-provider-CODHCC3h.mjs} +2 -2
  8. package/dist/{email-auth-provider-nDZjRDpj.mjs.map → email-auth-provider-CODHCC3h.mjs.map} +1 -1
  9. package/dist/{email-auth-provider-DeORQbTK.js → email-auth-provider-CPHrcy_b.js} +2 -2
  10. package/dist/{email-auth-provider-DeORQbTK.js.map → email-auth-provider-CPHrcy_b.js.map} +1 -1
  11. package/dist/{email-auth-provider-Cr66GaKw.js → email-auth-provider-CwG04f4u.js} +2 -2
  12. package/dist/{email-auth-provider-Cr66GaKw.js.map → email-auth-provider-CwG04f4u.js.map} +1 -1
  13. package/dist/{guest-auth-provider-CUNkZVFK.js → guest-auth-provider-3rfSwq3f.js} +2 -2
  14. package/dist/{guest-auth-provider-CUNkZVFK.js.map → guest-auth-provider-3rfSwq3f.js.map} +1 -1
  15. package/dist/{guest-auth-provider-ejUTbjCC.mjs → guest-auth-provider-CGN4k_LG.mjs} +2 -2
  16. package/dist/{guest-auth-provider-DDudqqxY.mjs.map → guest-auth-provider-CGN4k_LG.mjs.map} +1 -1
  17. package/dist/{guest-auth-provider-DDudqqxY.mjs → guest-auth-provider-PfOp_Yzj.mjs} +2 -2
  18. package/dist/{guest-auth-provider-ejUTbjCC.mjs.map → guest-auth-provider-PfOp_Yzj.mjs.map} +1 -1
  19. package/dist/{guest-auth-provider-5bX-xt6K.js → guest-auth-provider-d6dk97x6.js} +2 -2
  20. package/dist/{guest-auth-provider-5bX-xt6K.js.map → guest-auth-provider-d6dk97x6.js.map} +1 -1
  21. package/dist/{index-BAiLpNEQ.mjs → index-C63ceG_z.mjs} +789 -73
  22. package/dist/index-C63ceG_z.mjs.map +1 -0
  23. package/dist/{index-BZ0X1Z9X.js → index-nU0ZSfWs.js} +793 -71
  24. package/dist/index-nU0ZSfWs.js.map +1 -0
  25. package/dist/index.d.ts +3 -1
  26. package/dist/index.js +6 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.mjs +1 -1
  29. package/dist/{index.native-DJSOqyKQ.js → index.native-BBLBnqal.js} +75 -22
  30. package/dist/index.native-BBLBnqal.js.map +1 -0
  31. package/dist/{index.native-DcW2klyn.mjs → index.native-DLAEWwuZ.mjs} +76 -23
  32. package/dist/index.native-DLAEWwuZ.mjs.map +1 -0
  33. package/dist/index.native.js +1 -1
  34. package/dist/index.native.mjs +1 -1
  35. package/dist/{injected-evm-wallet-provider-C4aKa2v1.mjs → injected-evm-wallet-provider-C4vNOS4P.mjs} +2 -2
  36. package/dist/{injected-evm-wallet-provider-C4aKa2v1.mjs.map → injected-evm-wallet-provider-C4vNOS4P.mjs.map} +1 -1
  37. package/dist/{injected-evm-wallet-provider-BDYWjIOQ.js → injected-evm-wallet-provider-C6KC7pJ6.js} +2 -2
  38. package/dist/{injected-evm-wallet-provider-BDYWjIOQ.js.map → injected-evm-wallet-provider-C6KC7pJ6.js.map} +1 -1
  39. package/dist/{injected-evm-wallet-provider-D06arDQD.js → injected-evm-wallet-provider-D1JA3cL4.js} +2 -2
  40. package/dist/{injected-evm-wallet-provider-D06arDQD.js.map → injected-evm-wallet-provider-D1JA3cL4.js.map} +1 -1
  41. package/dist/{injected-evm-wallet-provider-BQ_kG1vI.mjs → injected-evm-wallet-provider-D7rOyYdr.mjs} +2 -2
  42. package/dist/{injected-evm-wallet-provider-BQ_kG1vI.mjs.map → injected-evm-wallet-provider-D7rOyYdr.mjs.map} +1 -1
  43. package/dist/{injected-wallet-provider-Dj-F69gb.mjs → injected-wallet-provider-BLRrB2rb.mjs} +11 -5
  44. package/dist/{injected-wallet-provider-Dj-F69gb.mjs.map → injected-wallet-provider-BLRrB2rb.mjs.map} +1 -1
  45. package/dist/{injected-wallet-provider-B9jvzDM5.js → injected-wallet-provider-BXFicWTx.js} +11 -5
  46. package/dist/{injected-wallet-provider-B9jvzDM5.js.map → injected-wallet-provider-BXFicWTx.js.map} +1 -1
  47. package/dist/{injected-wallet-provider-Dqmk-m4V.js → injected-wallet-provider-BvlKZoVJ.js} +59 -34
  48. package/dist/injected-wallet-provider-BvlKZoVJ.js.map +1 -0
  49. package/dist/{injected-wallet-provider-DxPcYxP-.mjs → injected-wallet-provider-DruiX7GK.mjs} +59 -34
  50. package/dist/injected-wallet-provider-DruiX7GK.mjs.map +1 -0
  51. package/dist/venue-escrow.d.ts +113 -0
  52. package/package.json +2 -2
  53. package/dist/index-BAiLpNEQ.mjs.map +0 -1
  54. package/dist/index-BZ0X1Z9X.js.map +0 -1
  55. package/dist/index.native-DJSOqyKQ.js.map +0 -1
  56. package/dist/index.native-DcW2klyn.mjs.map +0 -1
  57. package/dist/injected-wallet-provider-Dqmk-m4V.js.map +0 -1
  58. package/dist/injected-wallet-provider-DxPcYxP-.mjs.map +0 -1
@@ -1,9 +1,40 @@
1
1
  'use strict';
2
2
 
3
3
  var core = require('@bounded-sh/core');
4
- var index_native = require('./index.native-DJSOqyKQ.js');
4
+ var index_native = require('./index.native-BBLBnqal.js');
5
5
  require('react');
6
6
 
7
+ const SELECTED_WALLET_UNAVAILABLE_ERR = 'The selected Solana wallet is unavailable. Select it again before continuing.';
8
+ /** Check login capabilities without connecting, signing, or loading a wallet SDK.
9
+ * This checks login only; it does not promise message or transaction signing. */
10
+ function supportsWalletSignIn(provider) {
11
+ if (typeof provider !== 'object' || provider === null)
12
+ return false;
13
+ const wallet = provider;
14
+ return typeof wallet.connect === 'function' && typeof wallet.signIn === 'function';
15
+ }
16
+ /**
17
+ * Default provider discovery: Phantom-first, then any Wallet-Standard
18
+ * `window.solana`. Kept tiny + synchronous (no heavy imports) so it works inside
19
+ * a user gesture and can be eagerly exported from the SDK entry. This names the
20
+ * default wallet even when it cannot sign in: login must refuse that wallet,
21
+ * never silently replace it with a different identity. Custom pickers can use
22
+ * supportsWalletSignIn() to decide which providers to offer for login.
23
+ */
24
+ function defaultInjectedProvider() {
25
+ var _a;
26
+ if (typeof window === 'undefined')
27
+ return null;
28
+ const w = window;
29
+ const phantom = (_a = w === null || w === void 0 ? void 0 : w.phantom) === null || _a === void 0 ? void 0 : _a.solana;
30
+ if (phantom && typeof phantom.signMessage === 'function')
31
+ return phantom;
32
+ const generic = w === null || w === void 0 ? void 0 : w.solana;
33
+ if (generic && typeof generic.signMessage === 'function')
34
+ return generic;
35
+ return null;
36
+ }
37
+
7
38
  const crypto = typeof globalThis === 'object' && 'crypto' in globalThis ? globalThis.crypto : undefined;
8
39
 
9
40
  /**
@@ -2352,25 +2383,6 @@ function describeInstructionDivergence(sent, returned) {
2352
2383
  return null;
2353
2384
  }
2354
2385
 
2355
- /**
2356
- * Default provider discovery: Phantom-first, then any Wallet-Standard
2357
- * `window.solana`. Kept tiny + synchronous (no heavy imports) so it works inside
2358
- * a user gesture and can be eagerly exported from the SDK entry.
2359
- */
2360
- function defaultInjectedProvider() {
2361
- var _a;
2362
- if (typeof window === 'undefined')
2363
- return null;
2364
- const w = window;
2365
- const phantom = (_a = w === null || w === void 0 ? void 0 : w.phantom) === null || _a === void 0 ? void 0 : _a.solana;
2366
- if (phantom && typeof phantom.signMessage === 'function')
2367
- return phantom;
2368
- const generic = w === null || w === void 0 ? void 0 : w.solana;
2369
- if (generic && typeof generic.signMessage === 'function')
2370
- return generic;
2371
- return null;
2372
- }
2373
-
2374
2386
  /** Name of the feature. */
2375
2387
  const SolanaSignAndSendTransaction = 'solana:signAndSendTransaction';
2376
2388
 
@@ -2408,15 +2420,21 @@ function hasFeature(wallet, name) {
2408
2420
  function supportsSolana(wallet) {
2409
2421
  return wallet.chains.some((c) => c.startsWith("solana:"));
2410
2422
  }
2411
- /** A wallet is LISTED for Bounded login when it can connect + sign a message on a
2412
- * Solana chain. Login itself needs the `solana:signIn` feature (SEC-01); that is
2413
- * checked at login time in InjectedWalletProvider, where a wallet without it is
2414
- * refused with the reason spelled out rather than silently missing from the list.
2415
- * Transaction features are optional and checked lazily at call time. */
2416
- function isLoginCapable(wallet) {
2423
+ /** A Solana wallet the SDK can connect and use for message signing. */
2424
+ function isSolanaWallet(wallet) {
2425
+ var _a, _b;
2417
2426
  return (supportsSolana(wallet) &&
2418
- hasFeature(wallet, StandardConnect) &&
2419
- hasFeature(wallet, SolanaSignMessage));
2427
+ typeof ((_a = feature(wallet, StandardConnect)) === null || _a === void 0 ? void 0 : _a.connect) === "function" &&
2428
+ typeof ((_b = feature(wallet, SolanaSignMessage)) === null || _b === void 0 ? void 0 : _b.signMessage) === "function");
2429
+ }
2430
+ /** Login choices must support the same SIWS operation login() requires.
2431
+ * Transaction features remain optional and are checked at call time. */
2432
+ function isLoginCapable(wallet) {
2433
+ var _a, _b;
2434
+ return isSolanaWallet(wallet) && supportsWalletSignIn({
2435
+ connect: (_a = feature(wallet, StandardConnect)) === null || _a === void 0 ? void 0 : _a.connect,
2436
+ signIn: (_b = feature(wallet, SolanaSignIn)) === null || _b === void 0 ? void 0 : _b.signIn,
2437
+ });
2420
2438
  }
2421
2439
  /** The Wallet-Standard chain id for a configured network, or null when it is
2422
2440
  * absent/unsupported. Ordering must never throw - failing closed on an
@@ -2445,6 +2463,7 @@ function feature(wallet, name) {
2445
2463
  * an unconfigured network fails closed at sign time rather than defaulting.
2446
2464
  */
2447
2465
  function standardWalletToInjectedProvider(wallet, configuredNetwork) {
2466
+ var _a;
2448
2467
  // The adapter holds NO account of its own: `wallet.accounts` is the Wallet
2449
2468
  // Standard's live authorized-account view, kept in sync by the wallet itself
2450
2469
  // (it emits standard:events 'change' when it moves). Reading it on every
@@ -2544,12 +2563,12 @@ function standardWalletToInjectedProvider(wallet, configuredNetwork) {
2544
2563
  const disconnect = feature(wallet, StandardDisconnect);
2545
2564
  if (disconnect)
2546
2565
  await disconnect.disconnect();
2547
- } }, (hasFeature(wallet, SolanaSignIn)
2566
+ } }, (typeof ((_a = feature(wallet, SolanaSignIn)) === null || _a === void 0 ? void 0 : _a.signIn) === "function"
2548
2567
  ? {
2549
2568
  async signIn(input) {
2550
2569
  var _a;
2551
2570
  const sign = feature(wallet, SolanaSignIn);
2552
- if (!sign)
2571
+ if (typeof (sign === null || sign === void 0 ? void 0 : sign.signIn) !== "function")
2553
2572
  throw new Error("Wallet does not support solana:signIn");
2554
2573
  const open = currentAccount();
2555
2574
  if (open && !accountSupports(open, SolanaSignIn))
@@ -2803,8 +2822,14 @@ class InjectedWalletProvider {
2803
2822
  this.config = Object.assign({}, config);
2804
2823
  }
2805
2824
  resolveProvider() {
2806
- var _a, _b;
2807
- const provider = (_b = (_a = (this.config.getProvider ? this.config.getProvider() : null)) !== null && _a !== void 0 ? _a : defaultInjectedProvider()) !== null && _b !== void 0 ? _b : firstStandardWalletProvider(this.configuredNetwork);
2825
+ var _a;
2826
+ if (this.config.getProvider) {
2827
+ const selected = this.config.getProvider();
2828
+ if (!selected)
2829
+ throw new Error(SELECTED_WALLET_UNAVAILABLE_ERR);
2830
+ return selected;
2831
+ }
2832
+ const provider = (_a = defaultInjectedProvider()) !== null && _a !== void 0 ? _a : firstStandardWalletProvider(this.configuredNetwork);
2808
2833
  if (!provider)
2809
2834
  throw new Error(NO_WALLET_ERR);
2810
2835
  return provider;
@@ -2867,7 +2892,7 @@ class InjectedWalletProvider {
2867
2892
  const provider = this.resolveProvider();
2868
2893
  // SEC-01: a wallet without Sign In With Solana is refused before it is
2869
2894
  // asked anything, never downgraded to plain message signing.
2870
- if (typeof provider.signIn !== 'function')
2895
+ if (!supportsWalletSignIn(provider))
2871
2896
  throw new Error(WALLET_SIGN_IN_UNSUPPORTED_ERR);
2872
2897
  // Reuse a still-valid session for THIS wallet, when the wallet names its
2873
2898
  // account without prompting. Nothing here opens the wallet: the sign-in
@@ -3225,4 +3250,4 @@ class InjectedWalletProvider {
3225
3250
  exports.InjectedWalletProvider = InjectedWalletProvider;
3226
3251
  exports.WALLET_SIGN_IN_UNSUPPORTED_ERR = WALLET_SIGN_IN_UNSUPPORTED_ERR;
3227
3252
  exports.defaultInjectedProvider = defaultInjectedProvider;
3228
- //# sourceMappingURL=injected-wallet-provider-Dqmk-m4V.js.map
3253
+ //# sourceMappingURL=injected-wallet-provider-BvlKZoVJ.js.map