@pooflabs/web 0.0.89-rc2 → 0.0.89-rc4

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 (55) hide show
  1. package/dist/auth/hooks/usePoofnetWallet.d.ts +28 -0
  2. package/dist/auth/providers/mock-poofnet-provider.d.ts +10 -25
  3. package/dist/{index-DQhWZskl.esm.js → index-Bop7HFA-.esm.js} +2 -2
  4. package/dist/{index-4JUcdcnk.esm.js.map → index-Bop7HFA-.esm.js.map} +1 -1
  5. package/dist/{index-CXmcQaFm.js → index-CEADZ0na.js} +2 -2
  6. package/dist/{index-CXmcQaFm.js.map → index-CEADZ0na.js.map} +1 -1
  7. package/dist/{index-Cgaz8U9W.esm.js → index-DGOP9-5L.esm.js} +132 -87
  8. package/dist/index-DGOP9-5L.esm.js.map +1 -0
  9. package/dist/{index-BLiaV7Dz.js → index-DHI02_l_.js} +132 -86
  10. package/dist/index-DHI02_l_.js.map +1 -0
  11. package/dist/{index-QJAj_nTx.js → index-DS3Ftep_.js} +2 -2
  12. package/dist/{index-QJAj_nTx.js.map → index-DS3Ftep_.js.map} +1 -1
  13. package/dist/{index-4JUcdcnk.esm.js → index-DZhOa-_D.esm.js} +2 -2
  14. package/dist/{index-DQhWZskl.esm.js.map → index-DZhOa-_D.esm.js.map} +1 -1
  15. package/dist/{index.browser-kQdoMu7Y.esm.js → index.browser-0dewreQm.esm.js} +2 -2
  16. package/dist/{index.browser-kQdoMu7Y.esm.js.map → index.browser-0dewreQm.esm.js.map} +1 -1
  17. package/dist/{index.browser-CG2sQjrd.esm.js → index.browser-B-pUCZgP.esm.js} +2 -2
  18. package/dist/{index.browser-CG2sQjrd.esm.js.map → index.browser-B-pUCZgP.esm.js.map} +1 -1
  19. package/dist/{index.browser-B9NfvmrP.js → index.browser-C9AVHEa4.js} +2 -2
  20. package/dist/{index.browser-B9NfvmrP.js.map → index.browser-C9AVHEa4.js.map} +1 -1
  21. package/dist/{index.browser-UxB-zDuA.js → index.browser-rhFUHjM1.js} +2 -2
  22. package/dist/{index.browser-UxB-zDuA.js.map → index.browser-rhFUHjM1.js.map} +1 -1
  23. package/dist/index.d.ts +2 -0
  24. package/dist/index.esm.js +1 -1
  25. package/dist/index.js +2 -1
  26. package/dist/index.js.map +1 -1
  27. package/dist/{index.native-CwpIbypp.esm.js → index.native-CXtxnE1X.esm.js} +114 -85
  28. package/dist/index.native-CXtxnE1X.esm.js.map +1 -0
  29. package/dist/{index.native-Cycwo-3I.js → index.native-DzDWIHgW.js} +114 -84
  30. package/dist/index.native-DzDWIHgW.js.map +1 -0
  31. package/dist/index.native.d.ts +2 -0
  32. package/dist/index.native.esm.js +1 -1
  33. package/dist/index.native.js +2 -1
  34. package/dist/index.native.js.map +1 -1
  35. package/dist/{phantom-wallet-provider-DM-96ILz.esm.js → phantom-wallet-provider-SmsVVBCI.esm.js} +16 -3
  36. package/dist/phantom-wallet-provider-SmsVVBCI.esm.js.map +1 -0
  37. package/dist/{phantom-wallet-provider-BgDhrraw.js → phantom-wallet-provider-mA4Yaf-t.js} +16 -3
  38. package/dist/phantom-wallet-provider-mA4Yaf-t.js.map +1 -0
  39. package/dist/{privy-wallet-provider-C70AIqHI.esm.js → privy-wallet-provider-BNPm2WEZ.esm.js} +3 -3
  40. package/dist/{privy-wallet-provider-C70AIqHI.esm.js.map → privy-wallet-provider-BNPm2WEZ.esm.js.map} +1 -1
  41. package/dist/{privy-wallet-provider-D4IYOUji.js → privy-wallet-provider-CHMc_YjB.js} +3 -3
  42. package/dist/{privy-wallet-provider-D4IYOUji.js.map → privy-wallet-provider-CHMc_YjB.js.map} +1 -1
  43. package/dist/{solana-mobile-wallet-provider-CXXw-pKg.esm.js → solana-mobile-wallet-provider-BMGBQI3W.esm.js} +8 -5
  44. package/dist/solana-mobile-wallet-provider-BMGBQI3W.esm.js.map +1 -0
  45. package/dist/{solana-mobile-wallet-provider-BrjPc7Wd.js → solana-mobile-wallet-provider-DmBKAypM.js} +8 -5
  46. package/dist/solana-mobile-wallet-provider-DmBKAypM.js.map +1 -0
  47. package/package.json +1 -1
  48. package/dist/index-BLiaV7Dz.js.map +0 -1
  49. package/dist/index-Cgaz8U9W.esm.js.map +0 -1
  50. package/dist/index.native-CwpIbypp.esm.js.map +0 -1
  51. package/dist/index.native-Cycwo-3I.js.map +0 -1
  52. package/dist/phantom-wallet-provider-BgDhrraw.js.map +0 -1
  53. package/dist/phantom-wallet-provider-DM-96ILz.esm.js.map +0 -1
  54. package/dist/solana-mobile-wallet-provider-BrjPc7Wd.js.map +0 -1
  55. package/dist/solana-mobile-wallet-provider-CXXw-pKg.esm.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;
@@ -1,31 +1,9 @@
1
1
  import { Transaction, VersionedTransaction } from '@solana/web3.js';
2
2
  import type { AuthProvider, User, TransactionResult, SolTransaction, EVMTransaction, SetOptions } from '@pooflabs/core';
3
- /**
4
- * MockPoofnetProvider — a *simulated* wallet for the Poofnet (offchain) preview
5
- * environment. Lets a draft app be used without a real wallet round-trip: it
6
- * derives a keypair locally and signs the canonical auth-nonce message itself,
7
- * minting a genuine session through the normal /session flow (the backend
8
- * verifier only checks signature + canonical message + nonce — never keypair
9
- * provenance — so a derived key is accepted exactly like a real wallet).
10
- *
11
- * Identity model (no per-wallet secret is ever stored):
12
- * - A random per-device id (`poofnet:deviceId`, generated once) is the entropy
13
- * root, so two different users on a *direct* draft URL never collide.
14
- * - Wallet #N = Keypair.fromSeed( sha256("poofnet-mock:" + deviceId + ":" + appId + ":" + N) )
15
- * — deterministic, so wallets survive reloads and are re-derived on demand.
16
- * - Per-app (appId in the seed) and per-device. Cross-device-same-user is a
17
- * later layer (would mix in the poof platform address when available).
18
- *
19
- * Only ever constructed when chain === "offchain" (see auth/index.ts), and it is
20
- * wrapped by OffchainAuthProvider so transaction mocking is unchanged. Mainnet
21
- * never touches this class.
22
- */
3
+ export declare function getActiveMockPoofnetProvider(): MockPoofnetProvider | null;
23
4
  export declare class MockPoofnetProvider implements AuthProvider {
24
5
  /** The keypair for the currently-connected mock wallet (re-derived on login/switch/restore). */
25
6
  private activeKeypair;
26
- /** Floating wallet widget root (web only). */
27
- private widgetEl;
28
- private widgetExpanded;
29
7
  private getDeviceId;
30
8
  private getAppId;
31
9
  private getWalletMeta;
@@ -47,12 +25,19 @@ export declare class MockPoofnetProvider implements AuthProvider {
47
25
  switchWallet(index: number): Promise<User | null>;
48
26
  /** Generate a brand-new mock wallet (next index) and connect as it. */
49
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
+ }>;
50
37
  signMessage(message: string): Promise<string>;
51
38
  signMessageMock(message: string): Promise<string>;
52
39
  runTransaction(_evmTransactionData?: EVMTransaction, _solTransactionData?: SolTransaction, _options?: SetOptions): Promise<TransactionResult>;
53
40
  signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
54
41
  signAndSubmitTransaction(_transaction: Transaction | VersionedTransaction, _feePayer?: any): Promise<string>;
55
42
  getNativeMethods(): Promise<any>;
56
- private showWalletWidget;
57
- private removeWalletWidget;
58
43
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { useContext, createContext, useState, useMemo, useRef, useEffect, useCallback } from 'react';
3
3
  import globalAxios, { isAxiosError } from 'axios';
4
- import { b as bufferExports, g as getDefaultExportFromCjs, a as base58 } from './index-Cgaz8U9W.esm.js';
4
+ import { b as bufferExports, g as getDefaultExportFromCjs, a as base58 } from './index-DGOP9-5L.esm.js';
5
5
  import { Transaction as Transaction$1, VersionedTransaction } from '@solana/web3.js';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
7
  import '@coral-xyz/anchor';
@@ -16086,4 +16086,4 @@ function ConnectBox({ maxWidth = "350px", transparent = false, appIcon, appName
16086
16086
  }
16087
16087
 
16088
16088
  export { DerivationInfoAddressFormatEnum as AddressType, ConnectBox, ConnectButton, DebugLevel, NetworkId, PhantomProvider, darkTheme, debug, isMobileDevice, lightTheme, mergeTheme, useAccounts, useAutoConfirm, useConnect, useDisconnect, useDiscoveredWallets, useEthereum, useIsExtensionInstalled, useIsPhantomLoginAvailable, useModal, usePhantom, useSolana, useTheme };
16089
- //# sourceMappingURL=index-DQhWZskl.esm.js.map
16089
+ //# sourceMappingURL=index-Bop7HFA-.esm.js.map