@pooflabs/web 0.0.68 → 0.0.69-rc.2
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.
- package/dist/auth/index.d.ts +1 -0
- package/dist/auth/providers/phantom-wallet-provider.d.ts +2 -0
- package/dist/auth/providers/solana-mobile-wallet-provider.d.ts +75 -0
- package/dist/{index-YzZ1QavD.js → index-BZpQdkSL.js} +605 -6
- package/dist/index-BZpQdkSL.js.map +1 -0
- package/dist/{index-CzcmQ2iE.esm.js → index-BxW0dVxR.esm.js} +2 -2
- package/dist/{index-CzcmQ2iE.esm.js.map → index-BxW0dVxR.esm.js.map} +1 -1
- package/dist/{index-ChGj4uuO.js → index-DDHlGslU.js} +2 -2
- package/dist/{index-ChGj4uuO.js.map → index-DDHlGslU.js.map} +1 -1
- package/dist/{index-DVa7oS4V.esm.js → index-gZceh3R8.esm.js} +603 -7
- package/dist/index-gZceh3R8.esm.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +12 -2
- package/dist/index-DVa7oS4V.esm.js.map +0 -1
- package/dist/index-YzZ1QavD.js.map +0 -1
package/dist/auth/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { PhantomWalletProvider, PhantomWalletConfig, PhantomProviderType, } from
|
|
|
2
2
|
export { PrivyWalletProvider } from "./providers/privy-wallet-provider";
|
|
3
3
|
export { MockAuthProvider, DEFAULT_TEST_ADDRESS, } from "./providers/mock-auth-provider";
|
|
4
4
|
export { OffchainAuthProvider, OffchainAuthProviderConfig, } from "./providers/offchain-auth-provider";
|
|
5
|
+
export { SolanaMobileWalletProvider, SolanaMobileWalletConfig, isMobileWalletAvailable, registerMobileWalletAdapter, } from "./providers/solana-mobile-wallet-provider";
|
|
5
6
|
import { AuthProvider, User, ClientConfig } from "@pooflabs/core";
|
|
6
7
|
/**
|
|
7
8
|
* Clears the session if it was created before auth method tracking (legacy session).
|
|
@@ -29,6 +29,8 @@ export declare class PhantomWalletProvider implements AuthProvider {
|
|
|
29
29
|
private initPromise;
|
|
30
30
|
/** Callback to swap to a Privy provider when the user clicks "Log in with email" */
|
|
31
31
|
onSwitchToPrivy: (() => Promise<AuthProvider>) | null;
|
|
32
|
+
/** Callback to swap to a Mobile Wallet Adapter provider when the user clicks "Connect Mobile Wallet" */
|
|
33
|
+
onSwitchToMWA: (() => Promise<AuthProvider>) | null;
|
|
32
34
|
constructor(networkUrl?: string | null, config?: PhantomWalletConfig);
|
|
33
35
|
private initializeAsync;
|
|
34
36
|
/**
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { EVMTransaction, SolTransaction, TransactionResult, User, AuthProvider, SetOptions } from '@pooflabs/core';
|
|
2
|
+
import { PublicKey, Transaction, VersionedTransaction } from '@solana/web3.js';
|
|
3
|
+
export interface SolanaMobileWalletConfig {
|
|
4
|
+
/** App identity shown to the wallet during authorization */
|
|
5
|
+
appIdentity?: {
|
|
6
|
+
name?: string;
|
|
7
|
+
uri?: string;
|
|
8
|
+
icon?: string;
|
|
9
|
+
};
|
|
10
|
+
/** Solana cluster: 'mainnet-beta' | 'devnet' | 'testnet' */
|
|
11
|
+
cluster?: string;
|
|
12
|
+
/** Theme for any UI elements: 'light' or 'dark' */
|
|
13
|
+
theme?: 'light' | 'dark';
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Detects whether the current environment is a mobile browser capable of
|
|
17
|
+
* Mobile Wallet Adapter (MWA) communication.
|
|
18
|
+
*
|
|
19
|
+
* Returns true on Android browsers (Chrome, etc.) where MWA intents work,
|
|
20
|
+
* or inside a Seeker/Saga in-app browser context.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isMobileWalletAvailable(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Registers Mobile Wallet Adapter as a wallet-standard wallet so it appears
|
|
25
|
+
* in wallet selection UIs and can be discovered by other wallet-standard consumers.
|
|
26
|
+
*
|
|
27
|
+
* Call this once at app startup (in a browser-only / non-SSR context).
|
|
28
|
+
*
|
|
29
|
+
* @param config - App identity and optional remote host authority for desktop QR code support
|
|
30
|
+
*/
|
|
31
|
+
export declare function registerMobileWalletAdapter(config?: {
|
|
32
|
+
appIdentity?: {
|
|
33
|
+
name?: string;
|
|
34
|
+
uri?: string;
|
|
35
|
+
icon?: string;
|
|
36
|
+
};
|
|
37
|
+
chains?: string[];
|
|
38
|
+
remoteHostAuthority?: string;
|
|
39
|
+
}): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* SolanaMobileWalletProvider implements the AuthProvider interface using the
|
|
42
|
+
* Solana Mobile Wallet Adapter (MWA) protocol.
|
|
43
|
+
*
|
|
44
|
+
* This enables TaroBase dApps to work with any MWA-compliant wallet on Solana
|
|
45
|
+
* mobile devices (Seeker, Saga) — including the native Seed Vault Wallet,
|
|
46
|
+
* Phantom, Solflare, and any other wallet that implements the MWA protocol.
|
|
47
|
+
*
|
|
48
|
+
* The MWA protocol communicates with wallet apps via Android intents (on mobile)
|
|
49
|
+
* or WebSocket relay (on desktop via QR code), eliminating the need to integrate
|
|
50
|
+
* with each wallet individually.
|
|
51
|
+
*/
|
|
52
|
+
export declare class SolanaMobileWalletProvider implements AuthProvider {
|
|
53
|
+
private static instance;
|
|
54
|
+
private networkUrl;
|
|
55
|
+
private config;
|
|
56
|
+
private mwaAdapter;
|
|
57
|
+
private authorizedPublicKey;
|
|
58
|
+
constructor(networkUrl?: string | null, config?: SolanaMobileWalletConfig);
|
|
59
|
+
static getInstance(networkUrl: string | null, config: SolanaMobileWalletConfig): SolanaMobileWalletProvider;
|
|
60
|
+
private ensureAdapter;
|
|
61
|
+
login(): Promise<User | null>;
|
|
62
|
+
restoreSession(): Promise<User | null>;
|
|
63
|
+
logout(): Promise<void>;
|
|
64
|
+
signMessage(message: string): Promise<string>;
|
|
65
|
+
signTransaction(transaction: Transaction | VersionedTransaction): Promise<Transaction | VersionedTransaction>;
|
|
66
|
+
signAndSubmitTransaction(transaction: Transaction | VersionedTransaction, feePayer?: PublicKey): Promise<string>;
|
|
67
|
+
runTransaction(_evmTransactionData?: EVMTransaction, solTransactionData?: SolTransaction, options?: SetOptions): Promise<TransactionResult>;
|
|
68
|
+
getNativeMethods(): Promise<any>;
|
|
69
|
+
private getRpcUrl;
|
|
70
|
+
}
|
|
71
|
+
declare global {
|
|
72
|
+
interface Window {
|
|
73
|
+
CUSTOM_TAROBASE_APP_ID_HEADER?: string;
|
|
74
|
+
}
|
|
75
|
+
}
|