@pooflabs/web 0.0.89-rc1 → 0.0.89-rc3

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 (64) hide show
  1. package/dist/auth/hooks/usePoofnetWallet.d.ts +28 -0
  2. package/dist/auth/providers/mock-poofnet-provider.d.ts +43 -0
  3. package/dist/auth/providers/phantom-wallet-provider.d.ts +4 -0
  4. package/dist/{index-DqaHVIzZ.esm.js → index-2wcE74zV.esm.js} +4676 -1879
  5. package/dist/index-2wcE74zV.esm.js.map +1 -0
  6. package/dist/{index-Bu0P9-rk.js → index-BbyEdrbT.js} +4676 -1880
  7. package/dist/index-BbyEdrbT.js.map +1 -0
  8. package/dist/{index-CaP3L422.js → index-BdtzCA9I.js} +2 -2406
  9. package/dist/index-BdtzCA9I.js.map +1 -0
  10. package/dist/{index-C_t7524U.esm.js → index-BosINgjL.esm.js} +2 -2406
  11. package/dist/index-BosINgjL.esm.js.map +1 -0
  12. package/dist/{index-B2tbqv9S.js → index-D5KlQpzj.js} +13 -2418
  13. package/dist/index-D5KlQpzj.js.map +1 -0
  14. package/dist/{index-BbBFWBRS.esm.js → index-TCh-Tz3A.esm.js} +2 -2407
  15. package/dist/index-TCh-Tz3A.esm.js.map +1 -0
  16. package/dist/{index.browser-K7sgUCDX.esm.js → index.browser-CQxdFuE2.esm.js} +2 -2
  17. package/dist/{index.browser-K7sgUCDX.esm.js.map → index.browser-CQxdFuE2.esm.js.map} +1 -1
  18. package/dist/{index.browser-CMH5pzud.esm.js → index.browser-CkaOa5gJ.esm.js} +2 -2
  19. package/dist/{index.browser-CMH5pzud.esm.js.map → index.browser-CkaOa5gJ.esm.js.map} +1 -1
  20. package/dist/{index.browser-D2cnbAmp.js → index.browser-DxjCzf2n.js} +2 -2
  21. package/dist/{index.browser-D2cnbAmp.js.map → index.browser-DxjCzf2n.js.map} +1 -1
  22. package/dist/{index.browser-BCCeqt95.js → index.browser-dTW8LCID.js} +2 -2
  23. package/dist/{index.browser-BCCeqt95.js.map → index.browser-dTW8LCID.js.map} +1 -1
  24. package/dist/index.d.ts +2 -0
  25. package/dist/index.esm.js +1 -1
  26. package/dist/index.js +2 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/{index.native-RPvM5J_E.esm.js → index.native-Ch6gsAP_.esm.js} +4545 -1808
  29. package/dist/index.native-Ch6gsAP_.esm.js.map +1 -0
  30. package/dist/{index.native-DGACm1O5.js → index.native-K4hpch3o.js} +4546 -1810
  31. package/dist/index.native-K4hpch3o.js.map +1 -0
  32. package/dist/index.native.d.ts +2 -0
  33. package/dist/index.native.esm.js +1 -1
  34. package/dist/index.native.js +2 -1
  35. package/dist/index.native.js.map +1 -1
  36. package/dist/{phantom-wallet-provider-B-5jhIZ6.js → phantom-wallet-provider-BOz9oPsO.js} +66 -8
  37. package/dist/phantom-wallet-provider-BOz9oPsO.js.map +1 -0
  38. package/dist/{phantom-wallet-provider-BcxNxeLW.esm.js → phantom-wallet-provider-ieVw9iZ_.esm.js} +62 -4
  39. package/dist/phantom-wallet-provider-ieVw9iZ_.esm.js.map +1 -0
  40. package/dist/{privy-wallet-provider-Du1rVhyc.js → privy-wallet-provider-BlWvz1R6.js} +3 -3
  41. package/dist/{privy-wallet-provider-Du1rVhyc.js.map → privy-wallet-provider-BlWvz1R6.js.map} +1 -1
  42. package/dist/{privy-wallet-provider-B8SDd66x.esm.js → privy-wallet-provider-CVVhV2RP.esm.js} +3 -3
  43. package/dist/{privy-wallet-provider-B8SDd66x.esm.js.map → privy-wallet-provider-CVVhV2RP.esm.js.map} +1 -1
  44. package/dist/{solana-mobile-wallet-provider-DuB_IGjv.js → solana-mobile-wallet-provider-C8QDeO6I.js} +14 -12
  45. package/dist/solana-mobile-wallet-provider-C8QDeO6I.js.map +1 -0
  46. package/dist/{solana-mobile-wallet-provider-DKCgh6ep.esm.js → solana-mobile-wallet-provider-CHMZajIq.esm.js} +8 -6
  47. package/dist/solana-mobile-wallet-provider-CHMZajIq.esm.js.map +1 -0
  48. package/package.json +3 -2
  49. package/dist/index-B2tbqv9S.js.map +0 -1
  50. package/dist/index-BbBFWBRS.esm.js.map +0 -1
  51. package/dist/index-Bu0P9-rk.js.map +0 -1
  52. package/dist/index-C_t7524U.esm.js.map +0 -1
  53. package/dist/index-CaP3L422.js.map +0 -1
  54. package/dist/index-DIO6OzTK.js +0 -8
  55. package/dist/index-DIO6OzTK.js.map +0 -1
  56. package/dist/index-DqaHVIzZ.esm.js.map +0 -1
  57. package/dist/index-Mdx7ymmb.esm.js +0 -6
  58. package/dist/index-Mdx7ymmb.esm.js.map +0 -1
  59. package/dist/index.native-DGACm1O5.js.map +0 -1
  60. package/dist/index.native-RPvM5J_E.esm.js.map +0 -1
  61. package/dist/phantom-wallet-provider-B-5jhIZ6.js.map +0 -1
  62. package/dist/phantom-wallet-provider-BcxNxeLW.esm.js.map +0 -1
  63. package/dist/solana-mobile-wallet-provider-DKCgh6ep.esm.js.map +0 -1
  64. package/dist/solana-mobile-wallet-provider-DuB_IGjv.js.map +0 -1
@@ -0,0 +1,28 @@
1
+ export interface PoofnetWallet {
2
+ index: number;
3
+ label: string;
4
+ address: string;
5
+ }
6
+ export interface UsePoofnetWalletResult {
7
+ /** True when the active session is a simulated Poofnet (mock) wallet. */
8
+ isMock: boolean;
9
+ /** All mock wallets for this app/device (derived, no secrets stored). */
10
+ wallets: PoofnetWallet[];
11
+ /** Index of the currently-connected mock wallet. */
12
+ activeIndex: number;
13
+ /** Connect as an existing mock wallet by index (re-logins as it). */
14
+ switchWallet: (index: number) => Promise<void>;
15
+ /** Generate a brand-new mock wallet and connect as it. */
16
+ generateWallet: () => Promise<void>;
17
+ /** Re-read the wallet list (rarely needed — auth changes refresh automatically). */
18
+ refresh: () => Promise<void>;
19
+ }
20
+ /**
21
+ * Exposes the simulated Poofnet wallet to the app's own wallet UI (e.g. the
22
+ * template WalletButton). `isMock` is false on mainnet / real-wallet sessions,
23
+ * so callers can conditionally render the switch/generate controls.
24
+ *
25
+ * Reactive: re-reads whenever auth state changes (login / logout / wallet
26
+ * switch all flow through setCurrentUser → onAuthStateChanged).
27
+ */
28
+ export declare function usePoofnetWallet(): UsePoofnetWalletResult;
@@ -0,0 +1,43 @@
1
+ import { Transaction, VersionedTransaction } from '@solana/web3.js';
2
+ import type { AuthProvider, User, TransactionResult, SolTransaction, EVMTransaction, SetOptions } from '@pooflabs/core';
3
+ export declare function getActiveMockPoofnetProvider(): MockPoofnetProvider | null;
4
+ export declare class MockPoofnetProvider implements AuthProvider {
5
+ /** The keypair for the currently-connected mock wallet (re-derived on login/switch/restore). */
6
+ private activeKeypair;
7
+ private getDeviceId;
8
+ private getAppId;
9
+ private getWalletMeta;
10
+ private setWalletMeta;
11
+ private deriveKeypair;
12
+ private labelFor;
13
+ /**
14
+ * Sign the canonical nonce message with `keypair` and exchange it for a real
15
+ * Cognito session via the existing /session endpoint. Byte-for-byte the same
16
+ * flow a real Phantom login uses (see phantom-wallet-provider.ts) — only the
17
+ * signer differs.
18
+ */
19
+ private mintSession;
20
+ /** Instant connect as the last-used wallet (or the first one, created on the spot). */
21
+ login(): Promise<User | null>;
22
+ restoreSession(): Promise<User | null>;
23
+ logout(): Promise<void>;
24
+ /** Switch to (and connect as) an existing mock wallet by index. */
25
+ switchWallet(index: number): Promise<User | null>;
26
+ /** Generate a brand-new mock wallet (next index) and connect as it. */
27
+ generateWallet(): Promise<User | null>;
28
+ /** Wallet list + active index for the wallet UI (usePoofnetWallet hook). */
29
+ getWalletState(): Promise<{
30
+ wallets: {
31
+ index: number;
32
+ label: string;
33
+ address: string;
34
+ }[];
35
+ activeIndex: number;
36
+ }>;
37
+ signMessage(message: string): Promise<string>;
38
+ signMessageMock(message: string): Promise<string>;
39
+ runTransaction(_evmTransactionData?: EVMTransaction, _solTransactionData?: SolTransaction, _options?: SetOptions): Promise<TransactionResult>;
40
+ signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
41
+ signAndSubmitTransaction(_transaction: Transaction | VersionedTransaction, _feePayer?: any): Promise<string>;
42
+ getNativeMethods(): Promise<any>;
43
+ }
@@ -14,6 +14,8 @@ export interface PhantomWalletConfig {
14
14
  appIcon?: string;
15
15
  /** Enable a "Log in with email" fallback button (via Privy) in the Phantom modal */
16
16
  enablePrivyFallback?: boolean;
17
+ /** Show a "Connect with Poofnet wallet" (simulated) option in the modal — offchain/preview only */
18
+ showPoofnetWallet?: boolean;
17
19
  /** Custom title shown at the top of the login modal. Overrides the default "Log in to your account". */
18
20
  modalTitle?: string;
19
21
  /** Custom subtitle shown below the title in the login modal. */
@@ -50,6 +52,8 @@ export declare class PhantomWalletProvider implements AuthProvider {
50
52
  onSwitchToPrivy: (() => Promise<AuthProvider>) | null;
51
53
  /** Callback to swap to a Mobile Wallet Adapter provider when the user clicks "Connect Mobile Wallet" */
52
54
  onSwitchToMWA: (() => Promise<AuthProvider>) | null;
55
+ /** Callback to swap to the simulated Poofnet provider when the user clicks "Connect with Poofnet wallet" */
56
+ onSwitchToPoofnet: (() => Promise<AuthProvider>) | null;
53
57
  constructor(networkUrl?: string | null, config?: PhantomWalletConfig);
54
58
  private initializeAsync;
55
59
  /**