@phantom/browser-sdk 1.0.0-beta.21 → 1.0.0-beta.24
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/README.md +188 -91
- package/dist/index.d.ts +49 -61
- package/dist/index.js +2263 -494
- package/dist/index.mjs +2255 -496
- package/package.json +15 -10
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EmbeddedProviderConfig,
|
|
2
|
-
export {
|
|
1
|
+
import { EmbeddedProviderConfig, EmbeddedProviderAuthType, ConnectResult as ConnectResult$1, WalletAddress, EmbeddedProviderEvent, EventCallback } from '@phantom/embedded-provider-core';
|
|
2
|
+
export { ConnectErrorEventData, ConnectEventData, ConnectStartEventData, DisconnectEventData, EmbeddedProviderEvent, EmbeddedProviderEventMap, EventCallback, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignedTransaction, WalletAddress } from '@phantom/embedded-provider-core';
|
|
3
3
|
import { ISolanaChain, IEthereumChain } from '@phantom/chain-interfaces';
|
|
4
4
|
export { EthTransactionRequest, IEthereumChain, ISolanaChain } from '@phantom/chain-interfaces';
|
|
5
5
|
import { AddressType } from '@phantom/client';
|
|
@@ -52,9 +52,6 @@ declare const DebugCategory: {
|
|
|
52
52
|
readonly SESSION: "Session";
|
|
53
53
|
};
|
|
54
54
|
|
|
55
|
-
/**
|
|
56
|
-
* Phantom extension app.login API types
|
|
57
|
-
*/
|
|
58
55
|
interface PhantomAppLoginOptions {
|
|
59
56
|
publicKey: string;
|
|
60
57
|
appId: string;
|
|
@@ -95,34 +92,37 @@ interface DebugConfig {
|
|
|
95
92
|
level?: DebugLevel;
|
|
96
93
|
callback?: DebugCallback;
|
|
97
94
|
}
|
|
98
|
-
type BrowserSDKConfig = Prettify<
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
type Prettify<T> = {
|
|
102
|
-
[K in keyof T]: T[K];
|
|
103
|
-
} & {};
|
|
104
|
-
interface ExtendedEmbeddedProviderConfig extends Omit<EmbeddedProviderConfig, "authOptions" | "apiBaseUrl" | "embeddedWalletType"> {
|
|
105
|
-
providerType: "embedded";
|
|
95
|
+
type BrowserSDKConfig = Prettify<Omit<EmbeddedProviderConfig, "authOptions" | "apiBaseUrl" | "embeddedWalletType" | "appId"> & InjectedProviderConfig & {
|
|
96
|
+
providers: AuthProviderType[];
|
|
97
|
+
appId?: string;
|
|
106
98
|
apiBaseUrl?: string;
|
|
107
99
|
embeddedWalletType?: "app-wallet" | "user-wallet";
|
|
108
100
|
authOptions?: {
|
|
109
101
|
authUrl?: string;
|
|
110
102
|
redirectUrl?: string;
|
|
111
103
|
};
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
104
|
+
}>;
|
|
105
|
+
type Prettify<T> = {
|
|
106
|
+
[K in keyof T]: T[K];
|
|
107
|
+
} & {};
|
|
108
|
+
type AuthProviderType = EmbeddedProviderAuthType | "injected";
|
|
109
|
+
type AuthOptions = {
|
|
110
|
+
provider: AuthProviderType;
|
|
111
|
+
walletId?: string;
|
|
112
|
+
customAuthData?: Record<string, any>;
|
|
113
|
+
};
|
|
114
|
+
type ConnectResult = Omit<ConnectResult$1, "authProvider"> & {
|
|
115
|
+
authProvider?: AuthProviderType | undefined;
|
|
116
|
+
walletId?: string | undefined;
|
|
117
|
+
};
|
|
119
118
|
|
|
120
119
|
interface Provider {
|
|
121
|
-
connect(authOptions
|
|
120
|
+
connect(authOptions: AuthOptions): Promise<ConnectResult>;
|
|
122
121
|
disconnect(): Promise<void>;
|
|
123
122
|
getAddresses(): WalletAddress[];
|
|
124
123
|
isConnected(): boolean;
|
|
125
124
|
autoConnect(): Promise<void>;
|
|
125
|
+
getEnabledAddressTypes(): AddressType[];
|
|
126
126
|
solana: ISolanaChain;
|
|
127
127
|
ethereum: IEthereumChain;
|
|
128
128
|
}
|
|
@@ -132,22 +132,30 @@ interface ProviderPreference {
|
|
|
132
132
|
embeddedWalletType?: "app-wallet" | "user-wallet";
|
|
133
133
|
}
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
135
|
+
type InjectedWalletId = string;
|
|
136
|
+
interface WalletProviders {
|
|
137
|
+
/** EIP-6963 Ethereum provider (window.ethereum-like) */
|
|
138
|
+
ethereum?: IEthereumChain;
|
|
139
|
+
/** Wallet Standard Solana wallet object */
|
|
140
|
+
solana?: ISolanaChain;
|
|
141
|
+
}
|
|
142
|
+
interface InjectedWalletInfo {
|
|
143
|
+
id: InjectedWalletId;
|
|
144
|
+
name: string;
|
|
145
|
+
icon?: string;
|
|
146
|
+
addressTypes: AddressType[];
|
|
147
|
+
providers?: WalletProviders;
|
|
148
|
+
/** Reverse DNS identifier from EIP-6963 (for potential future matching with Wallet Standard) */
|
|
149
|
+
rdns?: string;
|
|
150
|
+
}
|
|
151
|
+
|
|
148
152
|
declare class BrowserSDK {
|
|
149
153
|
private providerManager;
|
|
154
|
+
private walletRegistry;
|
|
155
|
+
private config;
|
|
156
|
+
isLoading: boolean;
|
|
150
157
|
constructor(config: BrowserSDKConfig);
|
|
158
|
+
discoverWallets(): Promise<void>;
|
|
151
159
|
/**
|
|
152
160
|
* Access Solana chain operations
|
|
153
161
|
*/
|
|
@@ -177,9 +185,12 @@ declare class BrowserSDK {
|
|
|
177
185
|
*/
|
|
178
186
|
getCurrentProviderInfo(): ProviderPreference | null;
|
|
179
187
|
/**
|
|
180
|
-
*
|
|
188
|
+
* Get enabled address types for the current provider
|
|
189
|
+
* - For embedded provider: returns config.addressTypes
|
|
190
|
+
* - For Phantom injected: returns config.addressTypes
|
|
191
|
+
* - For discovered wallets: returns the wallet's addressTypes from registry
|
|
181
192
|
*/
|
|
182
|
-
|
|
193
|
+
getEnabledAddressTypes(): AddressType[];
|
|
183
194
|
/**
|
|
184
195
|
* Add event listener for provider events (connect, connect_start, connect_error, disconnect, error)
|
|
185
196
|
* Works with both embedded and injected providers
|
|
@@ -196,29 +207,10 @@ declare class BrowserSDK {
|
|
|
196
207
|
* Tries embedded provider first, then injected provider as fallback
|
|
197
208
|
*/
|
|
198
209
|
autoConnect(): Promise<void>;
|
|
199
|
-
/**
|
|
200
|
-
* Debug configuration methods
|
|
201
|
-
* These allow dynamic debug configuration without SDK reinstantiation
|
|
202
|
-
*/
|
|
203
|
-
/**
|
|
204
|
-
* Enable debug logging
|
|
205
|
-
*/
|
|
206
210
|
enableDebug(): void;
|
|
207
|
-
/**
|
|
208
|
-
* Disable debug logging
|
|
209
|
-
*/
|
|
210
211
|
disableDebug(): void;
|
|
211
|
-
/**
|
|
212
|
-
* Set debug level
|
|
213
|
-
*/
|
|
214
212
|
setDebugLevel(level: DebugLevel): void;
|
|
215
|
-
/**
|
|
216
|
-
* Set debug callback function
|
|
217
|
-
*/
|
|
218
213
|
setDebugCallback(callback: DebugCallback): void;
|
|
219
|
-
/**
|
|
220
|
-
* Configure debug settings all at once
|
|
221
|
-
*/
|
|
222
214
|
configureDebug(config: {
|
|
223
215
|
enabled?: boolean;
|
|
224
216
|
level?: DebugLevel;
|
|
@@ -244,6 +236,7 @@ declare class BrowserSDK {
|
|
|
244
236
|
* Only available for injected providers
|
|
245
237
|
*/
|
|
246
238
|
getSupportedAutoConfirmChains(): Promise<AutoConfirmSupportedChainsResult>;
|
|
239
|
+
getDiscoveredWallets(): InjectedWalletInfo[];
|
|
247
240
|
}
|
|
248
241
|
|
|
249
242
|
/**
|
|
@@ -317,13 +310,8 @@ declare function waitForPhantomExtension(timeoutMs?: number): Promise<boolean>;
|
|
|
317
310
|
* Usage:
|
|
318
311
|
* ```typescript
|
|
319
312
|
* const isAvailable = await isPhantomLoginAvailable();
|
|
320
|
-
* if (isAvailable) {
|
|
321
|
-
* console.log("Phantom Login is available!");
|
|
322
|
-
* } else {
|
|
323
|
-
* console.log("Phantom Login is not available");
|
|
324
|
-
* }
|
|
325
313
|
* ```
|
|
326
314
|
*/
|
|
327
315
|
declare function isPhantomLoginAvailable(timeoutMs?: number): Promise<boolean>;
|
|
328
316
|
|
|
329
|
-
export { BrowserInfo, BrowserSDK, BrowserSDKConfig, DebugCallback, DebugCategory, DebugConfig, DebugLevel, DebugMessage, Provider, debug, detectBrowser, getBrowserDisplayName, getDeeplinkToPhantom, getPlatformName, isMobileDevice, isPhantomLoginAvailable, parseBrowserFromUserAgent, waitForPhantomExtension };
|
|
317
|
+
export { AuthOptions, AuthProviderType, BrowserInfo, BrowserSDK, BrowserSDKConfig, ConnectResult, DebugCallback, DebugCategory, DebugConfig, DebugLevel, DebugMessage, InjectedWalletId, InjectedWalletInfo, Provider, debug, detectBrowser, getBrowserDisplayName, getDeeplinkToPhantom, getPlatformName, isMobileDevice, isPhantomLoginAvailable, parseBrowserFromUserAgent, waitForPhantomExtension };
|