@phantom/embedded-provider-core 1.0.0-beta.21 → 1.0.0-beta.22

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 CHANGED
@@ -114,15 +114,15 @@ export class YourStorageAdapter implements EmbeddedStorage {
114
114
  Handles authentication flows:
115
115
 
116
116
  ```typescript
117
- import { AuthProvider, AuthResult, PhantomConnectOptions, JWTAuthOptions } from "@phantom/embedded-provider-core";
117
+ import { AuthProvider, AuthResult, PhantomConnectOptions } from "@phantom/embedded-provider-core";
118
118
 
119
119
  export class YourAuthProvider implements AuthProvider {
120
- async authenticate(options: PhantomConnectOptions | JWTAuthOptions): Promise<void | AuthResult> {
120
+ async authenticate(options: PhantomConnectOptions): Promise<void | AuthResult> {
121
121
  // Platform-specific authentication
122
122
  // Browser: window redirects, React Native: deep links
123
123
  }
124
124
 
125
- resumeAuthFromRedirect?(): AuthResult | null {
125
+ resumeAuthFromRedirect?(provider: EmbeddedProviderAuthType): AuthResult | null {
126
126
  // Resume authentication after redirect/deep link
127
127
  }
128
128
  }
package/dist/index.d.mts CHANGED
@@ -1,9 +1,56 @@
1
- import { StamperWithKeyManagement, Transaction, VersionedTransaction } from '@phantom/sdk-types';
2
- import { ClientSideSdkHeaders, NetworkId } from '@phantom/constants';
3
1
  import { AddressType } from '@phantom/client';
2
+ import { NetworkId, ClientSideSdkHeaders } from '@phantom/constants';
4
3
  import { ParsedSignatureResult, ParsedTransactionResult } from '@phantom/parsers';
4
+ import { StamperWithKeyManagement, Transaction, VersionedTransaction } from '@phantom/sdk-types';
5
5
  import { ISolanaChain, IEthereumChain, EthTransactionRequest } from '@phantom/chain-interfaces';
6
6
 
7
+ interface WalletAddress {
8
+ addressType: AddressType;
9
+ address: string;
10
+ }
11
+ interface ConnectResult {
12
+ walletId?: string;
13
+ addresses: WalletAddress[];
14
+ status?: "pending" | "completed";
15
+ authUserId?: string;
16
+ authProvider: EmbeddedProviderAuthType;
17
+ }
18
+ interface SignMessageParams {
19
+ message: string;
20
+ networkId: NetworkId;
21
+ }
22
+ interface SignTypedDataV4Params {
23
+ typedData: any;
24
+ networkId: NetworkId;
25
+ }
26
+ interface SignMessageResult extends ParsedSignatureResult {
27
+ }
28
+ interface SignTransactionParams {
29
+ transaction: any;
30
+ networkId: NetworkId;
31
+ }
32
+ interface SignAndSendTransactionParams {
33
+ transaction: any;
34
+ networkId: NetworkId;
35
+ }
36
+ interface SignedTransaction extends ParsedTransactionResult {
37
+ }
38
+ type EmbeddedProviderAuthType = "google" | "apple" | "phantom" | "tiktok" | "x" | "device";
39
+ interface AuthOptions {
40
+ provider: EmbeddedProviderAuthType;
41
+ customAuthData?: Record<string, any>;
42
+ }
43
+ interface EmbeddedProviderConfig {
44
+ apiBaseUrl: string;
45
+ appId: string;
46
+ authOptions: {
47
+ authUrl: string;
48
+ redirectUrl: string;
49
+ };
50
+ embeddedWalletType: "app-wallet" | "user-wallet" | (string & Record<never, never>);
51
+ addressTypes: AddressType[];
52
+ }
53
+
7
54
  interface Keypair {
8
55
  publicKey: string;
9
56
  secretKey: string;
@@ -21,7 +68,7 @@ interface Session {
21
68
  appId: string;
22
69
  stamperInfo: StamperInfo;
23
70
  keypair?: Keypair;
24
- authProvider?: string;
71
+ authProvider: EmbeddedProviderAuthType;
25
72
  status: "pending" | "completed" | "failed";
26
73
  createdAt: number;
27
74
  lastUsed: number;
@@ -62,7 +109,7 @@ interface URLParamsAccessor {
62
109
  interface AuthResult {
63
110
  walletId: string;
64
111
  organizationId: string;
65
- provider?: string;
112
+ provider: EmbeddedProviderAuthType;
66
113
  accountDerivationIndex: number;
67
114
  expiresInMs: number;
68
115
  authUserId?: string;
@@ -70,21 +117,16 @@ interface AuthResult {
70
117
  interface PhantomConnectOptions {
71
118
  publicKey: string;
72
119
  appId: string;
73
- provider?: "google" | "apple";
120
+ provider: EmbeddedProviderAuthType;
74
121
  redirectUrl?: string;
75
122
  authUrl?: string;
76
123
  sessionId: string;
77
124
  clearPreviousSession?: boolean;
78
125
  allowRefresh?: boolean;
79
126
  }
80
- interface JWTAuthOptions {
81
- appId: string;
82
- publicKey: string;
83
- jwtToken: string;
84
- }
85
127
  interface AuthProvider {
86
- authenticate(options: PhantomConnectOptions | JWTAuthOptions): Promise<void | AuthResult>;
87
- resumeAuthFromRedirect?(): AuthResult | null;
128
+ authenticate(options: PhantomConnectOptions): Promise<void | AuthResult>;
129
+ resumeAuthFromRedirect?(provider: EmbeddedProviderAuthType): AuthResult | null;
88
130
  }
89
131
  interface PhantomAppAuthOptions {
90
132
  publicKey: string;
@@ -112,53 +154,6 @@ interface DebugLogger {
112
154
  log(category: string, message: string, data?: any): void;
113
155
  }
114
156
 
115
- interface WalletAddress {
116
- addressType: AddressType;
117
- address: string;
118
- }
119
- interface ConnectResult {
120
- walletId?: string;
121
- addresses: WalletAddress[];
122
- status?: "pending" | "completed";
123
- providerType?: "embedded" | "injected";
124
- authUserId?: string;
125
- }
126
- interface SignMessageParams {
127
- message: string;
128
- networkId: NetworkId;
129
- }
130
- interface SignTypedDataV4Params {
131
- typedData: any;
132
- networkId: NetworkId;
133
- }
134
- interface SignMessageResult extends ParsedSignatureResult {
135
- }
136
- interface SignTransactionParams {
137
- transaction: any;
138
- networkId: NetworkId;
139
- }
140
- interface SignAndSendTransactionParams {
141
- transaction: any;
142
- networkId: NetworkId;
143
- }
144
- interface SignedTransaction extends ParsedTransactionResult {
145
- }
146
- interface AuthOptions {
147
- provider: "google" | "apple" | "jwt" | "phantom" | "injected";
148
- jwtToken?: string;
149
- customAuthData?: Record<string, any>;
150
- }
151
- interface EmbeddedProviderConfig {
152
- apiBaseUrl: string;
153
- appId: string;
154
- authOptions: {
155
- authUrl: string;
156
- redirectUrl: string;
157
- };
158
- embeddedWalletType: "app-wallet" | "user-wallet" | (string & Record<never, never>);
159
- addressTypes: AddressType[];
160
- }
161
-
162
157
  type EmbeddedProviderEvent = "connect" | "connect_start" | "connect_error" | "disconnect" | "error";
163
158
  interface ConnectEventData extends ConnectResult {
164
159
  source: "auto-connect" | "manual-connect" | "manual-existing" | "existing-session" | "manual";
@@ -196,7 +191,6 @@ declare class EmbeddedProvider {
196
191
  private client;
197
192
  private walletId;
198
193
  private addresses;
199
- private jwtAuth;
200
194
  readonly solana: ISolanaChain;
201
195
  readonly ethereum: IEthereumChain;
202
196
  private eventListeners;
@@ -226,7 +220,6 @@ declare class EmbeddedProvider {
226
220
  getAddresses(): WalletAddress[];
227
221
  isConnected(): boolean;
228
222
  private handleAuthFlow;
229
- private handleJWTAuth;
230
223
  private handlePhantomAuth;
231
224
  private handleRedirectAuth;
232
225
  private completeAuthConnection;
@@ -234,10 +227,6 @@ declare class EmbeddedProvider {
234
227
  private initializeClientFromSession;
235
228
  }
236
229
 
237
- declare class JWTAuth {
238
- authenticate(options: JWTAuthOptions): Promise<AuthResult>;
239
- }
240
-
241
230
  declare function generateSessionId(): string;
242
231
 
243
232
  declare function retryWithBackoff<T>(operation: () => Promise<T>, operationName: string, logger: DebugLogger, maxRetries?: number, baseDelay?: number): Promise<T>;
@@ -319,9 +308,6 @@ declare class EmbeddedEthereumChain implements IEthereumChain {
319
308
  off(event: string, listener: (...args: any[]) => void): void;
320
309
  }
321
310
 
322
- /**
323
- * Constants for authenticator lifecycle management
324
- */
325
311
  /**
326
312
  * How long an authenticator is valid before it expires (in milliseconds)
327
313
  * Default: 7 days
@@ -334,5 +320,6 @@ declare const AUTHENTICATOR_EXPIRATION_TIME_MS: number;
334
320
  * For testing: Use smaller values like 2 * 60 * 1000 (2 minutes)
335
321
  */
336
322
  declare const AUTHENTICATOR_RENEWAL_WINDOW_MS: number;
323
+ declare const EMBEDDED_PROVIDER_AUTH_TYPES: EmbeddedProviderAuthType[];
337
324
 
338
- export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectErrorEventData, ConnectEventData, ConnectResult, ConnectStartEventData, DebugLogger, DisconnectEventData, EmbeddedEthereumChain, EmbeddedProvider, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedProviderEventMap, EmbeddedSolanaChain, EmbeddedStorage, EventCallback, JWTAuth, JWTAuthOptions, Keypair, PhantomAppAuthOptions, PhantomAppProvider, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignTransactionParams, SignTypedDataV4Params, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
325
+ export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectErrorEventData, ConnectEventData, ConnectResult, ConnectStartEventData, DebugLogger, DisconnectEventData, EMBEDDED_PROVIDER_AUTH_TYPES, EmbeddedEthereumChain, EmbeddedProvider, EmbeddedProviderAuthType, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedProviderEventMap, EmbeddedSolanaChain, EmbeddedStorage, EventCallback, Keypair, PhantomAppAuthOptions, PhantomAppProvider, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignTransactionParams, SignTypedDataV4Params, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
package/dist/index.d.ts CHANGED
@@ -1,9 +1,56 @@
1
- import { StamperWithKeyManagement, Transaction, VersionedTransaction } from '@phantom/sdk-types';
2
- import { ClientSideSdkHeaders, NetworkId } from '@phantom/constants';
3
1
  import { AddressType } from '@phantom/client';
2
+ import { NetworkId, ClientSideSdkHeaders } from '@phantom/constants';
4
3
  import { ParsedSignatureResult, ParsedTransactionResult } from '@phantom/parsers';
4
+ import { StamperWithKeyManagement, Transaction, VersionedTransaction } from '@phantom/sdk-types';
5
5
  import { ISolanaChain, IEthereumChain, EthTransactionRequest } from '@phantom/chain-interfaces';
6
6
 
7
+ interface WalletAddress {
8
+ addressType: AddressType;
9
+ address: string;
10
+ }
11
+ interface ConnectResult {
12
+ walletId?: string;
13
+ addresses: WalletAddress[];
14
+ status?: "pending" | "completed";
15
+ authUserId?: string;
16
+ authProvider: EmbeddedProviderAuthType;
17
+ }
18
+ interface SignMessageParams {
19
+ message: string;
20
+ networkId: NetworkId;
21
+ }
22
+ interface SignTypedDataV4Params {
23
+ typedData: any;
24
+ networkId: NetworkId;
25
+ }
26
+ interface SignMessageResult extends ParsedSignatureResult {
27
+ }
28
+ interface SignTransactionParams {
29
+ transaction: any;
30
+ networkId: NetworkId;
31
+ }
32
+ interface SignAndSendTransactionParams {
33
+ transaction: any;
34
+ networkId: NetworkId;
35
+ }
36
+ interface SignedTransaction extends ParsedTransactionResult {
37
+ }
38
+ type EmbeddedProviderAuthType = "google" | "apple" | "phantom" | "tiktok" | "x" | "device";
39
+ interface AuthOptions {
40
+ provider: EmbeddedProviderAuthType;
41
+ customAuthData?: Record<string, any>;
42
+ }
43
+ interface EmbeddedProviderConfig {
44
+ apiBaseUrl: string;
45
+ appId: string;
46
+ authOptions: {
47
+ authUrl: string;
48
+ redirectUrl: string;
49
+ };
50
+ embeddedWalletType: "app-wallet" | "user-wallet" | (string & Record<never, never>);
51
+ addressTypes: AddressType[];
52
+ }
53
+
7
54
  interface Keypair {
8
55
  publicKey: string;
9
56
  secretKey: string;
@@ -21,7 +68,7 @@ interface Session {
21
68
  appId: string;
22
69
  stamperInfo: StamperInfo;
23
70
  keypair?: Keypair;
24
- authProvider?: string;
71
+ authProvider: EmbeddedProviderAuthType;
25
72
  status: "pending" | "completed" | "failed";
26
73
  createdAt: number;
27
74
  lastUsed: number;
@@ -62,7 +109,7 @@ interface URLParamsAccessor {
62
109
  interface AuthResult {
63
110
  walletId: string;
64
111
  organizationId: string;
65
- provider?: string;
112
+ provider: EmbeddedProviderAuthType;
66
113
  accountDerivationIndex: number;
67
114
  expiresInMs: number;
68
115
  authUserId?: string;
@@ -70,21 +117,16 @@ interface AuthResult {
70
117
  interface PhantomConnectOptions {
71
118
  publicKey: string;
72
119
  appId: string;
73
- provider?: "google" | "apple";
120
+ provider: EmbeddedProviderAuthType;
74
121
  redirectUrl?: string;
75
122
  authUrl?: string;
76
123
  sessionId: string;
77
124
  clearPreviousSession?: boolean;
78
125
  allowRefresh?: boolean;
79
126
  }
80
- interface JWTAuthOptions {
81
- appId: string;
82
- publicKey: string;
83
- jwtToken: string;
84
- }
85
127
  interface AuthProvider {
86
- authenticate(options: PhantomConnectOptions | JWTAuthOptions): Promise<void | AuthResult>;
87
- resumeAuthFromRedirect?(): AuthResult | null;
128
+ authenticate(options: PhantomConnectOptions): Promise<void | AuthResult>;
129
+ resumeAuthFromRedirect?(provider: EmbeddedProviderAuthType): AuthResult | null;
88
130
  }
89
131
  interface PhantomAppAuthOptions {
90
132
  publicKey: string;
@@ -112,53 +154,6 @@ interface DebugLogger {
112
154
  log(category: string, message: string, data?: any): void;
113
155
  }
114
156
 
115
- interface WalletAddress {
116
- addressType: AddressType;
117
- address: string;
118
- }
119
- interface ConnectResult {
120
- walletId?: string;
121
- addresses: WalletAddress[];
122
- status?: "pending" | "completed";
123
- providerType?: "embedded" | "injected";
124
- authUserId?: string;
125
- }
126
- interface SignMessageParams {
127
- message: string;
128
- networkId: NetworkId;
129
- }
130
- interface SignTypedDataV4Params {
131
- typedData: any;
132
- networkId: NetworkId;
133
- }
134
- interface SignMessageResult extends ParsedSignatureResult {
135
- }
136
- interface SignTransactionParams {
137
- transaction: any;
138
- networkId: NetworkId;
139
- }
140
- interface SignAndSendTransactionParams {
141
- transaction: any;
142
- networkId: NetworkId;
143
- }
144
- interface SignedTransaction extends ParsedTransactionResult {
145
- }
146
- interface AuthOptions {
147
- provider: "google" | "apple" | "jwt" | "phantom" | "injected";
148
- jwtToken?: string;
149
- customAuthData?: Record<string, any>;
150
- }
151
- interface EmbeddedProviderConfig {
152
- apiBaseUrl: string;
153
- appId: string;
154
- authOptions: {
155
- authUrl: string;
156
- redirectUrl: string;
157
- };
158
- embeddedWalletType: "app-wallet" | "user-wallet" | (string & Record<never, never>);
159
- addressTypes: AddressType[];
160
- }
161
-
162
157
  type EmbeddedProviderEvent = "connect" | "connect_start" | "connect_error" | "disconnect" | "error";
163
158
  interface ConnectEventData extends ConnectResult {
164
159
  source: "auto-connect" | "manual-connect" | "manual-existing" | "existing-session" | "manual";
@@ -196,7 +191,6 @@ declare class EmbeddedProvider {
196
191
  private client;
197
192
  private walletId;
198
193
  private addresses;
199
- private jwtAuth;
200
194
  readonly solana: ISolanaChain;
201
195
  readonly ethereum: IEthereumChain;
202
196
  private eventListeners;
@@ -226,7 +220,6 @@ declare class EmbeddedProvider {
226
220
  getAddresses(): WalletAddress[];
227
221
  isConnected(): boolean;
228
222
  private handleAuthFlow;
229
- private handleJWTAuth;
230
223
  private handlePhantomAuth;
231
224
  private handleRedirectAuth;
232
225
  private completeAuthConnection;
@@ -234,10 +227,6 @@ declare class EmbeddedProvider {
234
227
  private initializeClientFromSession;
235
228
  }
236
229
 
237
- declare class JWTAuth {
238
- authenticate(options: JWTAuthOptions): Promise<AuthResult>;
239
- }
240
-
241
230
  declare function generateSessionId(): string;
242
231
 
243
232
  declare function retryWithBackoff<T>(operation: () => Promise<T>, operationName: string, logger: DebugLogger, maxRetries?: number, baseDelay?: number): Promise<T>;
@@ -319,9 +308,6 @@ declare class EmbeddedEthereumChain implements IEthereumChain {
319
308
  off(event: string, listener: (...args: any[]) => void): void;
320
309
  }
321
310
 
322
- /**
323
- * Constants for authenticator lifecycle management
324
- */
325
311
  /**
326
312
  * How long an authenticator is valid before it expires (in milliseconds)
327
313
  * Default: 7 days
@@ -334,5 +320,6 @@ declare const AUTHENTICATOR_EXPIRATION_TIME_MS: number;
334
320
  * For testing: Use smaller values like 2 * 60 * 1000 (2 minutes)
335
321
  */
336
322
  declare const AUTHENTICATOR_RENEWAL_WINDOW_MS: number;
323
+ declare const EMBEDDED_PROVIDER_AUTH_TYPES: EmbeddedProviderAuthType[];
337
324
 
338
- export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectErrorEventData, ConnectEventData, ConnectResult, ConnectStartEventData, DebugLogger, DisconnectEventData, EmbeddedEthereumChain, EmbeddedProvider, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedProviderEventMap, EmbeddedSolanaChain, EmbeddedStorage, EventCallback, JWTAuth, JWTAuthOptions, Keypair, PhantomAppAuthOptions, PhantomAppProvider, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignTransactionParams, SignTypedDataV4Params, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };
325
+ export { AUTHENTICATOR_EXPIRATION_TIME_MS, AUTHENTICATOR_RENEWAL_WINDOW_MS, AuthOptions, AuthProvider, AuthResult, ConnectErrorEventData, ConnectEventData, ConnectResult, ConnectStartEventData, DebugLogger, DisconnectEventData, EMBEDDED_PROVIDER_AUTH_TYPES, EmbeddedEthereumChain, EmbeddedProvider, EmbeddedProviderAuthType, EmbeddedProviderConfig, EmbeddedProviderEvent, EmbeddedProviderEventMap, EmbeddedSolanaChain, EmbeddedStorage, EventCallback, Keypair, PhantomAppAuthOptions, PhantomAppProvider, PhantomConnectOptions, PlatformAdapter, Session, SignAndSendTransactionParams, SignMessageParams, SignMessageResult, SignTransactionParams, SignTypedDataV4Params, SignedTransaction, StamperInfo, URLParamsAccessor, WalletAddress, generateSessionId, retryWithBackoff };